Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell98 |
ACE.Types.Syntax
Description
Types for the syntax tree.
- data Specification = Specification !SentenceCoord !(Maybe Specification)
- data SentenceCoord = SentenceCoord !SentenceCoord_1 !(Maybe SentenceCoord)
- data SentenceCoord_1 = SentenceCoord_1 !SentenceCoord_2 !(Maybe SentenceCoord_1)
- data SentenceCoord_2 = SentenceCoord_2 !SentenceCoord_3 !(Maybe SentenceCoord_2)
- data SentenceCoord_3 = SentenceCoord_3 !TopicalizedSentence !(Maybe SentenceCoord_3)
- data TopicalizedSentence
- data UniversalTopic = UniversalTopic !UniversalGlobalQuantor !N'
- data CompositeSentence
- data ConditionalSentence = ConditionalSentence !SentenceCoord !SentenceCoord
- data NegatedSentence = NegatedSentence !SentenceCoord
- data Sentence = Sentence !NPCoord !VPCoord
- data ExistentialTopic = ExistentialTopic !ExistentialGlobalQuantor !NPCoord
- data NPCoord
- data UnmarkedNPCoord = UnmarkedNPCoord !NP !(Maybe UnmarkedNPCoord)
- data N' = N' !(Maybe AdjectiveCoord) !N !(Maybe ApposCoord) !(Maybe NPCoord) !(Maybe RelativeClauseCoord)
- data NP
- data N = N !Text
- data PP = PP !Preposition !NPCoord
- data Preposition = Preposition !Text
- data ApposCoord = ApposCoord !Apposition !(Maybe ApposCoord)
- data Apposition
- data Quotation = Quotation !Text
- data Variable = Variable !Text
- data RelativeClauseCoord = RelativeClauseCoord !RelativeClause !(Maybe (Coord, RelativeClauseCoord))
- data PossessiveNPCoord
- data GenitiveNPCoord
- data ProperName = ProperName !Text
- data PossessivePronounCoord = PossessivePronounCoord !PossessivePronoun !(Maybe PossessivePronounCoord)
- data GenitiveTail
- data GenitiveCoordTail = GenitiveCoordTail !GenitiveNPCoord
- data SaxonGenitiveTail = SaxonGenitiveTail !SaxonGenitiveMarker !(Maybe (GenitiveN', SaxonGenitiveTail))
- data RelativeClause
- data VPCoord
- data GenitiveSpecifier
- data GenitiveN' = GenitiveN' !(Maybe AdjectiveCoord) !N !(Maybe ApposCoord)
- data VP
- data V' = V' !(Maybe AdverbCoord) !ComplV ![VModifier]
- data AdverbCoord = AdverbCoord !Adverb !(Maybe AdverbCoord)
- data ComplV
- = ComplVIV !IntransitiveV
- | ComplVPI !PhrasalIntransitiveV !PhrasalParticle
- | ComplVTV !TransitiveV !Compl
- | ComplVPV !PhrasalTransitiveV !PhrasalParticle !Compl
- | ComplVPV' !PhrasalTransitiveV !Compl !PhrasalParticle
- | ComplVDisV !DistransitiveV !Compl !Compl
- | ComplVPDV !PhrasalDistransitiveV !Compl !PhrasalParticle !Compl
- | ComplVCopula !Copula !CopulaCompl
- data PhrasalTransitiveV = PhrasalTransitiveV !Text
- data PhrasalDistransitiveV = PhrasalDistransitiveV !Text
- data CopulaCompl
- data APCoord
- = APCoordAnd !APgrad !APCoord
- | APCoord !APgrad
- data APgrad
- = APgradAPThan !AP !NPCoord
- | APgradAP !AP
- data AP
- data TransitiveAdjective = TransitiveAdjective !Text
- data Compl
- data PhrasalIntransitiveV = PhrasalIntransitiveV !Text
- data PhrasalParticle = PhrasalParticle !Text
- data IntransitiveV = IntransitiveV !Text
- data TransitiveV = TransitiveV !Text
- data DistransitiveV = DistransitiveV !Text
- data IntransitiveAdjective = IntransitiveAdjective !Text
- data VModifier
- data AdverbialPP = AdverbialPP !Preposition !AdverbCoord
- data Adverb = Adverb !Text
- data Specifier
- data AdjectiveCoord = AdjectiveCoord !IntransitiveAdjective !(Maybe AdjectiveCoord)
- data NumberP = NumberP !(Maybe GeneralizedQuantor) !Integer
- data ExistentialGlobalQuantor = ExistentialGlobalQuantor !Copula
- data ExistentialGlobalQuestionQuantor = ExistentialGlobalQuestionQuantor !Copula
- data Aux
- data Coord
- data Copula
- data Determiner
- data DistributiveGlobalQuantor = ForEachOf
- data DistributiveMarker = EachOf
- data GeneralizedQuantor
- data PossessivePronoun
- data Pronoun
- = It
- | He
- | She
- | HeShe
- | Him
- | HerP
- | HimHer
- | They
- | Them
- | Itself
- | Himself
- | Herself
- | HimselfHerself
- | Themselves
- | Someone
- | Somebody
- | Something
- | NoOne
- | Nobody
- | NoThing
- | Everyone
- | Everybody
- | Everything
- | NotEveryone
- | NotEverybody
- | NotEverything
- | What
- | Who
- | Whom
- | WhichP
- data SaxonGenitiveMarker
- data UniversalGlobalQuantor
Documentation
data Specification Source
Specifications consist of a sentence coordination followed by a period and optionally one ore more subsequent specifications.
Constructors
Specification !SentenceCoord !(Maybe Specification) |
data SentenceCoord Source
Sentences can be coordinated by and
and or
. And
refers to the
logical conjunction, while or
de-notes the logical disjunction. The
logical conjunction has a higher precedence than the disjunction.
Both connectors are right-associative. The expression
A or B and C or D
is therefore ordered like
A ∨ ((B ∧ C) ∨ D)
To enable more combinations, we have introduced comma-and and comma-or. These expressions reverse the order of precedence. To achieve the order
A ∨ (B ∧ (C ∨ D))
we can write
A, or B, and C or D
A sentence coordination in general consists of a sentence coordination of a lower level (thus ensuring right-associativity) optionally followed by the respective connector and a sentence coordination of the same level.
Constructors
SentenceCoord !SentenceCoord_1 !(Maybe SentenceCoord) |
data SentenceCoord_1 Source
Constructors
SentenceCoord_1 !SentenceCoord_2 !(Maybe SentenceCoord_1) |
data SentenceCoord_2 Source
Constructors
SentenceCoord_2 !SentenceCoord_3 !(Maybe SentenceCoord_2) |
data SentenceCoord_3 Source
Constructors
SentenceCoord_3 !TopicalizedSentence !(Maybe SentenceCoord_3) |
data TopicalizedSentence Source
A topicalized sentence can start with an existential topic or a universal topic. It needs, however, not be topicalized at all but can just be an ordinary composite sentence.
Constructors
TopicalizedSentenceExistential !ExistentialTopic !(Maybe SentenceCoord) | Example: "There is a card such that the code of the card is valid." |
TopicalizedSentenceUniversal !UniversalTopic !SentenceCoord | Example: "For every code there is a card such that the code belongs to it." |
TopicalizedSentenceComposite !CompositeSentence | Example: "Homer is a man." |
data UniversalTopic Source
Constructors
UniversalTopic !UniversalGlobalQuantor !N' |
data CompositeSentence Source
data ConditionalSentence Source
Constructors
ConditionalSentence !SentenceCoord !SentenceCoord |
data NegatedSentence Source
Constructors
NegatedSentence !SentenceCoord |
data ExistentialTopic Source
Constructors
ExistentialTopic !ExistentialGlobalQuantor !NPCoord |
data UnmarkedNPCoord Source
Constructors
UnmarkedNPCoord !NP !(Maybe UnmarkedNPCoord) |
Modified noun.
Constructors
N' !(Maybe AdjectiveCoord) !N !(Maybe ApposCoord) !(Maybe NPCoord) !(Maybe RelativeClauseCoord) |
Noun-phrase.
data RelativeClauseCoord Source
Constructors
RelativeClauseCoord !RelativeClause !(Maybe (Coord, RelativeClauseCoord)) |
data PossessiveNPCoord Source
data GenitiveNPCoord Source
data PossessivePronounCoord Source
Constructors
PossessivePronounCoord !PossessivePronoun !(Maybe PossessivePronounCoord) |
data GenitiveTail Source
data GenitiveCoordTail Source
Constructors
GenitiveCoordTail !GenitiveNPCoord |
data SaxonGenitiveTail Source
Constructors
SaxonGenitiveTail !SaxonGenitiveMarker !(Maybe (GenitiveN', SaxonGenitiveTail)) |
data RelativeClause Source
data GenitiveSpecifier Source
data GenitiveN' Source
Constructors
GenitiveN' !(Maybe AdjectiveCoord) !N !(Maybe ApposCoord) |
Instances
Constructors
V' !(Maybe AdverbCoord) !ComplV ![VModifier] |
Constructors
data PhrasalTransitiveV Source
Constructors
PhrasalTransitiveV !Text |
data PhrasalDistransitiveV Source
Constructors
PhrasalDistransitiveV !Text |
data CopulaCompl Source
Constructors
CopulaComplAPC !APCoord | |
CopulaComplNPC !NPCoord | |
CopulaComplPP !PP |
Instances
Constructors
APCoordAnd !APgrad !APCoord | |
APCoord !APgrad |
Constructors
APgradAPThan !AP !NPCoord | |
APgradAP !AP |
Constructors
APIntrans !IntransitiveAdjective | |
APTrans !TransitiveAdjective !PP |
data TransitiveAdjective Source
Constructors
TransitiveAdjective !Text |
data PhrasalIntransitiveV Source
Constructors
PhrasalIntransitiveV !Text |
data PhrasalParticle Source
Constructors
PhrasalParticle !Text |
data IntransitiveV Source
Constructors
IntransitiveV !Text |
data DistransitiveV Source
Constructors
DistransitiveV !Text |
data IntransitiveAdjective Source
Constructors
IntransitiveAdjective !Text |
Constructors
VModifierVC !AdverbCoord | |
VModifierPP !PP | |
VModifierAVPP !AdverbialPP |
data AdjectiveCoord Source
Constructors
AdjectiveCoord !IntransitiveAdjective !(Maybe AdjectiveCoord) |
Constructors
NumberP !(Maybe GeneralizedQuantor) !Integer |
data ExistentialGlobalQuantor Source
Constructors
ExistentialGlobalQuantor !Copula |
data ExistentialGlobalQuestionQuantor Source
Constructors
ExistentialGlobalQuestionQuantor !Copula |
data Determiner Source
Constructors
The | "the" |
A | "a" |
An | "an" |
Some | "some" |
No | "no" |
EveryEach | "every" / "each" |
All | "all" |
NotEvery | "not every" |
NotEach | "not each" |
NotAll | "not all" |
Which | "which" |
Instances
data DistributiveGlobalQuantor Source
Constructors
ForEachOf | "for each of" |
data DistributiveMarker Source
Constructors
EachOf | "each of" |
data GeneralizedQuantor Source
Constructors
AtMost | "at most" |
AtLeast | "at least" |
MoreThan | "more than" |
LessThan | "less than" |
NotMoreThan | "not more than" |
NotLessThan | "not less than" |
data PossessivePronoun Source
data SaxonGenitiveMarker Source
The Saxon genitive used for possession.
Constructors
Apostrophe | "'" |
ApostropheS | "'s" |