Safe Haskell | None |
---|
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 = NP !Specifier !N'
- 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
- = AtMost
- | AtLeast
- | MoreThan
- | LessThan
- | NotMoreThan
- | NotLessThan
- data PossessivePronoun
- data Pronoun
- = It
- | HeShe
- | Himher
- | They
- | Them
- | Itself
- | HimHerSelf
- | Themselves
- | SomeoneSomebody
- | Something
- | NoOneNobody
- | NoThing
- | EveryoneEverybody
- | Everything
- | NotEveryoneEverybody
- | NotEverything
- | WhatWho
- | Whom
- | WhichWho
- 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.
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.
data SentenceCoord_1 Source
data SentenceCoord_2 Source
data SentenceCoord_3 Source
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.
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
data CompositeSentence Source
data NegatedSentence Source
data ExistentialTopic Source
data UnmarkedNPCoord Source
Modified noun.
N' !(Maybe AdjectiveCoord) !N !(Maybe ApposCoord) !(Maybe NPCoord) !(Maybe RelativeClauseCoord) |
data ApposCoord Source
data Apposition Source
data PossessiveNPCoord Source
data GenitiveNPCoord Source
data GenitiveTail Source
data GenitiveCoordTail Source
data SaxonGenitiveTail Source
data RelativeClause Source
data GenitiveSpecifier Source
data GenitiveN' Source
GenitiveN' !(Maybe AdjectiveCoord) !N !(Maybe ApposCoord) |
data AdverbCoord Source
data PhrasalTransitiveV Source
data CopulaCompl Source
data PhrasalParticle Source
data IntransitiveV Source
data DistransitiveV Source
data AdverbialPP Source
data AdjectiveCoord Source
data Determiner Source
data DistributiveGlobalQuantor Source
ForEachOf | "for each of" |
data DistributiveMarker Source
EachOf | "each of" |
data GeneralizedQuantor Source
AtMost | "at most" |
AtLeast | "at least" |
MoreThan | "more than" |
LessThan | "less than" |
NotMoreThan | "not more than" |
NotLessThan | "not less than" |
data PossessivePronoun Source
It | "it" |
HeShe | "he" / "she" |
Himher | "him" / "her" |
They | "they" |
Them | "them" |
Itself | "itself" |
HimHerSelf | "himself" / "herself" |
Themselves | "themselves" |
SomeoneSomebody | "someone" / "somebody" |
Something | "something" |
NoOneNobody | "no one" / "nobody" |
NoThing | "nothing" |
EveryoneEverybody | "everyone" / "everybody" |
Everything | "everything" |
NotEveryoneEverybody | "not everyone" / "not everybody" |
NotEverything | "not everything" |
WhatWho | "what" / "who" |
Whom | "whom" |
WhichWho | "which" / "who" |
data SaxonGenitiveMarker Source
The Saxon genitive used for possession.
Apostrophe | "'" |
ApostropheS | "'s" |