From 29302378c6d7c0b22ff5aac554c6bd1bc13bd77b Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 23 Apr 2008 20:07:13 +0000 Subject: [PATCH] test set for resource started --- lib/resource/english/IdiomEng.gf | 2 +- lib/resource/exper/abstract/Adjective.gf | 14 +- lib/resource/exper/abstract/Adverb.gf | 11 +- lib/resource/exper/abstract/Backward.gf | 7 + lib/resource/exper/abstract/Cat.gf | 3 +- lib/resource/exper/abstract/Conjunction.gf | 16 +-- lib/resource/exper/abstract/Idiom.gf | 6 +- lib/resource/exper/abstract/Noun.gf | 27 ++-- lib/resource/exper/abstract/Phrase.gf | 8 +- lib/resource/exper/abstract/Question.gf | 36 +++-- lib/resource/exper/abstract/Structural.gf | 3 +- lib/resource/exper/english/AdverbEng.gf | 2 +- lib/resource/exper/english/CatEng.gf | 1 + lib/resource/exper/english/IdiomEng.gf | 2 +- lib/resource/exper/english/LexiconEng.gf | 2 +- lib/resource/exper/english/NounEng.gf | 14 +- lib/resource/exper/english/QuestionEng.gf | 17 ++- lib/resource/exper/english/StructuralEng.gf | 5 +- lib/resource/exper/restest.gfs | 146 ++++++++++++++++++++ 19 files changed, 256 insertions(+), 66 deletions(-) create mode 100644 lib/resource/exper/restest.gfs diff --git a/lib/resource/english/IdiomEng.gf b/lib/resource/english/IdiomEng.gf index 35ef4ba46..c974e9115 100644 --- a/lib/resource/english/IdiomEng.gf +++ b/lib/resource/english/IdiomEng.gf @@ -11,7 +11,7 @@ concrete IdiomEng of Idiom = CatEng ** open Prelude, ResEng in { (insertObj (\\_ => np.s ! rs.c) (predAux auxBe))) ; CleftAdv ad s = mkClause "it" (agrP3 Sg) - (insertObj (\\_ => conjThat ++ s.s) + (insertObj (\\_ => strOpt conjThat ++ s.s) (insertObj (\\_ => ad.s) (predAux auxBe))) ; ExistNP np = diff --git a/lib/resource/exper/abstract/Adjective.gf b/lib/resource/exper/abstract/Adjective.gf index ad4d6801d..4255b7eee 100644 --- a/lib/resource/exper/abstract/Adjective.gf +++ b/lib/resource/exper/abstract/Adjective.gf @@ -10,21 +10,21 @@ abstract Adjective = Cat ** { -- (The superlative use is covered in [Noun Noun.html].$SuperlA$.) PositA : A -> AP ; -- warm - ComparA : A -> NP -> AP ; -- warmer than Spain - ComplA2 : A2 -> NP -> AP ; -- divisible by 2 - ReflA2 : A2 -> AP ; -- divisible by itself - UseA2 : A2 -> A ; -- divisible + ComparA : A -> NP -> AP ; -- warmer than I + ComplA2 : A2 -> NP -> AP ; -- married to her + ReflA2 : A2 -> AP ; -- married to itself + UseA2 : A2 -> A ; -- married -- Sentence and question complements defined for all adjectival -- phrases, although the semantics is only clear for some adjectives. - SentAP : AP -> SC -> AP ; -- great that she won, uncertain if she did + SentAP : AP -> SC -> AP ; -- good that she is here -- An adjectival phrase can be modified by an *adadjective*, such as "very". - AdAP : AdA -> AP -> AP ; -- very uncertain + AdAP : AdA -> AP -> AP ; -- very warm -- The formation of adverbs from adjective (e.g. "quickly") is covered --- by [Adverb Adverb.html]. +-- in [Adverb Adverb.html]. } diff --git a/lib/resource/exper/abstract/Adverb.gf b/lib/resource/exper/abstract/Adverb.gf index 1266cda22..3199d6888 100644 --- a/lib/resource/exper/abstract/Adverb.gf +++ b/lib/resource/exper/abstract/Adverb.gf @@ -7,14 +7,14 @@ abstract Adverb = Cat ** { -- The two main ways of forming adverbs are from adjectives and by -- prepositions from noun phrases. - PositAdvAdj : A -> Adv ; -- quickly + PositAdvAdj : A -> Adv ; -- warmly PrepNP : Prep -> NP -> Adv ; -- in the house -- Comparative adverbs have a noun phrase or a sentence as object of -- comparison. - ComparAdvAdj : CAdv -> A -> NP -> Adv ; -- more quickly than John - ComparAdvAdjS : CAdv -> A -> S -> Adv ; -- more quickly than he runs + ComparAdvAdj : CAdv -> A -> NP -> Adv ; -- more warmly than John + ComparAdvAdjS : CAdv -> A -> S -> Adv ; -- more warmly than he runs -- Adverbs can be modified by 'adadjectives', just like adjectives. @@ -22,12 +22,11 @@ abstract Adverb = Cat ** { -- Subordinate clauses can function as adverbs. - SubjS : Subj -> S -> Adv ; -- when he arrives - AdvSC : SC -> Adv ; -- that he arrives ---- REMOVE? + SubjS : Subj -> S -> Adv ; -- when she sleeps -- Comparison adverbs also work as numeral adverbs. - AdnCAdv : CAdv -> AdN ; -- more (than five) + AdnCAdv : CAdv -> AdN ; -- less (than five) } diff --git a/lib/resource/exper/abstract/Backward.gf b/lib/resource/exper/abstract/Backward.gf index 6223e42c1..926d9e042 100644 --- a/lib/resource/exper/abstract/Backward.gf +++ b/lib/resource/exper/abstract/Backward.gf @@ -49,4 +49,11 @@ fun this_NP : NP ; those_NP : NP ; + whichPl_IDet : IDet ; + whichSg_IDet : IDet ; + +-- from Adverb + + AdvSC : SC -> Adv ; -- that he arrives ---- REMOVE? + } diff --git a/lib/resource/exper/abstract/Cat.gf b/lib/resource/exper/abstract/Cat.gf index a596c318f..6127742f7 100644 --- a/lib/resource/exper/abstract/Cat.gf +++ b/lib/resource/exper/abstract/Cat.gf @@ -42,7 +42,8 @@ abstract Cat = Common ** { QCl ; -- question clause, with all tenses e.g. "why does she walk" IP ; -- interrogative pronoun e.g. "who" IComp ; -- interrogative complement of copula e.g. "where" - IDet ; -- interrogative determiner e.g. "which" + IDet ; -- interrogative determiner e.g. "how many" + IQuant; -- interrogative quantifier e.g. "which" --2 Relative clauses and pronouns diff --git a/lib/resource/exper/abstract/Conjunction.gf b/lib/resource/exper/abstract/Conjunction.gf index c08a520ed..4cb770810 100644 --- a/lib/resource/exper/abstract/Conjunction.gf +++ b/lib/resource/exper/abstract/Conjunction.gf @@ -17,15 +17,15 @@ abstract Conjunction = Cat ** { --2 Rules fun - ConjS : Conj -> [S] -> S ; -- "John walks and Mary runs" - ConjAP : Conj -> [AP] -> AP ; -- "even and prime" - ConjNP : Conj -> [NP] -> NP ; -- "John or Mary" - ConjAdv : Conj -> [Adv] -> Adv ; -- "quickly or slowly" + ConjS : Conj -> [S] -> S ; -- "he walks and she runs" + ConjAP : Conj -> [AP] -> AP ; -- "cold and warm" + ConjNP : Conj -> [NP] -> NP ; -- "she or we" + ConjAdv : Conj -> [Adv] -> Adv ; -- "here or there" - DConjS : DConj -> [S] -> S ; -- "either John walks or Mary runs" - DConjAP : DConj -> [AP] -> AP ; -- "both even and prime" - DConjNP : DConj -> [NP] -> NP ; -- "either John or Mary" - DConjAdv : DConj -> [Adv] -> Adv; -- "both badly and slowly" + DConjS : DConj -> [S] -> S ; -- "either he walks or she runs" + DConjAP : DConj -> [AP] -> AP ; -- "both warm and cold" + DConjNP : DConj -> [NP] -> NP ; -- "either he or she" + DConjAdv : DConj -> [Adv] -> Adv; -- "both here and there" --2 Categories diff --git a/lib/resource/exper/abstract/Idiom.gf b/lib/resource/exper/abstract/Idiom.gf index 8a8168b5a..6b012becc 100644 --- a/lib/resource/exper/abstract/Idiom.gf +++ b/lib/resource/exper/abstract/Idiom.gf @@ -6,11 +6,11 @@ abstract Idiom = Cat ** { -- often different even in closely related languages. fun - ImpersCl : VP -> Cl ; -- it rains + ImpersCl : VP -> Cl ; -- it is hot GenericCl : VP -> Cl ; -- one sleeps - CleftNP : NP -> RS -> Cl ; -- it is you who did it - CleftAdv : Adv -> S -> Cl ; -- it is yesterday she arrived + CleftNP : NP -> RS -> Cl ; -- it is I who did it + CleftAdv : Adv -> S -> Cl ; -- it is here she slept ExistNP : NP -> Cl ; -- there is a house ExistIP : IP -> QCl ; -- which houses are there diff --git a/lib/resource/exper/abstract/Noun.gf b/lib/resource/exper/abstract/Noun.gf index 128174b39..4887dd869 100644 --- a/lib/resource/exper/abstract/Noun.gf +++ b/lib/resource/exper/abstract/Noun.gf @@ -25,9 +25,9 @@ abstract Noun = Cat ** { -- A noun phrase can also be postmodified by the past participle of a -- verb, by an adverb, or by a relative clause - PPartNP : NP -> V2 -> NP ; -- the number squared - AdvNP : NP -> Adv -> NP ; -- Paris at midnight - RelNP : NP -> RS -> NP ; -- Paris, which is in Europe + PPartNP : NP -> V2 -> NP ; -- the man seen + AdvNP : NP -> Adv -> NP ; -- Paris today + RelNP : NP -> RS -> NP ; -- Paris, which is here -- Determiners can form noun phrases directly. @@ -40,8 +40,8 @@ abstract Noun = Cat ** { -- quantifier and two optional parts can be discerned: a cardinal and -- an ordinal numeral. - DetQuantOrd : Quant -> Num -> Ord -> Det ; -- these five best men - DetQuant : Quant -> Num -> Det ; -- these five best men + DetQuantOrd : Quant -> Num -> Ord -> Det ; -- these five best + DetQuant : Quant -> Num -> Det ; -- these five -- Whether the resulting determiner is singular or plural depends on the -- cardinal. @@ -70,7 +70,7 @@ abstract Noun = Cat ** { OrdDigits : Digits -> Ord ; -- 51st OrdNumeral : Numeral -> Ord ; -- fifty-first - OrdSuperl : A -> Ord ; -- largest + OrdSuperl : A -> Ord ; -- warmest -- Definite and indefinite noun phrases are sometimes realized as -- neatly distinct words (Spanish "un, unos ; el, los") but also without @@ -111,33 +111,34 @@ abstract Noun = Cat ** { -- Relational nouns take one or two arguments. - ComplN2 : N2 -> NP -> CN ; -- son of the king - ComplN3 : N3 -> NP -> N2 ; -- flight from Moscow (to Paris) + ComplN2 : N2 -> NP -> CN ; -- mother of the king + ComplN3 : N3 -> NP -> N2 ; -- distance from this city (to Paris) -- Relational nouns can also be used without their arguments. -- The semantics is typically derivative of the relational meaning. - UseN2 : N2 -> CN ; -- son - UseN3 : N3 -> CN ; -- flight + UseN2 : N2 -> CN ; -- mother + Use2N3 : N3 -> N2 ; -- distance (from this city) + Use3N3 : N3 -> N2 ; -- distance (to Paris) -- Nouns can be modified by adjectives, relative clauses, and adverbs -- (the last rule will give rise to many 'PP attachment' ambiguities -- when used in connection with verb phrases). AdjCN : AP -> CN -> CN ; -- big house - RelCN : CN -> RS -> CN ; -- house that John owns + RelCN : CN -> RS -> CN ; -- house that John bought AdvCN : CN -> Adv -> CN ; -- house on the hill -- Nouns can also be modified by embedded sentences and questions. -- For some nouns this makes little sense, but we leave this for applications -- to decide. Sentential complements are defined in [Verb Verb.html]. - SentCN : CN -> SC -> CN ; -- fact that John smokes, question if he does + SentCN : CN -> SC -> CN ; -- question where she sleeps --2 Apposition -- This is certainly overgenerating. - ApposCN : CN -> NP -> CN ; -- number x, numbers x and y + ApposCN : CN -> NP -> CN ; -- city Paris (, numbers x and y) } ; diff --git a/lib/resource/exper/abstract/Phrase.gf b/lib/resource/exper/abstract/Phrase.gf index d080e78bf..3606c2d76 100644 --- a/lib/resource/exper/abstract/Phrase.gf +++ b/lib/resource/exper/abstract/Phrase.gf @@ -7,15 +7,15 @@ abstract Phrase = Cat ** { -- and suffixing with a vocative (typically a noun phrase). fun - PhrUtt : PConj -> Utt -> Voc -> Phr ; -- But go home my friend. + PhrUtt : PConj -> Utt -> Voc -> Phr ; -- but come here, my friend -- Utterances are formed from sentences, questions, and imperatives. UttS : S -> Utt ; -- John walks UttQS : QS -> Utt ; -- is it good - UttImpSg : Pol -> Imp -> Utt; -- (don't) help yourself - UttImpPl : Pol -> Imp -> Utt; -- (don't) help yourselves - UttImpPol : Pol -> Imp -> Utt ; -- (don't) help (polite) + UttImpSg : Pol -> Imp -> Utt; -- (don't) love yourself + UttImpPl : Pol -> Imp -> Utt; -- (don't) love yourselves + UttImpPol : Pol -> Imp -> Utt ; -- (don't) sleep (polite) -- There are also 'one-word utterances'. A typical use of them is -- as answers to questions. diff --git a/lib/resource/exper/abstract/Question.gf b/lib/resource/exper/abstract/Question.gf index d389780c3..6b2e3c01d 100644 --- a/lib/resource/exper/abstract/Question.gf +++ b/lib/resource/exper/abstract/Question.gf @@ -6,24 +6,36 @@ abstract Question = Cat ** { -- with an interrogative. fun - QuestCl : Cl -> QCl ; -- does John walk - QuestVP : IP -> VP -> QCl ; -- who walks - QuestSlash : IP -> ClSlash -> QCl ; -- who does John love - QuestIAdv : IAdv -> Cl -> QCl ; -- why does John walk - QuestIComp : IComp -> NP -> QCl ; -- where is John + QuestCl : Cl -> QCl ; -- does John walk + QuestVP : IP -> VP -> QCl ; -- who walks + QuestSlash : IP -> ClSlash -> QCl ; -- whom does John love + QuestIAdv : IAdv -> Cl -> QCl ; -- why does John walk + QuestIComp : IComp -> NP -> QCl ; -- where is John -- Interrogative pronouns can be formed with interrogative --- determiners. +-- determiners, with or without a noun. - IDetCN : IDet -> Num -> Ord -> CN -> IP; -- which five best songs - AdvIP : IP -> Adv -> IP ; -- who in Europe + IdetCN : IDet -> CN -> IP ; -- which five songs + IdetIP : IDet -> IP ; -- which five - PrepIP : Prep -> IP -> IAdv ; -- with whom +-- They can be modified with adverbs. - CompIAdv : IAdv -> IComp ; -- where + AdvIP : IP -> Adv -> IP ; -- who in Paris +-- Interrogative quantifiers have number forms and can take number modifiers. --- More $IP$, $IDet$, and $IAdv$ are defined in --- [``Structural`` Structural.html]. + IdetQuant : IQuant -> Num -> IDet ; -- which (five) + +-- Interrogative adverbs can be formed prepositionally. + + PrepIP : Prep -> IP -> IAdv ; -- with whom + +-- Interrogative complements to copulas can be both adverbs and +-- pronouns. + + CompIAdv : IAdv -> IComp ; -- where (is it) + CompIP : IP -> IComp ; -- who (is it) + +-- More $IP$, $IDet$, and $IAdv$ are defined in $Structural$. } diff --git a/lib/resource/exper/abstract/Structural.gf b/lib/resource/exper/abstract/Structural.gf index 41a3e66a5..832a0864e 100644 --- a/lib/resource/exper/abstract/Structural.gf +++ b/lib/resource/exper/abstract/Structural.gf @@ -93,8 +93,7 @@ abstract Structural = Cat ** { when_IAdv : IAdv ; when_Subj : Subj ; where_IAdv : IAdv ; - whichPl_IDet : IDet ; - whichSg_IDet : IDet ; + which_IQuant : IQuant ; whoPl_IP : IP ; whoSg_IP : IP ; why_IAdv : IAdv ; diff --git a/lib/resource/exper/english/AdverbEng.gf b/lib/resource/exper/english/AdverbEng.gf index 5f6d01940..ec7d46321 100644 --- a/lib/resource/exper/english/AdverbEng.gf +++ b/lib/resource/exper/english/AdverbEng.gf @@ -14,7 +14,7 @@ concrete AdverbEng of Adverb = CatEng ** open ResEng, Prelude in { AdAdv = cc2 ; SubjS = cc2 ; - AdvSC s = s ; --- this rule give stack overflow in ordinary parsing +---b AdvSC s = s ; --- this rule give stack overflow in ordinary parsing AdnCAdv cadv = {s = cadv.s ++ "than"} ; diff --git a/lib/resource/exper/english/CatEng.gf b/lib/resource/exper/english/CatEng.gf index 9e3fcace4..e69ee202d 100644 --- a/lib/resource/exper/english/CatEng.gf +++ b/lib/resource/exper/english/CatEng.gf @@ -26,6 +26,7 @@ concrete CatEng of Cat = CommonX ** open ResEng, Prelude in { IP = {s : Case => Str ; n : Number} ; IComp = {s : Str} ; IDet = {s : Str ; n : Number} ; + IQuant = {s : Number => Str} ; -- Relative diff --git a/lib/resource/exper/english/IdiomEng.gf b/lib/resource/exper/english/IdiomEng.gf index 87fb03136..d79201680 100644 --- a/lib/resource/exper/english/IdiomEng.gf +++ b/lib/resource/exper/english/IdiomEng.gf @@ -11,7 +11,7 @@ concrete IdiomEng of Idiom = CatEng ** open Prelude, ResEng in { (insertObj (\\_ => np.s ! rs.c) (predAux auxBe))) ; CleftAdv ad s = mkClause "it" (agrP3 Sg) - (insertObj (\\_ => conjThat ++ s.s) + (insertObj (\\_ => optStr conjThat ++ s.s) (insertObj (\\_ => ad.s) (predAux auxBe))) ; ExistNP np = diff --git a/lib/resource/exper/english/LexiconEng.gf b/lib/resource/exper/english/LexiconEng.gf index 3cc42d38c..a92058c90 100644 --- a/lib/resource/exper/english/LexiconEng.gf +++ b/lib/resource/exper/english/LexiconEng.gf @@ -130,7 +130,7 @@ lin open_V2 = dirV2 (regV "open") ; paint_V2A = mkV2A (regV "paint") noPrep ; paper_N = regN "paper" ; - paris_PN = regPN "Paris" ; + paris_PN = mkPN (mkN nonhuman (mkN "Paris")) ; peace_N = regN "peace" ; pen_N = regN "pen" ; planet_N = regN "planet" ; diff --git a/lib/resource/exper/english/NounEng.gf b/lib/resource/exper/english/NounEng.gf index 6c60ffb1d..cc7427930 100644 --- a/lib/resource/exper/english/NounEng.gf +++ b/lib/resource/exper/english/NounEng.gf @@ -99,7 +99,19 @@ concrete NounEng of Noun = CatEng ** open ResEng, Prelude in { UseN n = n ; UseN2 n = n ; - UseN3 n = n ; +---b UseN3 n = n ; + + Use2N3 f = { + s = \\n,c => f.s ! n ! Nom ; + g = f.g ; + c2 = f.c2 + } ; + + Use3N3 f = { + s = \\n,c => f.s ! n ! Nom ; + g = f.g ; + c2 = f.c3 + } ; ComplN2 f x = {s = \\n,c => f.s ! n ! Nom ++ f.c2 ++ x.s ! c ; g = f.g} ; ComplN3 f x = { diff --git a/lib/resource/exper/english/QuestionEng.gf b/lib/resource/exper/english/QuestionEng.gf index 6a1bab921..2fc894932 100644 --- a/lib/resource/exper/english/QuestionEng.gf +++ b/lib/resource/exper/english/QuestionEng.gf @@ -27,18 +27,29 @@ concrete QuestionEng of Question = CatEng ** open ResEng, Prelude in { mkQuestion icomp (mkClause (np.s ! Nom) np.a (predAux auxBe)) ; - PrepIP p ip = {s = p.s ++ ip.s ! Nom} ; + PrepIP p ip = {s = p.s ++ ip.s ! Acc} ; AdvIP ip adv = { s = \\c => ip.s ! c ++ adv.s ; n = ip.n } ; - IDetCN idet num ord cn = { - s = \\c => idet.s ++ num.s ++ ord.s ++ cn.s ! idet.n ! c ; + IdetCN idet cn = { + s = \\c => idet.s ++ cn.s ! idet.n ! c ; n = idet.n } ; + IdetIP idet = { + s = \\c => idet.s ; + n = idet.n + } ; + + IdetQuant idet num = { + s = idet.s ! num.n ++ num.s ; + n = num.n + } ; + CompIAdv a = a ; + CompIP p = ss (p.s ! Nom) ; } diff --git a/lib/resource/exper/english/StructuralEng.gf b/lib/resource/exper/english/StructuralEng.gf index 73fb14455..970e402fb 100644 --- a/lib/resource/exper/english/StructuralEng.gf +++ b/lib/resource/exper/english/StructuralEng.gf @@ -105,8 +105,9 @@ concrete StructuralEng of Structural = CatEng ** when_IAdv = ss "when" ; when_Subj = ss "when" ; where_IAdv = ss "where" ; - whichPl_IDet = mkDeterminer Pl ["which"] ; - whichSg_IDet = mkDeterminer Sg ["which"] ; + which_IQuant = {s = \\_ => "which"} ; +---b whichPl_IDet = mkDeterminer Pl ["which"] ; +---b whichSg_IDet = mkDeterminer Sg ["which"] ; whoSg_IP = mkIP "who" "whom" "whose" Sg ; whoPl_IP = mkIP "who" "whom" "whose" Pl ; why_IAdv = ss "why" ; diff --git a/lib/resource/exper/restest.gfs b/lib/resource/exper/restest.gfs new file mode 100644 index 000000000..2242789f0 --- /dev/null +++ b/lib/resource/exper/restest.gfs @@ -0,0 +1,146 @@ +-- Adjective + +PositA warm_A +ComparA warm_A (UsePron i_Pron) +ComplA2 married_A2 (DetNP (DetQuant (PossPron she_Pron) NumPl)) +ComplA2 married_A2 (DetNP (DetQuant (PossPron she_Pron) NumSg)) +ComplA2 married_A2 (UsePron she_Pron) +ReflA2 married_A2 +PositA (UseA2 married_A2) +SentAP (PositA good_A) (EmbedS (UseCl TPres ASimul PPos (PredVP (UsePron she_Pron) (UseComp (CompAdv here_Adv))))) +AdAP very_AdA (PositA warm_A) + + +-- Adverb + +PositAdvAdj warm_A +PrepNP in_Prep (DetArtSg DefArt (UseN house_N)) +ComparAdvAdj more_CAdv warm_A (UsePN john_PN) +ComparAdvAdjS more_CAdv warm_A (UseCl TPres ASimul PPos (PredVP (UsePron he_Pron) (UseV run_V))) +SubjS when_Subj (UseCl TPres ASimul PPos (PredVP (UsePron she_Pron) (UseV sleep_V))) +AdNum (AdnCAdv more_CAdv) (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))) + + +-- Conjunction + +ConjS and_Conj (BaseS (UseCl TPres ASimul PPos (PredVP (UsePron he_Pron) (UseV walk_V))) (UseCl TPres ASimul PPos (PredVP (UsePron she_Pron) (UseV run_V)))) +ConjAP and_Conj (BaseAP (PositA cold_A) (PositA warm_A)) +ConjNP or_Conj (BaseNP (UsePron she_Pron) (UsePron we_Pron)) +ConjAdv or_Conj (BaseAdv here_Adv there_Adv) +DConjS either7or_DConj (BaseS (UseCl TPres ASimul PPos (PredVP (UsePron he_Pron) (UseV walk_V))) (UseCl TPres ASimul PPos (PredVP (UsePron she_Pron) (UseV run_V)))) +DConjAP both7and_DConj (BaseAP (PositA warm_A) (PositA cold_A)) +DConjNP either7or_DConj (BaseNP (UsePron he_Pron) (UsePron she_Pron)) +DConjAdv both7and_DConj (BaseAdv here_Adv there_Adv) + +-- Idiom + +ImpersCl (UseComp (CompAP (PositA hot_A))) +GenericCl (UseV sleep_V) +CleftNP (UsePron i_Pron) (UseRCl TPast ASimul PPos (RelVP IdRP (ComplSlash (SlashV2a do_V2) (UsePron it_Pron)))) +CleftAdv here_Adv (UseCl TPast ASimul PPos (PredVP (UsePron she_Pron) (UseV sleep_V))) +ExistNP (DetArtSg IndefArt (UseN house_N)) +ExistIP (IdetCN (IdetQuant which_IQuant NumPl) (UseN house_N)) +PredVP (UsePron i_Pron) (ProgrVP (UseV sleep_V)) +ImpPl1 (UseV go_V) + +-- Noun + +DetArtSg DefArt (UseN man_N) +UsePN john_PN +UsePron he_Pron +PredetNP only_Predet (DetArtSg DefArt (UseN man_N)) +PPartNP (DetArtSg DefArt (UseN man_N)) see_V2 +AdvNP (UsePN paris_PN) today_Adv +RelNP (UsePN paris_PN) (UseRCl TPres ASimul PPos (RelVP IdRP (UseComp (CompAdv here_Adv)))) +DetNP (DetQuant this_Quant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))))) +DetCN (DetQuantOrd this_Quant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))))) (OrdSuperl good_A)) (UseN man_N) +DetCN (DetQuant this_Quant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))))) (UseN man_N) +DetCN (DetQuant this_Quant NumPl) (UseN man_N) +DetCN (DetQuant this_Quant NumSg) (UseN man_N) +NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))) +NumCard (NumDigits (IIDig D_5 (IDig D_1))) +NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot1plus n5 pot01))))) +NumCard (AdNum almost_AdN (NumDigits (IIDig D_5 (IDig D_1)))) +OrdDigits (IIDig D_5 (IDig D_1)) +OrdNumeral (num (pot2as3 (pot1as2 (pot1plus n5 pot01)))) +OrdSuperl warm_A +DetCN (DetArtOrd DefArt (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))))) (OrdSuperl good_A)) (UseN man_N) +DetCN (DetArtCard DefArt (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))))) (UseN man_N) +DetCN (DetArtCard IndefArt (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 pot01)))))) (UseN man_N) +DetCN (DetArtCard DefArt (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 pot01)))))) (UseN man_N) +DetArtSg DefArt (UseN man_N) +DetArtPl DefArt (UseN man_N) +MassNP (UseN beer_N) +DetCN (DetQuant (PossPron i_Pron) NumSg) (UseN house_N) +UseN house_N +ComplN2 mother_N2 (DetArtSg DefArt (UseN king_N)) +ComplN2 (ComplN3 distance_N3 (DetCN (DetQuant this_Quant NumSg) (UseN city_N))) (UsePN paris_PN) +UseN2 mother_N2 +ComplN2 (Use2N3 distance_N3) (DetCN (DetQuant this_Quant NumSg) (UseN city_N)) +ComplN2 (Use3N3 distance_N3) (UsePN paris_PN) +UseN2 (Use2N3 distance_N3) +AdjCN (PositA big_A) (UseN house_N) +RelCN (UseN house_N) (UseRCl TPast ASimul PPos (RelSlash IdRP (SlashVP (UsePN john_PN) (SlashV2a buy_V2)))) +AdvCN (UseN house_N) (PrepNP on_Prep (DetArtSg DefArt (UseN hill_N))) +SentCN (UseN question_N) (EmbedQS (UseQCl TPres ASimul PPos (QuestIAdv where_IAdv (PredVP (UsePron she_Pron) (UseV sleep_V))))) +ApposCN (UseN city_N) (UsePN paris_PN) + + +-- Numeral + +num (pot2as3 (pot1as2 (pot0as1 (pot0 n6)))) +num (pot2as3 (pot1as2 (pot0as1 pot01))) +num (pot2as3 (pot1as2 (pot1 n6))) +num (pot2as3 (pot1as2 pot110)) +num (pot2as3 (pot1as2 pot111)) +num (pot2as3 (pot1as2 (pot1to19 n6))) +num (pot2as3 (pot1as2 (pot1 n6))) +num (pot2as3 (pot1as2 (pot1plus n6 (pot0 n5)))) +num (pot2as3 (pot2 (pot0 n4))) +num (pot2as3 (pot2plus (pot0 n4) (pot1plus n6 (pot0 n7)))) +num (pot3 (pot2plus (pot0 n4) (pot1plus n6 (pot0 n7)))) +num (pot3plus (pot2plus (pot0 n4) (pot1plus n6 (pot0 n7))) (pot1as2 (pot1plus n8 (pot0 n9)))) +IDig D_8 +IIDig D_8 (IIDig D_0 (IIDig D_0 (IIDig D_1 (IIDig D_7 (IIDig D_8 (IDig D_9)))))) + + +-- Phrase + +PhrUtt but_PConj (UttImpSg PPos (ImpVP (AdvVP (UseV come_V) here_Adv))) (VocNP (DetCN (DetQuant (PossPron i_Pron) NumSg) (UseN friend_N))) +PhrUtt NoPConj (UttS (UseCl TPres ASimul PPos (PredVP (UsePN john_PN) (UseV walk_V)))) NoVoc +UttQS (UseQCl TPres ASimul PPos (QuestCl (PredVP (UsePron it_Pron) (UseComp (CompAP (PositA good_A)))))) +UttImpSg PNeg (ImpVP (ReflVP (SlashV2a love_V2))) +UttImpPl PNeg (ImpVP (ReflVP (SlashV2a love_V2))) +UttImpPol PNeg (ImpVP (UseV sleep_V)) +UttIP whoPl_IP +UttIP whoSg_IP +UttIAdv why_IAdv +UttNP (DetCN (DetQuant this_Quant NumSg) (UseN man_N)) +UttAdv here_Adv +UttVP (UseV sleep_V) +VocNP (DetCN (DetQuant (PossPron i_Pron) NumSg) (UseN friend_N)) + + +-- Question + +QuestCl (PredVP (UsePN john_PN) (UseV walk_V)) +QuestVP whoSg_IP (UseV walk_V) +QuestSlash whoSg_IP (SlashVP (UsePN john_PN) (SlashV2a love_V2)) +QuestIAdv why_IAdv (PredVP (UsePN john_PN) (UseV walk_V)) +QuestIComp (CompIAdv where_IAdv) (UsePN john_PN) +IdetCN (IdetQuant which_IQuant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))))) (UseN song_N) +IdetIP (IdetQuant which_IQuant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))))) +AdvIP whoSg_IP (PrepNP in_Prep (UsePN paris_PN)) +IdetIP (IdetQuant which_IQuant NumSg) +PrepIP with_Prep whoSg_IP +QuestIComp (CompIAdv where_IAdv) (UsePron it_Pron) +QuestIComp (CompIP whoSg_IP) (UsePron it_Pron) + + +-- Relative +-- Sentence +-- Text +-- Verb + + +