Files
gf-core/examples/extmini/Grammar.gf

106 lines
3.2 KiB
Plaintext

abstract Grammar = {
flags startcat = Utt ;
-- the "mini" resource of GF book, chapter 9
cat
S ; -- sentence
Cl ; -- clause
NP ; -- noun phrase
VP ; -- verb phrase
AP ; -- adjectival phrase
CN ; -- common noun
Det ; -- determiner
N ; -- noun
A ; -- adjective
V ; -- verb (one-place, intransitive)
V2 ; -- two-place verb (two-place, transitive or prepositional)
AdA ; -- ad-adjective
Tense ; -- tense
Pol ; -- polarity
Conj ; -- conjunction
fun
UseCl : Tense -> Pol -> Cl -> S ;
PredVP : NP -> VP -> Cl ;
ComplV2 : V2 -> NP -> VP ;
DetCN : Det -> CN -> NP ;
ModCN : AP -> CN -> CN ;
CompAP : AP -> VP ;
AdAP : AdA -> AP -> AP ;
ConjS : Conj -> S -> S -> S ;
ConjAP : Conj -> AP -> AP -> AP ;
ConjNP : Conj -> NP -> NP -> NP ;
UseV : V -> VP ;
UseN : N -> CN ;
UseA : A -> AP ;
a_Det, the_Det, every_Det : Det ;
this_Det, these_Det : Det ;
that_Det, those_Det : Det ;
i_NP, youSg_NP, he_NP, she_NP, we_NP, youPl_NP, they_NP : NP ;
very_AdA : AdA ;
Pos, Neg : Pol ;
Pres, Past, Perf, Fut : Tense ;
and_Conj, or_Conj : Conj ;
-- extension of the mini grammar
cat
Utt ; -- utterance (sentence or question) e.g. "does she walk"
QS ; -- question (fixed tense) e.g. "who doesn't walk"
QCl ; -- question clause (variable tense) e.g. "who walks"
ClSlash ; -- clause missing noun phrase e.g. "she walks with"
Adv ; -- adverb e.g. "here"
Prep ; -- preposition (and/or case) e.g. "with"
VS ; -- sentence-complement verb e.g. "know"
VQ ; -- question-complement verb e.g. "wonder"
VV ; -- verb-phrase-complement verb e.g. "want"
IP ; -- interrogative pronoun e.g. "who"
PN ; -- proper name e.g. "John"
Subj ; -- subjunction e.g. "because"
IAdv ; -- interrogative adverb e.g. "why"
fun
UttS : S -> Utt ;
UttQS : QS -> Utt ;
UseQCl : Tense -> Pol -> QCl -> QS ;
QuestCl : Cl -> QCl ; -- does she walk
QuestVP : IP -> VP -> QCl ; -- who walks
QuestSlash : IP -> ClSlash -> QCl ; -- who does she walk with
QuestIAdv : IAdv -> Cl -> QCl ; -- why does she walk
SubjCl : Cl -> Subj -> S -> Cl ; -- she walks because we run
CompAdv : Adv -> VP ; -- be here
PrepNP : Prep -> NP -> Adv ; -- in the house
ComplVS : VS -> S -> VP ; -- know that she walks
ComplVQ : VQ -> QS -> VP ; -- wonder who walks
ComplVV : VV -> VP -> VP ; -- want to walk
SlashV2 : NP -> V2 -> ClSlash ; -- she loves
SlashPrep : Cl -> Prep -> ClSlash ; -- she walks with
AdvVP : VP -> Adv -> VP ; -- walk in the city
UsePN : PN -> NP ; -- John
AdvNP : NP -> Adv -> NP ; -- the man in the city
who_IP : IP ;
here_Adv : Adv ;
by_Prep, in_Prep, of_Prep, with_Prep : Prep ;
can_VV, must_VV, want_VV : VV ;
although_Subj, because_Subj, when_Subj : Subj ;
when_IAdv, where_IAdv, why_IAdv : IAdv ;
}