1
0
forked from GitHub/gf-core

test set for resource started

This commit is contained in:
aarne
2008-04-23 20:07:13 +00:00
parent 137a25fd35
commit 29302378c6
19 changed files with 256 additions and 66 deletions

View File

@@ -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 =

View File

@@ -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].
}

View File

@@ -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)
}

View File

@@ -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?
}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)
} ;

View File

@@ -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.

View File

@@ -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$.
}

View File

@@ -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 ;

View File

@@ -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"} ;

View File

@@ -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

View File

@@ -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 =

View File

@@ -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" ;

View File

@@ -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 = {

View File

@@ -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) ;
}

View File

@@ -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" ;

View File

@@ -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