diff --git a/lib/doc/MkExxTable.hs b/lib/doc/MkExxTable.hs index 19b057d2e..5580fa86b 100644 --- a/lib/doc/MkExxTable.hs +++ b/lib/doc/MkExxTable.hs @@ -71,7 +71,7 @@ prApiEx apexx = case M.toList apexx of [l ++ ": //" ++ mkEx l e ++ "//" | (l,e) <- lexx] mkEx l = unws . bind . mkE . words where - unws = if l == "Tha" then concat else unwords + unws = if elem l ["Jap","Tha"] then concat else unwords -- remove spaces mkE e = case e of "atomic":"term":_ -> ["*"] "[]":_ -> ["''"] diff --git a/lib/doc/api-examples.txt b/lib/doc/api-examples.txt index 782e13f17..f058cdd86 100644 --- a/lib/doc/api-examples.txt +++ b/lib/doc/api-examples.txt @@ -12,8 +12,8 @@ mkText (mkQS pastTense (mkQCl (mkCl she_NP sleep_V))) mkText negativePol (mkImp sleep_V) mkText : Text -> Text -> Text -- Where? Here. When? Now! mkText (mkText (mkPhr (mkUtt where_IAdv)) questMarkPunct (mkText (mkPhr (mkUtt here_Adv)))) (mkText (mkPhr (mkUtt when_IAdv)) questMarkPunct (mkText (mkPhr (mkUtt now_Adv)) exclMarkPunct)) --- emptyText : Text -- (empty text) ---emptyText +-- emptyText : Text -- (empty text) +--emptyText) fullStopPunct : Punct -- . mkText (mkPhr yes_Utt) fullStopPunct questMarkPunct : Punct -- ? @@ -63,21 +63,21 @@ mkUtt (mkCard (mkNumeral n5_Unit)) lets_Utt : VP -> Utt -- let's sleep mkPhr (lets_Utt (mkVP sleep_V)) positivePol : Pol -- she sleeps [default] -mkS positivePol (mkCl she_NP sleep_V) +mkUtt (mkS positivePol (mkCl she_NP sleep_V)) negativePol : Pol -- she doesn't sleep -mkS negativePol (mkCl she_NP sleep_V) +mkUtt (mkS negativePol (mkCl she_NP sleep_V)) simultaneousAnt : Ant -- she sleeps [default] -mkS simultaneousAnt (mkCl she_NP sleep_V) +mkUtt (mkS simultaneousAnt (mkCl she_NP sleep_V)) anteriorAnt : Ant -- she has slept --# notpresent -mkS anteriorAnt (mkCl she_NP sleep_V) +mkUtt (mkS anteriorAnt (mkCl she_NP sleep_V)) presentTense : Tense -- she sleeps [default] -mkS presentTense (mkCl she_NP sleep_V) +mkUtt (mkS presentTense (mkCl she_NP sleep_V)) pastTense : Tense -- she slept --# notpresent -mkS pastTense (mkCl she_NP sleep_V) +mkUtt (mkS pastTense (mkCl she_NP sleep_V)) futureTense : Tense -- she will sleep --# notpresent -mkS futureTense (mkCl she_NP sleep_V) +mkUtt (mkS futureTense (mkCl she_NP sleep_V)) conditionalTense : Tense -- she would sleep --# notpresent -mkS conditionalTense (mkCl she_NP sleep_V) +mkUtt (mkS conditionalTense (mkCl she_NP sleep_V)) singularImpForm : ImpForm -- be a man [default] mkUtt singularImpForm (mkImp (mkVP man_N)) pluralImpForm : ImpForm -- be men @@ -85,75 +85,75 @@ mkUtt pluralImpForm (mkImp (mkVP man_N)) politeImpForm : ImpForm -- be a man [polite singular] mkUtt politeImpForm (mkImp (mkVP man_N)) mkS : (Tense) -> (Ant) -> (Pol) -> Cl -> S -- she wouldn't have slept -mkS conditionalTense anteriorAnt negativePol (mkCl she_NP sleep_V) +mkUtt (mkS conditionalTense anteriorAnt negativePol (mkCl she_NP sleep_V)) mkS : Conj -> S -> S -> S -- she sleeps and I run -mkS and_Conj (mkS (mkCl she_NP sleep_V)) (mkS (mkCl i_NP run_V)) +mkUtt (mkS and_Conj (mkS (mkCl she_NP sleep_V)) (mkS (mkCl i_NP run_V))) mkS : Conj -> ListS -> S -- she sleeps, I run and you walk -mkS and_Conj (mkListS (mkS (mkCl she_NP sleep_V)) (mkListS (mkS (mkCl i_NP run_V)) (mkS (mkCl (mkNP youSg_Pron) walk_V)))) +mkUtt (mkS and_Conj (mkListS (mkS (mkCl she_NP sleep_V)) (mkListS (mkS (mkCl i_NP run_V)) (mkS (mkCl (mkNP youSg_Pron) walk_V))))) mkS : Adv -> S -> S -- today, she sleeps -mkS today_Adv (mkS (mkCl she_NP sleep_V)) +mkUtt (mkS today_Adv (mkS (mkCl she_NP sleep_V))) mkCl : NP -> V -> Cl -- she sleeps -mkCl she_NP sleep_V +mkUtt (mkCl she_NP sleep_V) mkCl : NP -> V2 -> NP -> Cl -- she loves him -mkCl she_NP love_V2 he_NP +mkUtt (mkCl she_NP love_V2 he_NP) mkCl : NP -> V3 -> NP -> NP -> Cl -- she sends it to him -mkCl she_NP send_V3 it_NP he_NP +mkUtt (mkCl she_NP send_V3 it_NP he_NP) mkCl : NP -> VV -> VP -> Cl -- she wants to sleep -mkCl she_NP want_VV (mkVP sleep_V) +mkUtt (mkCl she_NP want_VV (mkVP sleep_V)) mkCl : NP -> VS -> S -> Cl -- she says that I sleep -mkCl she_NP say_VS (mkS (mkCl i_NP sleep_V)) +mkUtt (mkCl she_NP say_VS (mkS (mkCl i_NP sleep_V))) mkCl : NP -> VQ -> QS -> Cl -- she wonders who sleeps -mkCl she_NP wonder_VQ (mkQS (mkQCl who_IP sleep_V)) +mkUtt (mkCl she_NP wonder_VQ (mkQS (mkQCl who_IP sleep_V))) mkCl : NP -> VA -> A -> Cl -- she becomes old -mkCl she_NP become_VA old_A +mkUtt (mkCl she_NP become_VA old_A) mkCl : NP -> VA -> AP -> Cl -- she becomes very old -mkCl she_NP become_VA (mkAP very_AdA old_A) +mkUtt (mkCl she_NP become_VA (mkAP very_AdA old_A)) mkCl : NP -> V2A -> NP -> A -> Cl -- she paints it red -mkCl she_NP paint_V2A it_NP red_A +mkUtt (mkCl she_NP paint_V2A it_NP red_A) mkCl : NP -> V2A -> NP -> AP -> Cl -- she paints it very red -mkCl she_NP paint_V2A it_NP (mkAP red_A) +mkUtt (mkCl she_NP paint_V2A it_NP (mkAP red_A)) mkCl : NP -> V2S -> NP -> S -> Cl -- she answers to him that we sleep -mkCl she_NP answer_V2S he_NP (mkS (mkCl we_NP sleep_V)) +mkUtt (mkCl she_NP answer_V2S he_NP (mkS (mkCl we_NP sleep_V))) mkCl : NP -> V2Q -> NP -> QS -> Cl -- she asks him who sleeps -mkCl she_NP ask_V2Q he_NP (mkQS (mkQCl who_IP sleep_V)) +mkUtt (mkCl she_NP ask_V2Q he_NP (mkQS (mkQCl who_IP sleep_V))) mkCl : NP -> V2V -> NP -> VP -> Cl -- she begs him to sleep -mkCl she_NP beg_V2V he_NP (mkVP sleep_V) +mkUtt (mkCl she_NP beg_V2V he_NP (mkVP sleep_V)) mkCl : NP -> A -> Cl -- she is old -mkCl she_NP old_A +mkUtt (mkCl she_NP old_A) mkCl : NP -> A -> NP -> Cl -- she is older than he -mkCl she_NP old_A he_NP +mkUtt (mkCl she_NP old_A he_NP) mkCl : NP -> A2 -> NP -> Cl -- she is married to him -mkCl she_NP married_A2 he_NP +mkUtt (mkCl she_NP married_A2 he_NP) mkCl : NP -> AP -> Cl -- she is very old -mkCl she_NP (mkAP very_AdA old_A) +mkUtt (mkCl she_NP (mkAP very_AdA old_A)) mkCl : NP -> NP -> Cl -- she is the woman -mkCl she_NP (mkNP the_Det woman_N) +mkUtt (mkCl she_NP (mkNP the_Det woman_N)) mkCl : NP -> N -> Cl -- she is a woman -mkCl she_NP woman_N +mkUtt (mkCl she_NP woman_N) mkCl : NP -> CN -> Cl -- she is an old woman -mkCl she_NP (mkCN old_A woman_N) +mkUtt (mkCl she_NP (mkCN old_A woman_N)) mkCl : NP -> Adv -> Cl -- she is here -mkCl she_NP here_Adv +mkUtt (mkCl she_NP here_Adv) mkCl : NP -> VP -> Cl -- she always sleeps -mkCl she_NP (mkVP always_AdV (mkVP sleep_V)) +mkUtt (mkCl she_NP (mkVP always_AdV (mkVP sleep_V))) mkCl : N -> Cl -- there is a house -mkCl house_N ---- mkCl : CN -> Cl -- there is an old house ---- mkCl (mkCN old_A house_N) +mkUtt (mkCl house_N) + mkCl : CN -> Cl -- there is an old house +mkUtt (mkCl (mkCN old_A house_N)) mkCl : NP -> Cl -- there are many houses -mkCl (mkNP many_Det house_N) +mkUtt (mkCl (mkNP many_Det house_N) ) mkCl : NP -> RS -> Cl -- it is she who sleeps -mkCl she_NP (mkRS (mkRCl which_RP (mkVP sleep_V))) +mkUtt (mkCl she_NP (mkRS (mkRCl which_RP (mkVP sleep_V)))) mkCl : Adv -> S -> Cl -- it is here that she sleeps -mkCl here_Adv (mkS (mkCl she_NP sleep_V)) +mkUtt (mkCl here_Adv (mkS (mkCl she_NP sleep_V)) ) mkCl : V -> Cl -- it rains -mkCl rain_V0 +mkUtt (mkCl rain_V0 ) mkCl : VP -> Cl -- it is raining -mkCl (progressiveVP (mkVP rain_V0)) +mkUtt (mkCl (progressiveVP (mkVP rain_V0))) mkCl : SC -> VP -> Cl -- that she sleeps is good -mkCl (mkSC (mkS (mkCl she_NP sleep_V))) (mkVP good_A) +mkUtt (mkCl (mkSC (mkS (mkCl she_NP sleep_V))) (mkVP good_A)) genericCl : VP -> Cl -- one sleeps -mkS (genericCl (mkVP sleep_V)) +mkUtt (mkS (genericCl (mkVP sleep_V)) ) mkVP : V -> VP -- sleep mkUtt (mkVP sleep_V) mkVP : V2 -> NP -> VP -- love him @@ -213,11 +213,11 @@ mkUtt (passiveVP love_V2 she_NP) progressiveVP : VP -> VP -- be sleeping mkUtt (progressiveVP (mkVP sleep_V)) mkComp : AP -> Comp -- very old -mkComp (mkAP old_A) +mkUtt (mkVP (mkComp (mkAP old_A))) mkComp : NP -> Comp -- this man -mkComp (mkNP this_Det man_N) +mkUtt (mkVP (mkComp (mkNP this_Det man_N))) mkComp : Adv -> Comp -- here -mkComp here_Adv +mkUtt (mkVP (mkComp here_Adv)) mkSC : S -> SC -- that she sleeps mkSC (mkS (mkCl she_NP sleep_V)) mkSC : QS -> SC -- who sleeps @@ -225,11 +225,11 @@ mkSC (mkQS (mkQCl who_IP sleep_V)) mkSC : VP -> SC -- to sleep mkSC (mkVP sleep_V) mkImp : VP -> Imp -- come to my house -mkImp (mkVP (mkVP come_V) (mkAdv to_Prep (mkNP i_Pron house_N))) +mkUtt (mkImp (mkVP (mkVP come_V) (mkAdv to_Prep (mkNP i_Pron house_N)))) mkImp : V -> Imp -- come -mkImp come_V +mkUtt (mkImp come_V) mkImp : V2 -> NP -> Imp -- take it -mkImp buy_V2 it_NP +mkUtt (mkImp buy_V2 it_NP) mkNP : Quant -> N -> NP -- this man mkUtt (mkNP this_Quant man_N) mkNP : Quant -> CN -> NP -- this old man @@ -250,8 +250,8 @@ mkUtt (mkNP (mkNumeral (tenfoldSub100 n5_Unit)) man_N) mkUtt (mkNP (mkDigits n5_Dig (mkDigits n1_Dig)) (mkCN old_A man_N)) mkNP : Digits -> N -> NP -- 51 men mkUtt (mkNP (mkDigits n5_Dig (mkDigits n1_Dig)) man_N) --- mkNP : Card -> CN -> NP -- forty-five old men --- mkNP : Card -> N -> NP -- forty-five men +-- mkNP : Card -> CN -> NP -- forty-five old men +-- mkNP : Card -> N -> NP -- forty-five men mkNP : Pron -> CN -> NP -- my old man mkUtt (mkNP i_Pron (mkCN old_A man_N)) mkNP : Pron -> N -> NP -- my man @@ -301,7 +301,7 @@ mkUtt youPl_NP they_NP : NP -- they mkUtt they_NP mkDet : Quant -> Det -- this -mkDet this_Quant +mkUtt (mkNP (mkDet this_Quant)) this_NP : NP mkUtt this_NP that_NP : NP @@ -311,22 +311,22 @@ mkUtt these_NP those_NP : NP mkUtt those_NP mkDet : Quant -> Card -> Det -- these five -mkDet this_Quant (mkCard (mkNumeral n5_Unit)) +mkUtt (mkNP (mkDet this_Quant (mkCard (mkNumeral n5_Unit)))) mkDet : Quant -> Ord -> Det -- the best -mkDet the_Quant (mkOrd (mkNumeral n5_Unit)) +mkUtt (mkNP (mkDet the_Quant (mkOrd (mkNumeral n5_Unit)))) mkDet : Quant -> Num -> Ord -> Det -- these five best -mkDet the_Quant (mkNum (mkNumeral n5_Unit)) (mkOrd good_A) +mkUtt (mkNP (mkDet the_Quant (mkNum (mkNumeral n5_Unit)) (mkOrd good_A))) mkDet : Quant -> Num -> Det -- these five -mkDet this_Quant pluralNum +mkUtt (mkNP (mkDet this_Quant pluralNum)) mkDet : Card -> Det -- forty -mkDet (mkCard (mkNumeral n5_Unit)) +mkUtt (mkNP (mkDet (mkCard (mkNumeral n5_Unit)))) -- mkDet : Digits -> Det -- 51 --- mkDet : Numeral -> Det -- five -mkDet (mkNumeral n5_Unit) +-- mkDet : Numeral -> Det -- five +mkUtt (mkNP (mkDet (mkNumeral n5_Unit))) mkDet : Pron -> Det -- my -mkDet i_Pron +mkUtt (mkNP (mkDet i_Pron)) mkDet : Pron -> Num -> Det -- my five -mkDet i_Pron (mkNum (mkNumeral n5_Unit)) +mkUtt (mkNP (mkDet i_Pron (mkNum (mkNumeral n5_Unit)))) the_Det : Det -- the (house) mkUtt (mkNP the_Det house_N) a_Det : Det -- a (house) @@ -353,394 +353,394 @@ mkUtt (mkNP (mkQuant i_Pron) house_N) mkUtt (mkNP the_Quant house_N) a_Quant : Quant -- a mkUtt (mkNP a_Quant house_N) --- mkNum : Str -> Num -- thirty-five (given by "35") +-- mkNum : Str -> Num -- thirty-five (given by "35") mkNum : Numeral -> Num -- twenty mkNum (mkNumeral (tenfoldSub100 n2_Unit)) mkNum : Digits -> Num -- 21 mkNum (mkDigits n2_Dig (mkDigits n1_Dig)) --- mkNum : Digit -> Num -- five +-- mkNum : Digit -> Num -- five) mkNum : Card -> Num -- almost ten -mkNum (mkCard almost_AdN (mkCard (mkNumeral n5_Unit))) +mkNum (mkCard almost_AdN (mkCard (mkNumeral n5_Unit))) mkNum : AdN -> Card -> Num -- almost ten mkNum (mkCard almost_AdN (mkCard (mkNumeral n5_Unit))) --- singularNum : Num -- singular --- pluralNum : Num -- plural --- mkCard : Str -> Card -- thirty-five (given as "35") +-- singularNum : Num -- singular ) +-- pluralNum : Num -- plural ) +-- mkCard : Str -> Card -- thirty-five (given as "35")) mkCard : Numeral -> Card -- twenty -mkCard (mkNumeral n7_Unit) --- mkCard : Digits -> Card -- 51 --- mkCard : AdN -> Card -> Card -- almost fifty --- mkOrd : Numeral -> Ord -- twentieth --- mkOrd : Digits -> Ord -- 51st --- mkOrd : Digit -> Ord -- fifth +mkUtt (mkCard (mkNumeral n7_Unit)) +-- mkCard : Digits -> Card -- 51 ) +-- mkCard : AdN -> Card -> Card -- almost fifty) +-- mkOrd : Numeral -> Ord -- twentieth ) +-- mkOrd : Digits -> Ord -- 51st ) +-- mkOrd : Digit -> Ord -- fifth ) mkOrd : A -> Ord -- largest -mkOrd small_A +mkUtt (mkAP (mkOrd small_A)) mkAdN : CAdv -> AdN -- more than -mkCard (mkAdN more_CAdv) (mkCard (mkNumeral n8_Unit)) +mkUtt (mkCard (mkAdN more_CAdv) (mkCard (mkNumeral n8_Unit))) mkNumeral : Sub1000 -> Numeral -- coerce 1..999 -mkNumeral (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)) +mkUtt (mkCard (mkNumeral (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)))) mkNumeral : Sub1000 -> Sub1000 -> Numeral -- 1000m + n -mkNumeral (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)) (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)) --- mkNumeral : Str -> Numeral -- thirty-five (given by "35") +mkUtt (mkCard (mkNumeral (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)) (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)))) +-- mkNumeral : Str -> Numeral -- thirty-five (given by "35") ) thousandfoldNumeral : Sub1000 -> Numeral -- 1000n -thousandfoldNumeral (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)) +mkUtt (mkCard (thousandfoldNumeral (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)))) mkSub1000 : Sub100 -> Sub1000 -- coerce 1..99 -mkNumeral (mkSub1000 (mkSub100 n9_Unit n9_Unit)) +mkUtt (mkCard (mkNumeral (mkSub1000 (mkSub100 n9_Unit n9_Unit)))) mkSub1000 : Unit -> Sub1000 -- 100n -mkNumeral (mkSub1000 n9_Unit) +mkUtt (mkCard (mkNumeral (mkSub1000 n9_Unit))) mkSub1000 : Unit -> Sub100 -> Sub1000 -- 100m + n -mkNumeral (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)) +mkUtt (mkCard (mkNumeral (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)))) mkSub100 : Unit -> Sub100 -- eight (coerce 1..9) -mkSub100 n8_Unit +mkUtt (mkCard (mkNumeral (mkSub100 n8_Unit))) mkSub100 : Unit -> Unit -> Sub100 -- 10m + n -mkSub100 n8_Unit n3_Unit +mkUtt (mkCard (mkNumeral (mkSub100 n8_Unit n3_Unit))) tenfoldSub100 : Unit -> Sub100 -- 10n -mkSub100 n8_Unit +mkUtt (mkCard (mkNumeral (mkSub100 n8_Unit))) n1_Unit : Unit -- one -mkNumeral n1_Unit +mkUtt (mkCard (mkNumeral n1_Unit)) n2_Unit : Unit -- two -mkNumeral n2_Unit +mkUtt (mkCard (mkNumeral n2_Unit)) n3_Unit : Unit -- three -mkNumeral n3_Unit +mkUtt (mkCard (mkNumeral n3_Unit)) n4_Unit : Unit -- four -mkNumeral n4_Unit +mkUtt (mkCard (mkNumeral n4_Unit)) n5_Unit : Unit -- five -mkNumeral n5_Unit +mkUtt (mkCard (mkNumeral n5_Unit)) n6_Unit : Unit -- six -mkNumeral n6_Unit +mkUtt (mkCard (mkNumeral n6_Unit)) n7_Unit : Unit -- seven -mkNumeral n7_Unit +mkUtt (mkCard (mkNumeral n7_Unit)) n8_Unit : Unit -- eight -mkNumeral n8_Unit +mkUtt (mkCard (mkNumeral n8_Unit)) n9_Unit : Unit -- nine -mkNumeral n9_Unit --- mkDigits : Str -> Digits -- 35 (from string "35") +mkUtt (mkCard (mkNumeral n9_Unit)) +-- mkDigits : Str -> Digits -- 35 (from string "35")) mkDigits : Dig -> Digits -- 4 -mkDigits n4_Dig +mkUtt (mkCard (mkDigits n4_Dig)) mkDigits : Dig -> Digits -> Digits -- 1,233,486 -mkDigits n1_Dig (mkDigits n2_Dig (mkDigits n3_Dig (mkDigits n3_Dig (mkDigits n4_Dig (mkDigits n8_Dig (mkDigits n6_Dig)))))) --- n0_Dig : Dig -- 0 --- n1_Dig : Dig -- 1 --- n2_Dig : Dig -- 2 --- n3_Dig : Dig -- 3 --- n4_Dig : Dig -- 4 --- n5_Dig : Dig -- 5 --- n6_Dig : Dig -- 6 --- n7_Dig : Dig -- 7 --- n8_Dig : Dig -- 8 --- n9_Dig : Dig -- 9 +mkUtt (mkCard (mkDigits n1_Dig (mkDigits n2_Dig (mkDigits n3_Dig (mkDigits n3_Dig (mkDigits n4_Dig (mkDigits n8_Dig (mkDigits n6_Dig)))))))) +-- n0_Dig : Dig -- 0 ) +-- n1_Dig : Dig -- 1 ) +-- n2_Dig : Dig -- 2 ) +-- n3_Dig : Dig -- 3 ) +-- n4_Dig : Dig -- 4 ) +-- n5_Dig : Dig -- 5 ) +-- n6_Dig : Dig -- 6 ) +-- n7_Dig : Dig -- 7 ) +-- n8_Dig : Dig -- 8 ) +-- n9_Dig : Dig -- 9 ) mkCN : N -> CN -- house -mkCN house_N +mkUtt (mkCN house_N ) mkCN : N2 -> NP -> CN -- mother of the king -mkCN mother_N2 (mkNP the_Det king_N) +mkUtt (mkCN mother_N2 (mkNP the_Det king_N)) mkCN : N3 -> NP -> NP -> CN -- distance from this city to Paris -mkCN distance_N3 (mkNP this_Det city_N) (mkNP paris_PN) +mkUtt (mkCN distance_N3 (mkNP this_Det city_N) (mkNP paris_PN) ) mkCN : N2 -> CN -- mother -mkCN mother_N2 +mkUtt (mkCN mother_N2) mkCN : N3 -> CN -- distance -mkCN distance_N3 +mkUtt (mkCN distance_N3) mkCN : A -> N -> CN -- big house -mkCN big_A house_N +mkUtt (mkCN big_A house_N ) mkCN : A -> CN -> CN -- big blue house -mkCN big_A (mkCN blue_A house_N) +mkUtt (mkCN big_A (mkCN blue_A house_N)) mkCN : AP -> N -> CN -- very big house -mkCN (mkAP very_AdA big_A) house_N +mkUtt (mkCN (mkAP very_AdA big_A) house_N ) mkCN : AP -> CN -> CN -- very big blue house -mkCN (mkAP very_AdA big_A) (mkCN blue_A house_N) +mkUtt (mkCN (mkAP very_AdA big_A) (mkCN blue_A house_N) ) mkCN : N -> RS -> CN -- man whom she loves -mkCN man_N (mkRS (mkRCl which_RP she_NP love_V2)) +mkUtt (mkCN man_N (mkRS (mkRCl which_RP she_NP love_V2))) mkCN : CN -> RS -> CN -- old man whom she loves -mkCN (mkCN old_A man_N) (mkRS (mkRCl which_RP she_NP love_V2)) +mkUtt (mkCN (mkCN old_A man_N) (mkRS (mkRCl which_RP she_NP love_V2)) ) mkCN : N -> Adv -> CN -- house on the hill -mkCN house_N (mkAdv on_Prep (mkNP the_Det hill_N)) +mkUtt (mkCN house_N (mkAdv on_Prep (mkNP the_Det hill_N))) mkCN : CN -> Adv -> CN -- big house on the hill -mkCN (mkCN big_A house_N) (mkAdv on_Prep (mkNP the_Det hill_N)) +mkUtt (mkCN (mkCN big_A house_N) (mkAdv on_Prep (mkNP the_Det hill_N))) mkCN : CN -> S -> CN -- rule that she sleeps -mkNum (mkCard almost_AdN (mkCard (mkNumeral n5_Unit))) +mkUtt (mkCN (mkCN rule_N) (mkS (mkCl she_NP sleep_V))) mkCN : CN -> QS -> CN -- question if she sleeps -mkNum (mkCard almost_AdN (mkCard (mkNumeral n5_Unit))) +mkUtt (mkCN (mkCN question_N) (mkQS (mkQCl (mkCl she_NP sleep_V)))) mkCN : CN -> VP -> CN -- reason to sleep -mkCN (mkCN reason_N) (mkVP sleep_V) +mkUtt (mkCN (mkCN reason_N) (mkVP sleep_V)) mkCN : CN -> SC -> CN -- reason to sleep -mkCN (mkCN reason_N) (mkVP sleep_V) +mkUtt (mkCN (mkCN reason_N) (mkVP sleep_V)) mkCN : N -> NP -> CN -- king John -mkCN king_N (mkNP john_PN) +mkUtt (mkCN king_N (mkNP john_PN) ) mkCN : CN -> NP -> CN -- old king John -mkCN (mkCN old_A king_N) (mkNP john_PN) +mkUtt (mkCN (mkCN old_A king_N) (mkNP john_PN)) mkAP : A -> AP -- warm -mkAP warm_A +mkUtt (mkAP warm_A) mkAP : A -> NP -> AP -- warmer than Paris -mkAP warm_A (mkNP paris_PN) +mkUtt (mkAP warm_A (mkNP paris_PN)) mkAP : A2 -> NP -> AP -- married to her -mkAP married_A2 she_NP +mkUtt (mkAP married_A2 she_NP ) mkAP : A2 -> AP -- married -mkAP married_A2 +mkUtt (mkAP married_A2) mkAP : AP -> S -> AP -- probable that she sleeps -mkCl (mkVP (mkAP (mkAP good_A) (mkS (mkCl she_NP sleep_V)))) +mkUtt (mkCl (mkVP (mkAP (mkAP good_A) (mkS (mkCl she_NP sleep_V))))) mkAP : AP -> QS -> AP -- uncertain who sleeps -mkCl (mkVP (mkAP (mkAP uncertain_A) (mkQS (mkQCl who_IP sleep_V)))) +mkUtt (mkCl (mkVP (mkAP (mkAP uncertain_A) (mkQS (mkQCl who_IP sleep_V))))) mkAP : AP -> VP -> AP -- ready to go -mkCl she_NP (mkAP (mkAP ready_A) (mkVP sleep_V)) +mkUtt (mkCl she_NP (mkAP (mkAP ready_A) (mkVP sleep_V))) mkAP : AP -> SC -> AP -- ready to go -mkCl she_NP (mkAP (mkAP ready_A) (mkSC (mkVP sleep_V))) +mkUtt (mkCl she_NP (mkAP (mkAP ready_A) (mkSC (mkVP sleep_V)))) mkAP : AdA -> A -> AP -- very old -mkAP very_AdA old_A +mkUtt (mkAP very_AdA old_A) mkAP : AdA -> AP -> AP -- very very old -mkAP very_AdA (mkAP very_AdA old_A) +mkUtt (mkAP very_AdA (mkAP very_AdA old_A)) mkAP : Conj -> AP -> AP -> AP -- old and big -mkAP or_Conj (mkAP old_A) (mkAP young_A) +mkUtt (mkAP or_Conj (mkAP old_A) (mkAP young_A)) mkAP : Conj -> ListAP -> AP -- old, big and warm -mkAP and_Conj (mkListAP (mkAP old_A) (mkListAP (mkAP big_A) (mkAP warm_A))) +mkUtt (mkAP and_Conj (mkListAP (mkAP old_A) (mkListAP (mkAP big_A) (mkAP warm_A)))) mkAP : Ord -> AP -- oldest -mkAP (mkOrd old_A) +mkUtt (mkAP (mkOrd old_A)) mkAP : CAdv -> AP -> NP -> AP -- as old as she -mkAP as_CAdv (mkAP old_A) she_NP +mkUtt (mkAP as_CAdv (mkAP old_A) she_NP) reflAP : A2 -> AP -- married to himself mkUtt (reflAP married_A2) comparAP : A -> AP -- warmer mkUtt (comparAP warm_A) mkAdv : A -> Adv -- warmly -mkAdv warm_A +mkUtt (mkAdv warm_A) mkAdv : Prep -> NP -> Adv -- in the house -mkAdv in_Prep (mkNP the_Det house_N) +mkUtt (mkAdv in_Prep (mkNP the_Det house_N)) mkAdv : Subj -> S -> Adv -- when she sleeps -mkAdv when_Subj (mkS (mkCl she_NP sleep_V)) +mkUtt (mkAdv when_Subj (mkS (mkCl she_NP sleep_V))) mkAdv : CAdv -> A -> NP -> Adv -- more warmly than he -mkAdv more_CAdv warm_A he_NP +mkUtt (mkAdv more_CAdv warm_A he_NP ) mkAdv : CAdv -> A -> S -> Adv -- more warmly than he runs -mkAdv more_CAdv warm_A (mkS (mkCl he_NP run_V)) +mkUtt (mkAdv more_CAdv warm_A (mkS (mkCl he_NP run_V)) ) mkAdv : AdA -> Adv -> Adv -- very warmly -mkAdv very_AdA (mkAdv warm_A) +mkUtt (mkAdv very_AdA (mkAdv warm_A) ) mkAdv : Conj -> Adv -> Adv -> Adv -- here and now -mkAdv and_Conj here_Adv now_Adv +mkUtt (mkAdv and_Conj here_Adv now_Adv) mkAdv : Conj -> ListAdv -> Adv -- with her, here and now -mkAdv and_Conj (mkListAdv (mkAdv with_Prep she_NP) (mkListAdv here_Adv now_Adv)) +mkUtt (mkAdv and_Conj (mkListAdv (mkAdv with_Prep she_NP) (mkListAdv here_Adv now_Adv))) mkQS : (Tense) -> (Ant) -> (Pol) -> QCl -> QS -- who wouldn't have slept -mkQS conditionalTense anteriorAnt negativePol (mkQCl who_IP sleep_V) +mkUtt (mkQS conditionalTense anteriorAnt negativePol (mkQCl who_IP sleep_V)) mkQS : Cl -> QS -- -mkQS (mkCl she_NP sleep_V) +mkUtt (mkQS (mkCl she_NP sleep_V)) mkQCl : Cl -> QCl -- does she sleep -mkQCl (mkCl she_NP sleep_V) +mkUtt (mkQCl (mkCl she_NP sleep_V)) mkQCl : IP -> VP -> QCl -- who sleeps -mkQCl who_IP (mkVP (mkVP sleep_V) here_Adv) +mkUtt (mkQCl who_IP (mkVP (mkVP sleep_V) here_Adv)) mkQCl : IP -> V -> QCl -- who sleeps -mkQCl who_IP sleep_V +mkUtt (mkQCl who_IP sleep_V) mkQCl : IP -> V2 -> NP -> QCl -- who loves her -mkQCl who_IP love_V2 she_NP +mkUtt (mkQCl who_IP love_V2 she_NP) mkQCl : IP -> V3 -> NP -> NP -> QCl -- who sends it to her -mkQCl who_IP send_V3 it_NP she_NP +mkUtt (mkQCl who_IP send_V3 it_NP she_NP) mkQCl : IP -> VV -> VP -> QCl -- who wants to sleep -mkQCl who_IP want_VV (mkVP sleep_V) +mkUtt (mkQCl who_IP want_VV (mkVP sleep_V)) mkQCl : IP -> VS -> S -> QCl -- who says that I sleep -mkQCl who_IP say_VS (mkS (mkCl i_NP sleep_V)) +mkUtt (mkQCl who_IP say_VS (mkS (mkCl i_NP sleep_V))) mkQCl : IP -> VQ -> QS -> QCl -- who wonders who sleeps -mkQCl who_IP wonder_VQ (mkQS (mkQCl who_IP sleep_V)) +mkUtt (mkQCl who_IP wonder_VQ (mkQS (mkQCl who_IP sleep_V))) mkQCl : IP -> VA -> A -> QCl -- who becomes old -mkQCl who_IP become_VA old_A +mkUtt (mkQCl who_IP become_VA old_A) mkQCl : IP -> VA -> AP -> QCl -- who becomes very old -mkQCl who_IP become_VA (mkAP very_AdA old_A) +mkUtt (mkQCl who_IP become_VA (mkAP very_AdA old_A)) mkQCl : IP -> V2A -> NP -> A -> QCl -- who paints it red -mkQCl who_IP paint_V2A it_NP red_A +mkUtt (mkQCl who_IP paint_V2A it_NP red_A) mkQCl : IP -> V2A -> NP -> AP -> QCl -- who paints it very red -mkQCl who_IP paint_V2A it_NP (mkAP very_AdA red_A) +mkUtt (mkQCl who_IP paint_V2A it_NP (mkAP very_AdA red_A)) mkQCl : IP -> V2S -> NP -> S -> QCl -- who answers to him that we sleep -mkQCl who_IP answer_V2S he_NP (mkS (mkCl we_NP sleep_V)) +mkUtt (mkQCl who_IP answer_V2S he_NP (mkS (mkCl we_NP sleep_V))) mkQCl : IP -> V2Q -> NP -> QS -> QCl -- who asks him who sleeps -mkQCl who_IP ask_V2Q he_NP (mkQS (mkQCl who_IP sleep_V)) +mkUtt (mkQCl who_IP ask_V2Q he_NP (mkQS (mkQCl who_IP sleep_V))) mkQCl : IP -> V2V -> NP -> VP -> QCl -- who begs him to sleep -mkQCl who_IP beg_V2V he_NP (mkVP sleep_V) +mkUtt (mkQCl who_IP beg_V2V he_NP (mkVP sleep_V)) mkQCl : IP -> A -> QCl -- who is old -mkQCl who_IP old_A +mkUtt (mkQCl who_IP old_A) mkQCl : IP -> A -> NP -> QCl -- who is older than he -mkQCl who_IP old_A he_NP +mkUtt (mkQCl who_IP old_A he_NP) mkQCl : IP -> A2 -> NP -> QCl -- who is married to him -mkQCl who_IP married_A2 he_NP +mkUtt (mkQCl who_IP married_A2 he_NP) mkQCl : IP -> AP -> QCl -- who is very old -mkQCl who_IP (mkAP very_AdA old_A) +mkUtt (mkQCl who_IP (mkAP very_AdA old_A)) mkQCl : IP -> NP -> QCl -- who is the woman -mkQCl who_IP (mkNP the_Det woman_N) +mkUtt (mkQCl who_IP (mkNP the_Det woman_N)) mkQCl : IP -> N -> QCl -- who is a woman -mkQCl who_IP woman_N +mkUtt (mkQCl who_IP woman_N) mkQCl : IP -> CN -> QCl -- who is an old woman -mkQCl who_IP (mkCN old_A woman_N) +mkUtt (mkQCl who_IP (mkCN old_A woman_N)) mkQCl : IP -> Adv -> QCl -- who is here -mkQCl who_IP here_Adv +mkUtt (mkQCl who_IP here_Adv) mkQCl : IP -> VP -> QCl -- who always sleeps -mkQCl who_IP (mkVP always_AdV (mkVP sleep_V)) +mkUtt (mkQCl who_IP (mkVP always_AdV (mkVP sleep_V))) mkQCl : IAdv -> Cl -> QCl -- why does she sleep -mkQCl why_IAdv (mkCl she_NP sleep_V) +mkUtt (mkQCl why_IAdv (mkCl she_NP sleep_V) ) mkQCl : Prep -> IP -> Cl -> QCl -- with whom does she sleep -mkQCl with_Prep who_IP (mkCl she_NP sleep_V) +mkUtt (mkQCl with_Prep who_IP (mkCl she_NP sleep_V) ) mkQCl : IAdv -> NP -> QCl -- where is she -mkQCl where_IAdv she_NP +mkUtt (mkQCl where_IAdv she_NP ) mkQCl : IComp -> NP -> QCl -- who is this man -mkQCl (mkIComp who_IP) (mkNP this_Det man_N) +mkUtt (mkQCl (mkIComp who_IP) (mkNP this_Det man_N)) mkQCl : IP -> QCl -- which cities are there -mkQCl (mkIP which_IQuant city_N) +mkUtt (mkQCl (mkIP which_IQuant city_N)) mkQCl : IP -> NP -> V2 -> QCl -- who does she love -mkQCl who_IP she_NP +mkUtt (mkQCl who_IP she_NP) mkQCl : IP -> ClSlash -> QCl -- who does she love today --: -mkQCl who_IP (mkClSlash (mkClSlash she_NP love_V2) today_Adv) +mkUtt (mkQCl who_IP (mkClSlash (mkClSlash she_NP love_V2) today_Adv)) mkIP : IDet -> CN -> IP -- which five big cities -mkIP (mkIDet which_IQuant (mkNum (mkNumeral n5_Unit))) (mkCN big_A city_N) +mkUtt (mkIP (mkIDet which_IQuant (mkNum (mkNumeral n5_Unit))) (mkCN big_A city_N) ) mkIP : IDet -> N -> IP -- which five cities -mkIP (mkIDet which_IQuant (mkNum (mkNumeral n5_Unit))) city_N +mkUtt (mkIP (mkIDet which_IQuant (mkNum (mkNumeral n5_Unit))) city_N ) mkIP : IDet -> IP -- which five -mkIP (mkIDet which_IQuant (mkNum (mkNumeral n5_Unit))) +mkUtt (mkIP (mkIDet which_IQuant (mkNum (mkNumeral n5_Unit)))) mkIP : IQuant -> CN -> IP -- which big city -mkIP which_IQuant (mkCN big_A city_N) +mkUtt (mkIP which_IQuant (mkCN big_A city_N) ) mkIP : IQuant -> Num -> CN -> IP -- which five big cities -mkIP which_IQuant (mkNum (mkNumeral n5_Unit)) (mkCN big_A city_N) +mkUtt (mkIP which_IQuant (mkNum (mkNumeral n5_Unit)) (mkCN big_A city_N) ) mkIP : IQuant -> N -> IP -- which city -mkIP which_IQuant city_N +mkUtt (mkIP which_IQuant city_N) mkIP : IP -> Adv -> IP -- who in Paris -mkIP who_IP (mkAdv in_Prep (mkNP paris_PN)) +mkUtt (mkIP who_IP (mkAdv in_Prep (mkNP paris_PN))) what_IP : IP -- what (singular) mkUtt what_IP who_IP : IP -- who (singular) mkUtt who_IP mkIAdv : Prep -> IP -> IAdv -- in which city -mkIAdv in_Prep (mkIP which_IQuant city_N) +mkUtt (mkIAdv in_Prep (mkIP which_IQuant city_N)) mkIAdv : IAdv -> Adv -> IAdv -- where in Paris -mkIAdv where_IAdv (mkAdv in_Prep (mkNP paris_PN)) +mkUtt (mkIAdv where_IAdv (mkAdv in_Prep (mkNP paris_PN)) ) mkIDet : IQuant -> Num -> IDet -- which (songs) -mkIP (mkIDet which_IQuant pluralNum) house_N +mkUtt (mkIP (mkIDet which_IQuant pluralNum) house_N) mkIDet : IQuant -> IDet -mkIP (mkIDet which_IQuant) house_N +mkUtt (mkIP (mkIDet which_IQuant) house_N ) which_IDet : IDet -mkIP which_IDet house_N +mkUtt (mkIP which_IDet house_N) whichPl_IDet : IDet -mkIP whichPl_IDet house_N +mkUtt (mkIP whichPl_IDet house_N) mkRS : (Tense) -> (Ant) -> (Pol) -> RCl -> RS -- that wouldn't have slept -mkCN woman_N (mkRS conditionalTense anteriorAnt negativePol (mkRCl which_RP sleep_V)) +mkUtt (mkCN woman_N (mkRS conditionalTense anteriorAnt negativePol (mkRCl which_RP sleep_V))) mkRS : RCl -> RS -- -mkCN woman_N (mkRS (mkRCl which_RP sleep_V)) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP sleep_V))) mkRS : Conj -> RS -> RS -> RS -- -mkCN woman_N (mkRS or_Conj (mkRS (mkRCl which_RP sleep_V)) (mkRS (mkRCl which_RP we_NP love_V2))) +mkUtt (mkCN woman_N (mkRS or_Conj (mkRS (mkRCl which_RP sleep_V)) (mkRS (mkRCl which_RP we_NP love_V2)))) mkRCl : RP -> VP -> RCl -- who sleeps -mkCN woman_N (mkRS (mkRCl which_RP (mkVP (mkVP sleep_V) here_Adv))) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP (mkVP (mkVP sleep_V) here_Adv)))) mkRCl : RP -> V -> RCl -- who sleeps -mkCN woman_N (mkRS (mkRCl which_RP sleep_V)) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP sleep_V))) mkRCl : RP -> V2 -> NP -> RCl -- who loves her -mkCN woman_N (mkRS (mkRCl which_RP love_V2 he_NP)) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP love_V2 he_NP))) mkRCl : RP -> V3 -> NP -> NP -> RCl -- who sends it to her -mkCN woman_N (mkRS (mkRCl which_RP send_V3 it_NP he_NP)) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP send_V3 it_NP he_NP))) mkRCl : RP -> VV -> VP -> RCl -- who wants to sleep -mkCN woman_N (mkRS (mkRCl which_RP want_VV (mkVP sleep_V))) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP want_VV (mkVP sleep_V)))) mkRCl : RP -> VS -> S -> RCl -- who says that I sleep -mkCN woman_N (mkRS (mkRCl which_RP say_VS (mkS (mkCl i_NP sleep_V)))) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP say_VS (mkS (mkCl i_NP sleep_V))))) mkRCl : RP -> VQ -> QS -> RCl -- who wonders who sleeps -mkCN woman_N (mkRS (mkRCl which_RP wonder_VQ (mkQS (mkQCl who_IP sleep_V)))) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP wonder_VQ (mkQS (mkQCl who_IP sleep_V))))) mkRCl : RP -> VA -> A -> RCl -- who becomes old -mkCN woman_N (mkRS (mkRCl which_RP become_VA old_A)) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP become_VA old_A))) mkRCl : RP -> VA -> AP -> RCl -- who becomes very old -mkCN woman_N (mkRS (mkRCl which_RP become_VA (mkAP very_AdA old_A))) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP become_VA (mkAP very_AdA old_A)))) mkRCl : RP -> V2A -> NP -> A -> RCl -- who paints it red -mkCN woman_N (mkRS (mkRCl which_RP paint_V2A it_NP red_A)) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP paint_V2A it_NP red_A))) mkRCl : RP -> V2A -> NP -> AP -> RCl -- who paints it very red -mkCN woman_N (mkRS (mkRCl which_RP paint_V2A it_NP (mkAP very_AdA red_A))) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP paint_V2A it_NP (mkAP very_AdA red_A)))) mkRCl : RP -> V2S -> NP -> S -> RCl -- who answers to him that we sleep -mkCN woman_N (mkRS (mkRCl which_RP answer_V2S he_NP (mkS (mkCl we_NP sleep_V)))) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP answer_V2S he_NP (mkS (mkCl we_NP sleep_V))))) mkRCl : RP -> V2Q -> NP -> QS -> RCl -- who asks him who sleeps -mkCN woman_N (mkRS (mkRCl which_RP ask_V2Q he_NP (mkQS (mkQCl who_IP sleep_V)))) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP ask_V2Q he_NP (mkQS (mkQCl who_IP sleep_V))))) mkRCl : RP -> V2V -> NP -> VP -> RCl -- who begs him to sleep -mkCN woman_N (mkRS (mkRCl which_RP beg_V2V he_NP (mkVP sleep_V))) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP beg_V2V he_NP (mkVP sleep_V)))) mkRCl : RP -> A -> RCl -- who is old -mkCN woman_N (mkRS (mkRCl which_RP old_A)) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP old_A))) mkRCl : RP -> A -> NP -> RCl -- who is older than he -mkCN woman_N (mkRS (mkRCl which_RP old_A he_NP)) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP old_A he_NP))) mkRCl : RP -> A2 -> NP -> RCl -- who is married to him -mkCN woman_N (mkRS (mkRCl which_RP married_A2 he_NP)) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP married_A2 he_NP))) mkRCl : RP -> AP -> RCl -- who is very old -mkCN woman_N (mkRS (mkRCl which_RP (mkAP very_AdA old_A))) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP (mkAP very_AdA old_A)))) mkRCl : RP -> NP -> RCl -- who is the woman -mkCN woman_N (mkRS (mkRCl which_RP (mkNP the_Det woman_N))) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP (mkNP the_Det woman_N)))) mkRCl : RP -> N -> RCl -- who is a woman -mkCN student_N (mkRS (mkRCl which_RP woman_N)) +mkUtt (mkCN student_N (mkRS (mkRCl which_RP woman_N))) mkRCl : RP -> CN -> RCl -- who is an old woman -mkCN student_N (mkRS (mkRCl which_RP (mkCN old_A woman_N))) +mkUtt (mkCN student_N (mkRS (mkRCl which_RP (mkCN old_A woman_N)))) mkRCl : RP -> Adv -> RCl -- who is here -mkCN woman_N (mkRS (mkRCl which_RP here_Adv)) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP here_Adv))) mkRCl : RP -> VP -> RCl -- who always sleeps -mkCN woman_N (mkRS (mkRCl which_RP (mkVP always_AdV (mkVP sleep_V)))) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP (mkVP always_AdV (mkVP sleep_V))))) mkRCl : RP -> NP -> V2 -> RCl -- who she loves -mkCN woman_N (mkRS (mkRCl which_RP we_NP love_V2)) +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP we_NP love_V2))) mkRCl : RP -> ClSlash -> RCl -- who she loves today --: -mkCN woman_N (mkRS (mkRCl which_RP (mkClSlash (mkClSlash she_NP love_V2) today_Adv))) --- which_RP : RP -- which/who ---which_RP +mkUtt (mkCN woman_N (mkRS (mkRCl which_RP (mkClSlash (mkClSlash she_NP love_V2) today_Adv)))) + which_RP : RP -- which/who ) +which_RP mkRP : Prep -> NP -> RP -> RP -- all the cities in which mkRP in_Prep (mkNP all_Predet (mkNP the_Quant pluralNum city_N)) which_RP mkSSlash : Temp -> Pol -> ClSlash -> SSlash mkSSlash (mkTemp pastTense anteriorAnt) negativePol (mkClSlash she_NP (mkVPSlash see_V2)) mkClSlash : NP -> VPSlash -> ClSlash -- (whom) he sees here -mkQCl who_IP (mkClSlash she_NP (mkVPSlash see_V2)) +mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash see_V2))) mkClSlash : NP -> V2 -> ClSlash -- (whom) he sees -mkQCl who_IP (mkClSlash she_NP see_V2) +mkUtt (mkQCl who_IP (mkClSlash she_NP see_V2)) mkClSlash : NP -> VV -> V2 -> ClSlash -- (whom) he wants to see -mkQCl who_IP (mkClSlash she_NP want_VV see_V2) +mkUtt (mkQCl who_IP (mkClSlash she_NP want_VV see_V2)) mkClSlash : Cl -> Prep -> ClSlash -- (with whom) he sleeps -mkQCl who_IP (mkClSlash (mkCl she_NP sleep_V) with_Prep) +mkUtt (mkQCl who_IP (mkClSlash (mkCl she_NP sleep_V) with_Prep)) mkClSlash : ClSlash -> Adv -> ClSlash -- (whom) he sees tomorrow -mkQCl who_IP (mkClSlash (mkClSlash she_NP see_V2) today_Adv) +mkUtt (mkQCl who_IP (mkClSlash (mkClSlash she_NP see_V2) today_Adv)) mkClSlash : NP -> VS -> SSlash -> ClSlash -- (whom)she says that he s -mkQCl who_IP (mkClSlash she_NP know_VS (mkSSlash (mkTemp pastTense anteriorAnt) negativePol (mkClSlash we_NP (mkVPSlash see_V2)))) +mkUtt (mkQCl who_IP (mkClSlash she_NP know_VS (mkSSlash (mkTemp pastTense anteriorAnt) negativePol (mkClSlash we_NP (mkVPSlash see_V2))))) mkVPSlash : V2 -> VPSlash -- (whom) (she) loves -mkQCl who_IP (mkClSlash she_NP (mkVPSlash see_V2)) +mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash see_V2))) mkVPSlash : V3 -> NP -> VPSlash -- (whom) (she) gives an apple -mkQCl who_IP (mkClSlash she_NP (mkVPSlash send_V3 it_NP)) +mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash send_V3 it_NP)) ) mkVPSlash : V2A -> AP -> VPSlash -- (whom) (she) paints red -mkQCl who_IP (mkClSlash she_NP (mkVPSlash paint_V2A (mkAP red_A))) +mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash paint_V2A (mkAP red_A))) ) mkVPSlash : V2Q -> QS -> VPSlash -- (whom) (she) asks who sleeps -mkQCl who_IP (mkClSlash she_NP (mkVPSlash ask_V2Q (mkQS (mkQCl where_IAdv (mkCl i_NP sleep_V))))) +mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash ask_V2Q (mkQS (mkQCl where_IAdv (mkCl i_NP sleep_V))))) ) mkVPSlash : V2S -> S -> VPSlash -- (whom) (she) tells that we sleep -mkQCl who_IP (mkClSlash she_NP (mkVPSlash answer_V2S (mkS (mkCl i_NP sleep_V)))) +mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash answer_V2S (mkS (mkCl i_NP sleep_V)))) ) mkVPSlash : V2V -> VP -> VPSlash -- (whom) (she) forces to sleep -mkQCl who_IP (mkClSlash she_NP (mkVPSlash beg_V2V (mkVP sleep_V))) +mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash beg_V2V (mkVP sleep_V)))) mkVPSlash : VV -> VPSlash -> VPSlash -- want always to buy -mkQCl who_IP (mkClSlash she_NP (mkVPSlash want_VV (mkVPSlash see_V2))) +mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash want_VV (mkVPSlash see_V2)))) mkVPSlash : V2V -> NP -> VPSlash -> VPSlash -- beg me always to buy -mkQCl who_IP (mkClSlash she_NP (mkVPSlash beg_V2V i_NP (mkVPSlash see_V2))) +mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash beg_V2V i_NP (mkVPSlash see_V2)))) above_Prep : Prep -mkAdv above_Prep it_NP +mkUtt (mkAdv above_Prep it_NP) after_Prep : Prep -mkAdv after_Prep it_NP +mkUtt (mkAdv after_Prep it_NP) all_Predet : Predet mkUtt (mkNP all_Predet (mkNP thePl_Det man_N)) almost_AdA : AdA -mkAP almost_AdA red_A +mkUtt (mkAP almost_AdA red_A) almost_AdN : AdN -mkCard almost_AdN (mkCard (mkNumeral n8_Unit)) +mkUtt (mkCard almost_AdN (mkCard (mkNumeral n8_Unit)) ) although_Subj : Subj -mkAdv although_Subj (mkS (mkCl she_NP sleep_V)) +mkUtt (mkAdv although_Subj (mkS (mkCl she_NP sleep_V))) always_AdV : AdV always_AdV and_Conj : Conj -mkAdv and_Conj here_Adv now_Adv +mkUtt (mkAdv and_Conj here_Adv now_Adv) because_Subj : Subj -mkAdv because_Subj (mkS (mkCl she_NP sleep_V)) +mkUtt (mkAdv because_Subj (mkS (mkCl she_NP sleep_V))) before_Prep : Prep -mkAdv before_Prep it_NP +mkUtt (mkAdv before_Prep it_NP) behind_Prep : Prep -mkAdv behind_Prep it_NP +mkUtt (mkAdv behind_Prep it_NP) between_Prep : Prep -mkAdv between_Prep (mkNP and_Conj you_NP i_NP) +mkUtt (mkAdv between_Prep (mkNP and_Conj you_NP i_NP)) both7and_DConj : Conj -- both...and -mkAdv both7and_DConj here_Adv there_Adv +mkUtt (mkAdv both7and_DConj here_Adv there_Adv) but_PConj : PConj but_PConj by8agent_Prep : Prep -- by (agent) -mkAdv by8agent_Prep it_NP +mkUtt (mkAdv by8agent_Prep it_NP) by8means_Prep : Prep -- by (means of) -mkAdv by8means_Prep it_NP +mkUtt (mkAdv by8means_Prep it_NP) can8know_VV : VV -- can (capacity) mkUtt (mkVP can8know_VV (mkVP sleep_V)) can_VV : VV -- can (possibility) mkUtt (mkVP can_VV (mkVP sleep_V)) during_Prep : Prep -mkAdv during_Prep it_NP +mkUtt (mkAdv during_Prep it_NP) either7or_DConj : Conj -- either...or -mkAdv either7or_DConj here_Adv there_Adv +mkUtt (mkAdv either7or_DConj here_Adv there_Adv) every_Det : Det mkUtt (mkNP every_Det woman_N) everybody_NP : NP -- everybody @@ -748,21 +748,21 @@ mkUtt everybody_NP everything_NP : NP mkUtt everything_NP everywhere_Adv : Adv -everywhere_Adv +mkUtt (everywhere_Adv) few_Det : Det mkUtt (mkNP few_Det woman_N) for_Prep : Prep -mkAdv for_Prep it_NP +mkUtt (mkAdv for_Prep it_NP) from_Prep : Prep -mkAdv from_Prep it_NP +mkUtt (mkAdv from_Prep it_NP) he_Pron : Pron mkUtt (mkNP he_Pron) here_Adv : Adv -here_Adv +mkUtt (here_Adv) here7to_Adv : Adv -- to here -here7to_Adv +mkUtt (here7to_Adv) here7from_Adv : Adv -- from here -here7from_Adv +mkUtt (here7from_Adv) how_IAdv : IAdv mkUtt how_IAdv how8many_IDet : IDet @@ -772,11 +772,11 @@ mkUtt how8much_IAdv i_Pron : Pron mkUtt (mkNP i_Pron) if_Subj : Subj -mkAdv if_Subj (mkS (mkCl she_NP sleep_V)) +mkUtt (mkAdv if_Subj (mkS (mkCl she_NP sleep_V))) in8front_Prep : Prep -- in front of -mkAdv in8front_Prep it_NP +mkUtt (mkAdv in8front_Prep it_NP) in_Prep : Prep -mkAdv in_Prep it_NP +mkUtt (mkAdv in_Prep it_NP) it_Pron : Pron mkUtt (mkNP it_Pron) less_CAdv : CAdv @@ -794,25 +794,25 @@ must_VV no_Utt : Utt no_Utt on_Prep : Prep -mkAdv on_Prep it_NP +mkUtt (mkAdv on_Prep it_NP) only_Predet : Predet only_Predet or_Conj : Conj -mkAdv or_Conj here_Adv there_Adv +mkUtt (mkAdv or_Conj here_Adv there_Adv) otherwise_PConj : PConj otherwise_PConj part_Prep : Prep -mkAdv part_Prep it_NP +mkUtt (mkAdv part_Prep it_NP) please_Voc : Voc please_Voc possess_Prep : Prep -- of (possessive) -mkAdv possess_Prep it_NP +mkUtt (mkAdv possess_Prep it_NP) quite_Adv : AdA quite_Adv she_Pron : Pron mkUtt (mkNP she_Pron) so_AdA : AdA -so_AdA +mkUtt (mkAP so_AdA warm_A) someSg_Det : Det mkUtt (mkNP someSg_Det wine_N) somePl_Det : Det @@ -822,17 +822,17 @@ mkUtt somebody_NP something_NP : NP mkUtt something_NP somewhere_Adv : Adv -somewhere_Adv +mkUtt (somewhere_Adv) that_Quant : Quant mkUtt (mkNP that_Quant house_N) that_Subj : Subj -mkAdv that_Subj (mkS (mkCl she_NP sleep_V)) +mkUtt (mkAdv that_Subj (mkS (mkCl she_NP sleep_V))) there_Adv : Adv -there_Adv +mkUtt (there_Adv) there7to_Adv : Adv -- to there -there7to_Adv +mkUtt (there7to_Adv) there7from_Adv : Adv -- from there -there7from_Adv +mkUtt (there7from_Adv) therefore_PConj : PConj therefore_PConj they_Pron : Pron @@ -840,41 +840,41 @@ mkUtt (mkNP they_Pron) this_Quant : Quant mkUtt (mkNP this_Quant house_N) through_Prep : Prep -mkAdv through_Prep it_NP +mkUtt (mkAdv through_Prep it_NP) to_Prep : Prep -mkAdv to_Prep it_NP +mkUtt (mkAdv to_Prep it_NP) too_AdA : AdA -too_AdA +mkUtt (mkAP too_AdA warm_A) under_Prep : Prep -mkAdv under_Prep it_NP +mkUtt (mkAdv under_Prep it_NP) very_AdA : AdA -very_AdA +mkUtt (mkAP very_AdA warm_A) want_VV : VV -want_VV +mkUtt (mkVP want_VV (mkVP sleep_V)) we_Pron : Pron mkUtt (mkNP we_Pron) whatPl_IP : IP -- what (plural) -whatPl_IP +mkUtt (whatPl_IP) whatSg_IP : IP -- what (singular) -whatSg_IP +mkUtt (whatSg_IP) when_IAdv : IAdv mkUtt when_IAdv when_Subj : Subj -mkAdv when_Subj (mkS (mkCl she_NP sleep_V)) +mkUtt (mkAdv when_Subj (mkS (mkCl she_NP sleep_V))) where_IAdv : IAdv mkUtt where_IAdv which_IQuant : IQuant -mkIP which_IQuant house_N +mkUtt (mkIP which_IQuant house_N) whoPl_IP : IP -- who (plural) -whoPl_IP +mkUtt (whoPl_IP) whoSg_IP : IP -- who (singular) -whoSg_IP +mkUtt (whoSg_IP) why_IAdv : IAdv mkUtt why_IAdv with_Prep : Prep -mkAdv with_Prep it_NP +mkUtt (mkAdv with_Prep it_NP) without_Prep : Prep -mkAdv without_Prep it_NP +mkUtt (mkAdv without_Prep it_NP) yes_Utt : Utt yes_Utt youSg_Pron : Pron -- you (singular) @@ -888,17 +888,17 @@ mkUtt (mkNP no_Quant house_N) not_Predet : Predet mkUtt (mkNP not_Predet everybody_NP) if_then_Conj : Conj -mkAdv if_then_Conj here_Adv there_Adv +mkUtt (mkAdv if_then_Conj here_Adv there_Adv) at_least_AdN : AdN -mkCard at_least_AdN (mkCard (mkNumeral n8_Unit)) +mkUtt (mkCard at_least_AdN (mkCard (mkNumeral n8_Unit))) at_most_AdN : AdN -mkCard at_most_AdN (mkCard (mkNumeral n8_Unit)) +mkUtt (mkCard at_most_AdN (mkCard (mkNumeral n8_Unit))) nobody_NP : NP mkUtt nobody_NP nothing_NP : NP mkUtt nothing_NP except_Prep : Prep -mkAdv except_Prep it_NP +mkUtt (mkAdv except_Prep it_NP) as_CAdv : CAdv as_CAdv have_V2 : V2 diff --git a/lib/doc/synopsis-intro.txt b/lib/doc/synopsis-intro.txt index eb1770287..1f8fd6d74 100644 --- a/lib/doc/synopsis-intro.txt +++ b/lib/doc/synopsis-intro.txt @@ -23,12 +23,12 @@ constructing trees in them. - [Chapter 2 #toc5]: syntactic construction functions, with cross-links and examples. - [Chapter 3 #toc83]: morphological paradigms. -- [Chapter 4 #toc105]: additional libraries. -- [Chapter 5 #toc111]: how to "browse" the library by +- [Chapter 4 #toc108]: additional libraries. +- [Chapter 5 #toc114]: how to "browse" the library by loading the grammars into the ``gf`` command editor. -- [Chapter 6 #toc112]: a brief example of how application grammars can +- [Chapter 6 #toc115]: a brief example of how application grammars can use the resource modules. -- [Detailed table of contents #toc113]. +- [Detailed table of contents #toc116]. Other relevant documents: @@ -36,6 +36,7 @@ Other relevant documents: the internals of the resource grammar - [The RGL Status Document ./status.html]: the current status of different languages and the authors of each grammar +- [RGL Source Browser ./browse]: look up functions and their source code - [Resource Grammar Tutorial http://www.grammaticalframework.org/doc/gf-lrec-2010.pdf] as presented in LREC-2010. - Paper "The GF Resource Grammar Library" by A. Ranta diff --git a/lib/doc/synopsis.html b/lib/doc/synopsis.html index f3334a543..8960b0522 100644 --- a/lib/doc/synopsis.html +++ b/lib/doc/synopsis.html @@ -37,12 +37,12 @@ constructing trees in them.
gf command editor.
-@@ -54,6 +54,7 @@ Other relevant documents: the internals of the resource grammar
comparAP-> APmkUtt (comparAP warm_A) mkUtt (comparAP warm_A) mkAP-> APmkAP warm_A mkUtt (mkAP warm_A) mkAP-> NP -> APmkAP warm_A (mkNP paris_PN) mkUtt (mkAP warm_A (mkNP paris_PN)) mkAP-> NP -> APmkAP married_A2 she_NP mkUtt (mkAP married_A2 she_NP ) mkAP-> APmkAP married_A2 mkUtt (mkAP married_A2) mkAP-> S -> APmkCl (mkVP (mkAP (mkAP good_A) (mkS (mkCl she_NP sleep_V)))) mkUtt (mkCl (mkVP (mkAP (mkAP good_A) (mkS (mkCl she_NP sleep_V))))) mkAP-> QS -> APmkCl (mkVP (mkAP (mkAP uncertain_A) (mkQS (mkQCl who_IP sleep_V)))) mkUtt (mkCl (mkVP (mkAP (mkAP uncertain_A) (mkQS (mkQCl who_IP sleep_V))))) mkAP-> VP -> APmkCl she_NP (mkAP (mkAP ready_A) (mkVP sleep_V)) mkUtt (mkCl she_NP (mkAP (mkAP ready_A) (mkVP sleep_V))) mkAP-> SC -> APmkCl she_NP (mkAP (mkAP ready_A) (mkSC (mkVP sleep_V))) mkUtt (mkCl she_NP (mkAP (mkAP ready_A) (mkSC (mkVP sleep_V)))) mkAP-> A -> APmkAP very_AdA old_A mkUtt (mkAP very_AdA old_A) mkAP-> AP -> APmkAP very_AdA (mkAP very_AdA old_A) mkUtt (mkAP very_AdA (mkAP very_AdA old_A)) mkAP-> AP -> AP -> APmkAP or_Conj (mkAP old_A) (mkAP young_A) mkUtt (mkAP or_Conj (mkAP old_A) (mkAP young_A)) mkAP-> ListAP -> APmkAP and_Conj (mkListAP (mkAP old_A) (mkListAP (mkAP big_A) (mkAP warm_A))) mkUtt (mkAP and_Conj (mkListAP (mkAP old_A) (mkListAP (mkAP big_A) (mkAP warm_A)))) mkAP-> APmkAP (mkOrd old_A) mkUtt (mkAP (mkOrd old_A)) mkAP-> AP -> NP -> APmkAP as_CAdv (mkAP old_A) she_NP mkUtt (mkAP as_CAdv (mkAP old_A) she_NP) reflAP-> APmkUtt (reflAP married_A2) mkUtt (reflAP married_A2) almost_AdAmkAP almost_AdA red_A mkUtt (mkAP almost_AdA red_A) quite_Advso_AdAso_AdA mkUtt (mkAP so_AdA warm_A) too_AdAtoo_AdA mkUtt (mkAP too_AdA warm_A) very_AdAvery_AdA mkUtt (mkAP very_AdA warm_A) almost_AdNmkCard almost_AdN (mkCard (mkNumeral n8_Unit)) mkUtt (mkCard almost_AdN (mkCard (mkNumeral n8_Unit)) ) at_least_AdNmkCard at_least_AdN (mkCard (mkNumeral n8_Unit)) mkUtt (mkCard at_least_AdN (mkCard (mkNumeral n8_Unit))) at_most_AdNmkCard at_most_AdN (mkCard (mkNumeral n8_Unit)) mkUtt (mkCard at_most_AdN (mkCard (mkNumeral n8_Unit))) mkAdN-> AdNmkCard (mkAdN more_CAdv) (mkCard (mkNumeral n8_Unit)) mkUtt (mkCard (mkAdN more_CAdv) (mkCard (mkNumeral n8_Unit))) everywhere_Adveverywhere_Adv mkUtt (everywhere_Adv) here7from_Advhere7from_Adv mkUtt (here7from_Adv) here7to_Advhere7to_Adv mkUtt (here7to_Adv) here_Advhere_Adv mkUtt (here_Adv) mkAdv-> AdvmkAdv warm_A mkUtt (mkAdv warm_A) mkAdv-> NP -> AdvmkAdv in_Prep (mkNP the_Det house_N) mkUtt (mkAdv in_Prep (mkNP the_Det house_N)) mkAdv-> S -> AdvmkAdv when_Subj (mkS (mkCl she_NP sleep_V)) mkUtt (mkAdv when_Subj (mkS (mkCl she_NP sleep_V))) mkAdv-> A -> NP -> AdvmkAdv more_CAdv warm_A he_NP mkUtt (mkAdv more_CAdv warm_A he_NP ) mkAdv-> A -> S -> AdvmkAdv more_CAdv warm_A (mkS (mkCl he_NP run_V)) mkUtt (mkAdv more_CAdv warm_A (mkS (mkCl he_NP run_V)) ) mkAdv-> Adv -> AdvmkAdv very_AdA (mkAdv warm_A) mkUtt (mkAdv very_AdA (mkAdv warm_A) ) mkAdv-> Adv -> Adv -> AdvmkAdv and_Conj here_Adv now_Adv mkUtt (mkAdv and_Conj here_Adv now_Adv) mkAdv-> ListAdv -> AdvmkAdv and_Conj (mkListAdv (mkAdv with_Prep she_NP) (mkListAdv here_Adv now_Adv)) mkUtt (mkAdv and_Conj (mkListAdv (mkAdv with_Prep she_NP) (mkListAdv here_Adv now_Adv))) somewhere_Advsomewhere_Adv mkUtt (somewhere_Adv) there7from_Advthere7from_Adv mkUtt (there7from_Adv) there7to_Advthere7to_Adv mkUtt (there7to_Adv) there_Advthere_Adv mkUtt (there_Adv) anteriorAntmkS anteriorAnt (mkCl she_NP sleep_V) mkUtt (mkS anteriorAnt (mkCl she_NP sleep_V)) simultaneousAntmkS simultaneousAnt (mkCl she_NP sleep_V) mkUtt (mkS simultaneousAnt (mkCl she_NP sleep_V)) mkCN-> CNmkCN house_N mkUtt (mkCN house_N ) mkCN-> NP -> CNmkCN mother_N2 (mkNP the_Det king_N) mkUtt (mkCN mother_N2 (mkNP the_Det king_N)) mkCN-> NP -> NP -> CNmkCN distance_N3 (mkNP this_Det city_N) (mkNP paris_PN) mkUtt (mkCN distance_N3 (mkNP this_Det city_N) (mkNP paris_PN) ) mkCN-> CNmkCN mother_N2 mkUtt (mkCN mother_N2) mkCN-> CNmkCN distance_N3 mkUtt (mkCN distance_N3) mkCN-> N -> CNmkCN big_A house_N mkUtt (mkCN big_A house_N ) mkCN-> CN -> CNmkCN big_A (mkCN blue_A house_N) mkUtt (mkCN big_A (mkCN blue_A house_N)) mkCN-> N -> CNmkCN (mkAP very_AdA big_A) house_N mkUtt (mkCN (mkAP very_AdA big_A) house_N ) mkCN-> CN -> CNmkCN (mkAP very_AdA big_A) (mkCN blue_A house_N) mkUtt (mkCN (mkAP very_AdA big_A) (mkCN blue_A house_N) ) mkCN-> RS -> CNmkCN man_N (mkRS (mkRCl which_RP she_NP love_V2)) mkUtt (mkCN man_N (mkRS (mkRCl which_RP she_NP love_V2))) mkCN-> RS -> CNmkCN (mkCN old_A man_N) (mkRS (mkRCl which_RP she_NP love_V2)) mkUtt (mkCN (mkCN old_A man_N) (mkRS (mkRCl which_RP she_NP love_V2)) ) mkCN-> Adv -> CNmkCN house_N (mkAdv on_Prep (mkNP the_Det hill_N)) mkUtt (mkCN house_N (mkAdv on_Prep (mkNP the_Det hill_N))) mkCN-> Adv -> CNmkCN (mkCN big_A house_N) (mkAdv on_Prep (mkNP the_Det hill_N)) mkUtt (mkCN (mkCN big_A house_N) (mkAdv on_Prep (mkNP the_Det hill_N))) mkCN-> S -> CNmkNum (mkCard almost_AdN (mkCard (mkNumeral n5_Unit))) mkUtt (mkCN (mkCN rule_N) (mkS (mkCl she_NP sleep_V))) mkCN-> QS -> CNmkNum (mkCard almost_AdN (mkCard (mkNumeral n5_Unit))) mkUtt (mkCN (mkCN question_N) (mkQS (mkQCl (mkCl she_NP sleep_V)))) mkCN-> VP -> CNmkCN (mkCN reason_N) (mkVP sleep_V) mkUtt (mkCN (mkCN reason_N) (mkVP sleep_V)) mkCN-> SC -> CNmkCN (mkCN reason_N) (mkVP sleep_V) mkUtt (mkCN (mkCN reason_N) (mkVP sleep_V)) mkCN-> NP -> CNmkCN king_N (mkNP john_PN) mkUtt (mkCN king_N (mkNP john_PN) ) mkCN-> NP -> CNmkCN (mkCN old_A king_N) (mkNP john_PN) mkUtt (mkCN (mkCN old_A king_N) (mkNP john_PN)) mkCard-> CardmkCard (mkNumeral n7_Unit) mkUtt (mkCard (mkNumeral n7_Unit)) mkCardgenericCl-> ClmkS (genericCl (mkVP sleep_V)) mkUtt (mkS (genericCl (mkVP sleep_V)) ) mkCl-> V -> ClmkCl she_NP sleep_V mkUtt (mkCl she_NP sleep_V) mkCl-> V2 -> NP -> ClmkCl she_NP love_V2 he_NP mkUtt (mkCl she_NP love_V2 he_NP) mkCl-> V3 -> NP -> NP -> ClmkCl she_NP send_V3 it_NP he_NP mkUtt (mkCl she_NP send_V3 it_NP he_NP) mkCl-> VV -> VP -> ClmkCl she_NP want_VV (mkVP sleep_V) mkUtt (mkCl she_NP want_VV (mkVP sleep_V)) mkCl-> VS -> S -> ClmkCl she_NP say_VS (mkS (mkCl i_NP sleep_V)) mkUtt (mkCl she_NP say_VS (mkS (mkCl i_NP sleep_V))) mkCl-> VQ -> QS -> ClmkCl she_NP wonder_VQ (mkQS (mkQCl who_IP sleep_V)) mkUtt (mkCl she_NP wonder_VQ (mkQS (mkQCl who_IP sleep_V))) mkCl-> VA -> A -> ClmkCl she_NP become_VA old_A mkUtt (mkCl she_NP become_VA old_A) mkCl-> VA -> AP -> ClmkCl she_NP become_VA (mkAP very_AdA old_A) mkUtt (mkCl she_NP become_VA (mkAP very_AdA old_A)) mkCl-> V2A -> NP -> A -> ClmkCl she_NP paint_V2A it_NP red_A mkUtt (mkCl she_NP paint_V2A it_NP red_A) mkCl-> V2A -> NP -> AP -> ClmkCl she_NP paint_V2A it_NP (mkAP red_A) mkUtt (mkCl she_NP paint_V2A it_NP (mkAP red_A)) mkCl-> V2S -> NP -> S -> ClmkCl she_NP answer_V2S he_NP (mkS (mkCl we_NP sleep_V)) mkUtt (mkCl she_NP answer_V2S he_NP (mkS (mkCl we_NP sleep_V))) mkCl-> V2Q -> NP -> QS -> ClmkCl she_NP ask_V2Q he_NP (mkQS (mkQCl who_IP sleep_V)) mkUtt (mkCl she_NP ask_V2Q he_NP (mkQS (mkQCl who_IP sleep_V))) mkCl-> V2V -> NP -> VP -> ClmkCl she_NP beg_V2V he_NP (mkVP sleep_V) mkUtt (mkCl she_NP beg_V2V he_NP (mkVP sleep_V)) mkCl-> A -> ClmkCl she_NP old_A mkUtt (mkCl she_NP old_A) mkCl-> A -> NP -> ClmkCl she_NP old_A he_NP mkUtt (mkCl she_NP old_A he_NP) mkCl-> A2 -> NP -> ClmkCl she_NP married_A2 he_NP mkUtt (mkCl she_NP married_A2 he_NP) mkCl-> AP -> ClmkCl she_NP (mkAP very_AdA old_A) mkUtt (mkCl she_NP (mkAP very_AdA old_A)) mkCl-> NP -> ClmkCl she_NP (mkNP the_Det woman_N) mkUtt (mkCl she_NP (mkNP the_Det woman_N)) mkCl-> N -> ClmkCl she_NP woman_N mkUtt (mkCl she_NP woman_N) mkCl-> CN -> ClmkCl she_NP (mkCN old_A woman_N) mkUtt (mkCl she_NP (mkCN old_A woman_N)) mkCl-> Adv -> ClmkCl she_NP here_Adv mkUtt (mkCl she_NP here_Adv) mkCl-> VP -> ClmkCl she_NP (mkVP always_AdV (mkVP sleep_V)) mkUtt (mkCl she_NP (mkVP always_AdV (mkVP sleep_V))) mkCl-> ClmkCl house_N mkUtt (mkCl house_N) mkCl-> ClmkUtt (mkCl (mkCN old_A house_N)) mkCl-> ClmkCl (mkNP many_Det house_N) mkUtt (mkCl (mkNP many_Det house_N) ) mkCl-> RS -> ClmkCl she_NP (mkRS (mkRCl which_RP (mkVP sleep_V))) mkUtt (mkCl she_NP (mkRS (mkRCl which_RP (mkVP sleep_V)))) mkCl-> S -> ClmkCl here_Adv (mkS (mkCl she_NP sleep_V)) mkUtt (mkCl here_Adv (mkS (mkCl she_NP sleep_V)) ) mkCl-> ClmkCl rain_V0 mkUtt (mkCl rain_V0 ) mkCl-> ClmkCl (progressiveVP (mkVP rain_V0)) mkUtt (mkCl (progressiveVP (mkVP rain_V0))) mkCl-> VP -> ClmkCl (mkSC (mkS (mkCl she_NP sleep_V))) (mkVP good_A) mkUtt (mkCl (mkSC (mkS (mkCl she_NP sleep_V))) (mkVP good_A)) mkClSlash-> VPSlash -> ClSlashmkQCl who_IP (mkClSlash she_NP (mkVPSlash see_V2)) mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash see_V2))) mkClSlash-> V2 -> ClSlashmkQCl who_IP (mkClSlash she_NP see_V2) mkUtt (mkQCl who_IP (mkClSlash she_NP see_V2)) mkClSlash-> VV -> V2 -> ClSlashmkQCl who_IP (mkClSlash she_NP want_VV see_V2) mkUtt (mkQCl who_IP (mkClSlash she_NP want_VV see_V2)) mkClSlash-> Prep -> ClSlashmkQCl who_IP (mkClSlash (mkCl she_NP sleep_V) with_Prep) mkUtt (mkQCl who_IP (mkClSlash (mkCl she_NP sleep_V) with_Prep)) mkClSlash-> Adv -> ClSlashmkQCl who_IP (mkClSlash (mkClSlash she_NP see_V2) today_Adv) mkUtt (mkQCl who_IP (mkClSlash (mkClSlash she_NP see_V2) today_Adv)) mkClSlash-> VS -> SSlash -> ClSlashmkQCl who_IP (mkClSlash she_NP know_VS (mkSSlash (mkTemp pastTense anteriorAnt) negativePol (mkClSlash we_NP (mkVPSlash see_V2)))) mkUtt (mkQCl who_IP (mkClSlash she_NP know_VS (mkSSlash (mkTemp pastTense anteriorAnt) negativePol (mkClSlash we_NP (mkVPSlash see_V2))))) mkComp-> CompmkComp (mkAP old_A) mkUtt (mkVP (mkComp (mkAP old_A))) mkComp-> CompmkComp (mkNP this_Det man_N) mkUtt (mkVP (mkComp (mkNP this_Det man_N))) mkComp-> CompmkComp here_Adv mkUtt (mkVP (mkComp here_Adv)) and_ConjmkAdv and_Conj here_Adv now_Adv mkUtt (mkAdv and_Conj here_Adv now_Adv) both7and_DConjmkAdv both7and_DConj here_Adv there_Adv mkUtt (mkAdv both7and_DConj here_Adv there_Adv) either7or_DConjmkAdv either7or_DConj here_Adv there_Adv mkUtt (mkAdv either7or_DConj here_Adv there_Adv) if_then_ConjmkAdv if_then_Conj here_Adv there_Adv mkUtt (mkAdv if_then_Conj here_Adv there_Adv) or_ConjmkAdv or_Conj here_Adv there_Adv mkUtt (mkAdv or_Conj here_Adv there_Adv) every_DetmkUtt (mkNP every_Det woman_N) mkUtt (mkNP every_Det woman_N) few_DetmkUtt (mkNP few_Det woman_N) mkUtt (mkNP few_Det woman_N) many_DetmkUtt (mkNP many_Det house_N) mkUtt (mkNP many_Det house_N) mkDet-> DetmkDet this_Quant mkUtt (mkNP (mkDet this_Quant)) mkDet-> Card -> DetmkDet this_Quant (mkCard (mkNumeral n5_Unit)) mkUtt (mkNP (mkDet this_Quant (mkCard (mkNumeral n5_Unit)))) mkDet-> Ord -> DetmkDet the_Quant (mkOrd (mkNumeral n5_Unit)) mkUtt (mkNP (mkDet the_Quant (mkOrd (mkNumeral n5_Unit)))) mkDet-> Num -> Ord -> DetmkDet the_Quant (mkNum (mkNumeral n5_Unit)) (mkOrd good_A) mkUtt (mkNP (mkDet the_Quant (mkNum (mkNumeral n5_Unit)) (mkOrd good_A))) mkDet-> Num -> DetmkDet this_Quant pluralNum mkUtt (mkNP (mkDet this_Quant pluralNum)) mkDet-> DetmkDet (mkCard (mkNumeral n5_Unit)) mkUtt (mkNP (mkDet (mkCard (mkNumeral n5_Unit)))) mkDetmkDet-> Num -> DetmkDet i_Pron (mkNum (mkNumeral n5_Unit)) mkUtt (mkNP (mkDet i_Pron (mkNum (mkNumeral n5_Unit)))) much_DetmkUtt (mkNP much_Det wine_N) mkUtt (mkNP much_Det wine_N) somePl_DetmkUtt (mkNP somePl_Det woman_N) mkUtt (mkNP somePl_Det woman_N) someSg_DetmkUtt (mkNP someSg_Det wine_N) mkUtt (mkNP someSg_Det wine_N) that_DetmkUtt (mkNP that_Det woman_N) mkUtt (mkNP that_Det woman_N) thePl_Detthese_DetmkUtt (mkNP these_Det woman_N) mkUtt (mkNP these_Det woman_N) this_DetmkUtt (mkNP this_Det woman_N) mkUtt (mkNP this_Det woman_N) those_DetmkUtt (mkNP those_Det woman_N) mkUtt (mkNP those_Det woman_N) mkDigits-> DigitsmkDigits n4_Dig mkUtt (mkCard (mkDigits n4_Dig)) mkDigits-> Digits -> DigitsmkDigits n1_Dig (mkDigits n2_Dig (mkDigits n3_Dig (mkDigits n3_Dig (mkDigits n4_Dig (mkDigits n8_Dig (mkDigits n6_Dig)))))) mkUtt (mkCard (mkDigits n1_Dig (mkDigits n2_Dig (mkDigits n3_Dig (mkDigits n3_Dig (mkDigits n4_Dig (mkDigits n8_Dig (mkDigits n6_Dig)))))))) how8much_IAdvmkUtt how8much_IAdv mkUtt how8much_IAdv how_IAdvmkUtt how_IAdv mkUtt how_IAdv mkIAdv-> IP -> IAdvmkIAdv in_Prep (mkIP which_IQuant city_N) mkUtt (mkIAdv in_Prep (mkIP which_IQuant city_N)) mkIAdv-> Adv -> IAdvmkIAdv where_IAdv (mkAdv in_Prep (mkNP paris_PN)) mkUtt (mkIAdv where_IAdv (mkAdv in_Prep (mkNP paris_PN)) ) when_IAdvmkUtt when_IAdv mkUtt when_IAdv where_IAdvmkUtt where_IAdv mkUtt where_IAdv why_IAdvmkUtt why_IAdv mkUtt why_IAdv how8many_IDetmkUtt (mkIP how8many_IDet house_N) mkUtt (mkIP how8many_IDet house_N) mkIDet-> Num -> IDetmkIP (mkIDet which_IQuant pluralNum) house_N mkUtt (mkIP (mkIDet which_IQuant pluralNum) house_N) mkIDet-> IDetmkIP (mkIDet which_IQuant) house_N mkUtt (mkIP (mkIDet which_IQuant) house_N ) whichPl_IDetmkIP whichPl_IDet house_N mkUtt (mkIP whichPl_IDet house_N) which_IDetmkIP which_IDet house_N mkUtt (mkIP which_IDet house_N) mkIP-> CN -> IPmkIP (mkIDet which_IQuant (mkNum (mkNumeral n5_Unit))) (mkCN big_A city_N) mkUtt (mkIP (mkIDet which_IQuant (mkNum (mkNumeral n5_Unit))) (mkCN big_A city_N) ) mkIP-> N -> IPmkIP (mkIDet which_IQuant (mkNum (mkNumeral n5_Unit))) city_N mkUtt (mkIP (mkIDet which_IQuant (mkNum (mkNumeral n5_Unit))) city_N ) mkIP-> IPmkIP (mkIDet which_IQuant (mkNum (mkNumeral n5_Unit))) mkUtt (mkIP (mkIDet which_IQuant (mkNum (mkNumeral n5_Unit)))) mkIP-> CN -> IPmkIP which_IQuant (mkCN big_A city_N) mkUtt (mkIP which_IQuant (mkCN big_A city_N) ) mkIP-> Num -> CN -> IPmkIP which_IQuant (mkNum (mkNumeral n5_Unit)) (mkCN big_A city_N) mkUtt (mkIP which_IQuant (mkNum (mkNumeral n5_Unit)) (mkCN big_A city_N) ) mkIP-> N -> IPmkIP which_IQuant city_N mkUtt (mkIP which_IQuant city_N) mkIP-> Adv -> IPmkIP who_IP (mkAdv in_Prep (mkNP paris_PN)) mkUtt (mkIP who_IP (mkAdv in_Prep (mkNP paris_PN))) whatPl_IPwhatPl_IP mkUtt (whatPl_IP) whatSg_IPwhatSg_IP mkUtt (whatSg_IP) what_IPmkUtt what_IP mkUtt what_IP whoPl_IPwhoPl_IP mkUtt (whoPl_IP) whoSg_IPwhoSg_IP mkUtt (whoSg_IP) who_IPmkUtt who_IP mkUtt who_IP which_IQuantmkIP which_IQuant house_N mkUtt (mkIP which_IQuant house_N) mkImp-> ImpmkImp (mkVP (mkVP come_V) (mkAdv to_Prep (mkNP i_Pron house_N))) mkUtt (mkImp (mkVP (mkVP come_V) (mkAdv to_Prep (mkNP i_Pron house_N)))) mkImp-> ImpmkImp come_V mkUtt (mkImp come_V) mkImp-> NP -> ImpmkImp buy_V2 it_NP mkUtt (mkImp buy_V2 it_NP) pluralImpFormmkUtt pluralImpForm (mkImp (mkVP man_N)) mkUtt pluralImpForm (mkImp (mkVP man_N)) politeImpFormmkUtt politeImpForm (mkImp (mkVP man_N)) mkUtt politeImpForm (mkImp (mkVP man_N)) singularImpFormmkUtt singularImpForm (mkImp (mkVP man_N)) mkUtt singularImpForm (mkImp (mkVP man_N)) i_NPmkUtt i_NP mkUtt i_NP it_NPmkNP-> N -> NPmkUtt (mkNP this_Quant man_N) mkUtt (mkNP this_Quant man_N) mkNP-> CN -> NPmkUtt (mkNP this_Quant (mkCN old_A man_N)) mkUtt (mkNP this_Quant (mkCN old_A man_N)) mkNP-> Num -> CN -> NPmkUtt (mkNP this_Quant (mkNum (mkNumeral n5_Unit)) (mkCN old_A man_N)) mkUtt (mkNP this_Quant (mkNum (mkNumeral n5_Unit)) (mkCN old_A man_N)) mkNP-> Num -> N -> NPmkUtt (mkNP this_Quant (mkNum (mkNumeral n5_Unit)) man_N) mkUtt (mkNP this_Quant (mkNum (mkNumeral n5_Unit)) man_N) mkNP-> CN -> NPmkUtt (mkNP (mkDet the_Quant (mkNum (mkNumeral n5_Unit))) (mkCN old_A man_N)) mkUtt (mkNP (mkDet the_Quant (mkNum (mkNumeral n5_Unit))) (mkCN old_A man_N)) mkNP-> N -> NPmkUtt (mkNP (mkDet the_Quant (mkNum (mkNumeral n5_Unit))) man_N) mkUtt (mkNP (mkDet the_Quant (mkNum (mkNumeral n5_Unit))) man_N) mkNP-> CN -> NPmkUtt (mkNP (mkNumeral (tenfoldSub100 n5_Unit)) (mkCN old_A man_N)) mkUtt (mkNP (mkNumeral (tenfoldSub100 n5_Unit)) (mkCN old_A man_N)) mkNP-> N -> NPmkUtt (mkNP (mkNumeral (tenfoldSub100 n5_Unit)) man_N) mkUtt (mkNP (mkNumeral (tenfoldSub100 n5_Unit)) man_N) mkNP-> CN -> NPmkUtt (mkNP (mkDigits n5_Dig (mkDigits n1_Dig)) (mkCN old_A man_N)) mkUtt (mkNP (mkDigits n5_Dig (mkDigits n1_Dig)) (mkCN old_A man_N)) mkNP-> N -> NPmkUtt (mkNP (mkDigits n5_Dig (mkDigits n1_Dig)) man_N) mkUtt (mkNP (mkDigits n5_Dig (mkDigits n1_Dig)) man_N) mkNPmkNP-> CN -> NPmkUtt (mkNP i_Pron (mkCN old_A man_N)) mkUtt (mkNP i_Pron (mkCN old_A man_N)) mkNP-> N -> NPmkUtt (mkNP i_Pron man_N) mkUtt (mkNP i_Pron man_N) mkNPmkNP-> Num -> NPmkUtt (mkNP this_Quant (mkNum (mkNumeral n5_Unit))) mkUtt (mkNP this_Quant (mkNum (mkNumeral n5_Unit))) mkNP-> NPmkUtt (mkNP (mkDet the_Quant (mkNum (mkNumeral n5_Unit)) (mkOrd good_A))) mkUtt (mkNP (mkDet the_Quant (mkNum (mkNumeral n5_Unit)) (mkOrd good_A))) mkNP-> NPmkUtt (mkNP (mkCN old_A beer_N)) mkUtt (mkNP (mkCN old_A beer_N)) mkNPmkNP-> NP -> NPmkUtt (mkNP only_Predet (mkNP this_Det woman_N)) mkUtt (mkNP only_Predet (mkNP this_Det woman_N)) mkNP-> V2 -> NPmkUtt (mkNP (mkNP the_Det man_N) see_V2) mkUtt (mkNP (mkNP the_Det man_N) see_V2) mkNP-> Adv -> NPmkUtt (mkNP (mkNP paris_PN) today_Adv) mkUtt (mkNP (mkNP paris_PN) today_Adv) mkNP-> RS -> NPmkUtt (mkNP (mkNP john_PN) (mkRS (mkRCl which_RP (mkVP walk_V)))) mkUtt (mkNP (mkNP john_PN) (mkRS (mkRCl which_RP (mkVP walk_V)))) mkNP-> NP -> NP -> NPmkUtt (mkNP or_Conj (mkNP this_Det woman_N) (mkNP john_PN)) mkUtt (mkNP or_Conj (mkNP this_Det woman_N) (mkNP john_PN)) mkNP-> ListNP -> NPmkUtt (mkNP or_Conj (mkListNP (mkNP this_Det woman_N) (mkListNP (mkNP john_PN) i_NP))) mkUtt (mkNP or_Conj (mkListNP (mkNP this_Det woman_N) (mkListNP (mkNP john_PN) i_NP))) nobody_NPyou_NPmkUtt you_NP mkUtt you_NP mkNum-> NummkNum (mkNumeral (tenfoldSub100 n2_Unit)) mkNum (mkNumeral (tenfoldSub100 n2_Unit)) mkNum-> NummkNum (mkDigits n2_Dig (mkDigits n1_Dig)) mkNum (mkDigits n2_Dig (mkDigits n1_Dig)) mkNummkNum-> NummkNum (mkCard almost_AdN (mkCard (mkNumeral n5_Unit))) mkNum (mkCard almost_AdN (mkCard (mkNumeral n5_Unit))) mkNum-> Card -> NummkNum (mkCard almost_AdN (mkCard (mkNumeral n5_Unit))) mkNum (mkCard almost_AdN (mkCard (mkNumeral n5_Unit))) pluralNummkNumeral-> NumeralmkNumeral (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)) mkUtt (mkCard (mkNumeral (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)))) mkNumeral-> Sub1000 -> NumeralmkNumeral (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)) (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)) mkUtt (mkCard (mkNumeral (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)) (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)))) mkNumeralthousandfoldNumeral-> NumeralthousandfoldNumeral (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)) mkUtt (mkCard (thousandfoldNumeral (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)))) mkOrd-> OrdmkOrd small_A mkUtt (mkAP (mkOrd small_A)) mkPConj-> PConjmkPhr (mkPConj and_Conj) (mkUtt now_Adv) mkPhr (mkPConj and_Conj) (mkUtt now_Adv) otherwise_PConjmkPhr-> Utt -> (Voc) -> PhrmkPhr but_PConj (mkUtt (mkImp sleep_V)) (mkVoc (mkNP i_Pron friend_N)) mkPhr but_PConj (mkUtt (mkImp sleep_V)) (mkVoc (mkNP i_Pron friend_N)) mkPhr-> PhrmkPhr (mkS futureTense negativePol (mkCl she_NP sleep_V)) mkPhr (mkS futureTense negativePol (mkCl she_NP sleep_V)) mkPhr-> PhrmkPhr (mkCl she_NP sleep_V) mkPhr (mkCl she_NP sleep_V) mkPhr-> PhrmkPhr (mkQS conditionalTense (mkQCl (mkCl she_NP sleep_V))) mkPhr (mkQS conditionalTense (mkQCl (mkCl she_NP sleep_V))) mkPhr-> PhrmkPhr (mkImp sleep_V) mkPhr (mkImp sleep_V) negativePolmkS negativePol (mkCl she_NP sleep_V) mkUtt (mkS negativePol (mkCl she_NP sleep_V)) positivePolmkS positivePol (mkCl she_NP sleep_V) mkUtt (mkS positivePol (mkCl she_NP sleep_V)) all_PredetmkUtt (mkNP all_Predet (mkNP thePl_Det man_N)) mkUtt (mkNP all_Predet (mkNP thePl_Det man_N)) most_Predetabove_PrepmkAdv above_Prep it_NP mkUtt (mkAdv above_Prep it_NP) after_PrepmkAdv after_Prep it_NP mkUtt (mkAdv after_Prep it_NP) before_PrepmkAdv before_Prep it_NP mkUtt (mkAdv before_Prep it_NP) behind_PrepmkAdv behind_Prep it_NP mkUtt (mkAdv behind_Prep it_NP) between_PrepmkAdv between_Prep (mkNP and_Conj you_NP i_NP) mkUtt (mkAdv between_Prep (mkNP and_Conj you_NP i_NP)) by8agent_PrepmkAdv by8agent_Prep it_NP mkUtt (mkAdv by8agent_Prep it_NP) by8means_PrepmkAdv by8means_Prep it_NP mkUtt (mkAdv by8means_Prep it_NP) during_PrepmkAdv during_Prep it_NP mkUtt (mkAdv during_Prep it_NP) except_PrepmkAdv except_Prep it_NP mkUtt (mkAdv except_Prep it_NP) for_PrepmkAdv for_Prep it_NP mkUtt (mkAdv for_Prep it_NP) from_PrepmkAdv from_Prep it_NP mkUtt (mkAdv from_Prep it_NP) in8front_PrepmkAdv in8front_Prep it_NP mkUtt (mkAdv in8front_Prep it_NP) in_PrepmkAdv in_Prep it_NP mkUtt (mkAdv in_Prep it_NP) on_PrepmkAdv on_Prep it_NP mkUtt (mkAdv on_Prep it_NP) part_PrepmkAdv part_Prep it_NP mkUtt (mkAdv part_Prep it_NP) possess_PrepmkAdv possess_Prep it_NP mkUtt (mkAdv possess_Prep it_NP) through_PrepmkAdv through_Prep it_NP mkUtt (mkAdv through_Prep it_NP) to_PrepmkAdv to_Prep it_NP mkUtt (mkAdv to_Prep it_NP) under_PrepmkAdv under_Prep it_NP mkUtt (mkAdv under_Prep it_NP) with_PrepmkAdv with_Prep it_NP mkUtt (mkAdv with_Prep it_NP) without_PrepmkAdv without_Prep it_NP mkUtt (mkAdv without_Prep it_NP) i_PronmkUtt (mkNP i_Pron) mkUtt (mkNP i_Pron) it_PronyouSg_PronmkUtt (mkNP youSg_Pron) mkUtt (mkNP youSg_Pron) exclMarkPunctmkText (mkPhr yes_Utt) exclMarkPunct mkText (mkPhr yes_Utt) exclMarkPunct fullStopPunctmkText (mkPhr yes_Utt) fullStopPunct mkText (mkPhr yes_Utt) fullStopPunct questMarkPunctmkText (mkPhr yes_Utt) questMarkPunct mkText (mkPhr yes_Utt) questMarkPunct mkQCl-> QClmkQCl (mkCl she_NP sleep_V) mkUtt (mkQCl (mkCl she_NP sleep_V)) mkQCl-> VP -> QClmkQCl who_IP (mkVP always_AdV (mkVP sleep_V)) mkUtt (mkQCl who_IP (mkVP always_AdV (mkVP sleep_V))) mkQCl-> V -> QClmkQCl who_IP sleep_V mkUtt (mkQCl who_IP sleep_V) mkQCl-> V2 -> NP -> QClmkQCl who_IP love_V2 she_NP mkUtt (mkQCl who_IP love_V2 she_NP) mkQCl-> V3 -> NP -> NP -> QClmkQCl who_IP send_V3 it_NP she_NP mkUtt (mkQCl who_IP send_V3 it_NP she_NP) mkQCl-> VV -> VP -> QClmkQCl who_IP want_VV (mkVP sleep_V) mkUtt (mkQCl who_IP want_VV (mkVP sleep_V)) mkQCl-> VS -> S -> QClmkQCl who_IP say_VS (mkS (mkCl i_NP sleep_V)) mkUtt (mkQCl who_IP say_VS (mkS (mkCl i_NP sleep_V))) mkQCl-> VQ -> QS -> QClmkQCl who_IP wonder_VQ (mkQS (mkQCl who_IP sleep_V)) mkUtt (mkQCl who_IP wonder_VQ (mkQS (mkQCl who_IP sleep_V))) mkQCl-> VA -> A -> QClmkQCl who_IP become_VA old_A mkUtt (mkQCl who_IP become_VA old_A) mkQCl-> VA -> AP -> QClmkQCl who_IP become_VA (mkAP very_AdA old_A) mkUtt (mkQCl who_IP become_VA (mkAP very_AdA old_A)) mkQCl-> V2A -> NP -> A -> QClmkQCl who_IP paint_V2A it_NP red_A mkUtt (mkQCl who_IP paint_V2A it_NP red_A) mkQCl-> V2A -> NP -> AP -> QClmkQCl who_IP paint_V2A it_NP (mkAP very_AdA red_A) mkUtt (mkQCl who_IP paint_V2A it_NP (mkAP very_AdA red_A)) mkQCl-> V2S -> NP -> S -> QClmkQCl who_IP answer_V2S he_NP (mkS (mkCl we_NP sleep_V)) mkUtt (mkQCl who_IP answer_V2S he_NP (mkS (mkCl we_NP sleep_V))) mkQCl-> V2Q -> NP -> QS -> QClmkQCl who_IP ask_V2Q he_NP (mkQS (mkQCl who_IP sleep_V)) mkUtt (mkQCl who_IP ask_V2Q he_NP (mkQS (mkQCl who_IP sleep_V))) mkQCl-> V2V -> NP -> VP -> QClmkQCl who_IP beg_V2V he_NP (mkVP sleep_V) mkUtt (mkQCl who_IP beg_V2V he_NP (mkVP sleep_V)) mkQCl-> A -> QClmkQCl who_IP old_A mkUtt (mkQCl who_IP old_A) mkQCl-> A -> NP -> QClmkQCl who_IP old_A he_NP mkUtt (mkQCl who_IP old_A he_NP) mkQCl-> A2 -> NP -> QClmkQCl who_IP married_A2 he_NP mkUtt (mkQCl who_IP married_A2 he_NP) mkQCl-> AP -> QClmkQCl who_IP (mkAP very_AdA old_A) mkUtt (mkQCl who_IP (mkAP very_AdA old_A)) mkQCl-> NP -> QClmkQCl who_IP (mkNP the_Det woman_N) mkUtt (mkQCl who_IP (mkNP the_Det woman_N)) mkQCl-> N -> QClmkQCl who_IP woman_N mkUtt (mkQCl who_IP woman_N) mkQCl-> CN -> QClmkQCl who_IP (mkCN old_A woman_N) mkUtt (mkQCl who_IP (mkCN old_A woman_N)) mkQCl-> Adv -> QClmkQCl who_IP here_Adv mkUtt (mkQCl who_IP here_Adv) mkQCl-> NP -> V2 -> QClmkQCl who_IP she_NP mkUtt (mkQCl who_IP she_NP) mkQCl-> ClSlash -> QClmkQCl who_IP (mkClSlash (mkClSlash she_NP love_V2) today_Adv) mkUtt (mkQCl who_IP (mkClSlash (mkClSlash she_NP love_V2) today_Adv)) mkQCl-> Cl -> QClmkQCl why_IAdv (mkCl she_NP sleep_V) mkUtt (mkQCl why_IAdv (mkCl she_NP sleep_V) ) mkQCl-> IP -> Cl -> QClmkQCl with_Prep who_IP (mkCl she_NP sleep_V) mkUtt (mkQCl with_Prep who_IP (mkCl she_NP sleep_V) ) mkQCl-> NP -> QClmkQCl where_IAdv she_NP mkUtt (mkQCl where_IAdv she_NP ) mkQCl-> NP -> QClmkQCl (mkIComp who_IP) (mkNP this_Det man_N) mkUtt (mkQCl (mkIComp who_IP) (mkNP this_Det man_N)) mkQCl-> QClmkQCl (mkIP which_IQuant city_N) mkUtt (mkQCl (mkIP which_IQuant city_N)) mkQS-> (Ant) -> (Pol) -> QCl -> QSmkQS conditionalTense anteriorAnt negativePol (mkQCl who_IP sleep_V) mkUtt (mkQS conditionalTense anteriorAnt negativePol (mkQCl who_IP sleep_V)) mkQS-> QSmkQS (mkCl she_NP sleep_V) mkUtt (mkQS (mkCl she_NP sleep_V)) mkQuant-> QuantmkUtt (mkNP (mkQuant i_Pron) house_N) mkUtt (mkNP (mkQuant i_Pron) house_N) no_Quantthat_QuantmkUtt (mkNP that_Quant house_N) mkUtt (mkNP that_Quant house_N) the_Quantthis_QuantmkUtt (mkNP this_Quant house_N) mkUtt (mkNP this_Quant house_N) mkRCl-> VP -> RClmkCN woman_N (mkRS (mkRCl which_RP (mkVP always_AdV (mkVP sleep_V)))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP (mkVP always_AdV (mkVP sleep_V))))) mkRCl-> V -> RClmkCN woman_N (mkRS (mkRCl which_RP sleep_V)) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP sleep_V))) mkRCl-> V2 -> NP -> RClmkCN woman_N (mkRS (mkRCl which_RP love_V2 he_NP)) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP love_V2 he_NP))) mkRCl-> V3 -> NP -> NP -> RClmkCN woman_N (mkRS (mkRCl which_RP send_V3 it_NP he_NP)) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP send_V3 it_NP he_NP))) mkRCl-> VV -> VP -> RClmkCN woman_N (mkRS (mkRCl which_RP want_VV (mkVP sleep_V))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP want_VV (mkVP sleep_V)))) mkRCl-> VS -> S -> RClmkCN woman_N (mkRS (mkRCl which_RP say_VS (mkS (mkCl i_NP sleep_V)))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP say_VS (mkS (mkCl i_NP sleep_V))))) mkRCl-> VQ -> QS -> RClmkCN woman_N (mkRS (mkRCl which_RP wonder_VQ (mkQS (mkQCl who_IP sleep_V)))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP wonder_VQ (mkQS (mkQCl who_IP sleep_V))))) mkRCl-> VA -> A -> RClmkCN woman_N (mkRS (mkRCl which_RP become_VA old_A)) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP become_VA old_A))) mkRCl-> VA -> AP -> RClmkCN woman_N (mkRS (mkRCl which_RP become_VA (mkAP very_AdA old_A))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP become_VA (mkAP very_AdA old_A)))) mkRCl-> V2A -> NP -> A -> RClmkCN woman_N (mkRS (mkRCl which_RP paint_V2A it_NP red_A)) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP paint_V2A it_NP red_A))) mkRCl-> V2A -> NP -> AP -> RClmkCN woman_N (mkRS (mkRCl which_RP paint_V2A it_NP (mkAP very_AdA red_A))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP paint_V2A it_NP (mkAP very_AdA red_A)))) mkRCl-> V2S -> NP -> S -> RClmkCN woman_N (mkRS (mkRCl which_RP answer_V2S he_NP (mkS (mkCl we_NP sleep_V)))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP answer_V2S he_NP (mkS (mkCl we_NP sleep_V))))) mkRCl-> V2Q -> NP -> QS -> RClmkCN woman_N (mkRS (mkRCl which_RP ask_V2Q he_NP (mkQS (mkQCl who_IP sleep_V)))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP ask_V2Q he_NP (mkQS (mkQCl who_IP sleep_V))))) mkRCl-> V2V -> NP -> VP -> RClmkCN woman_N (mkRS (mkRCl which_RP beg_V2V he_NP (mkVP sleep_V))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP beg_V2V he_NP (mkVP sleep_V)))) mkRCl-> A -> RClmkCN woman_N (mkRS (mkRCl which_RP old_A)) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP old_A))) mkRCl-> A -> NP -> RClmkCN woman_N (mkRS (mkRCl which_RP old_A he_NP)) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP old_A he_NP))) mkRCl-> A2 -> NP -> RClmkCN woman_N (mkRS (mkRCl which_RP married_A2 he_NP)) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP married_A2 he_NP))) mkRCl-> AP -> RClmkCN woman_N (mkRS (mkRCl which_RP (mkAP very_AdA old_A))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP (mkAP very_AdA old_A)))) mkRCl-> NP -> RClmkCN woman_N (mkRS (mkRCl which_RP (mkNP the_Det woman_N))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP (mkNP the_Det woman_N)))) mkRCl-> N -> RClmkCN student_N (mkRS (mkRCl which_RP woman_N)) mkUtt (mkCN student_N (mkRS (mkRCl which_RP woman_N))) mkRCl-> CN -> RClmkCN student_N (mkRS (mkRCl which_RP (mkCN old_A woman_N))) mkUtt (mkCN student_N (mkRS (mkRCl which_RP (mkCN old_A woman_N)))) mkRCl-> Adv -> RClmkCN woman_N (mkRS (mkRCl which_RP here_Adv)) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP here_Adv))) mkRCl-> NP -> V2 -> RClmkCN woman_N (mkRS (mkRCl which_RP we_NP love_V2)) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP we_NP love_V2))) mkRCl-> ClSlash -> RClmkCN woman_N (mkRS (mkRCl which_RP (mkClSlash (mkClSlash she_NP love_V2) today_Adv))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP (mkClSlash (mkClSlash she_NP love_V2) today_Adv)))) mkRClmkRP-> NP -> RP -> RPmkRP in_Prep (mkNP all_Predet (mkNP the_Quant pluralNum city_N)) which_RP mkRP in_Prep (mkNP all_Predet (mkNP the_Quant pluralNum city_N)) which_RP which_RPwhich_RP mkRS-> (Ant) -> (Pol) -> RCl -> RSmkCN woman_N (mkRS conditionalTense anteriorAnt negativePol (mkRCl which_RP sleep_V)) mkUtt (mkCN woman_N (mkRS conditionalTense anteriorAnt negativePol (mkRCl which_RP sleep_V))) mkRSmkRS-> RS -> RS -> RSmkCN woman_N (mkRS or_Conj (mkRS (mkRCl which_RP sleep_V)) (mkRS (mkRCl which_RP we_NP love_V2))) mkUtt (mkCN woman_N (mkRS or_Conj (mkRS (mkRCl which_RP sleep_V)) (mkRS (mkRCl which_RP we_NP love_V2)))) mkRSmkS-> (Ant) -> (Pol) -> Cl -> SmkS conditionalTense anteriorAnt negativePol (mkCl she_NP sleep_V) mkUtt (mkS conditionalTense anteriorAnt negativePol (mkCl she_NP sleep_V)) mkSmkS-> S -> S -> SmkS and_Conj (mkS (mkCl she_NP sleep_V)) (mkS (mkCl i_NP run_V)) mkUtt (mkS and_Conj (mkS (mkCl she_NP sleep_V)) (mkS (mkCl i_NP run_V))) mkS-> ListS -> SmkS and_Conj (mkListS (mkS (mkCl she_NP sleep_V)) (mkListS (mkS (mkCl i_NP run_V)) (mkS (mkCl (mkNP youSg_Pron) walk_V)))) mkUtt (mkS and_Conj (mkListS (mkS (mkCl she_NP sleep_V)) (mkListS (mkS (mkCl i_NP run_V)) (mkS (mkCl (mkNP youSg_Pron) walk_V))))) mkS-> S -> SmkS today_Adv (mkS (mkCl she_NP sleep_V)) mkUtt (mkS today_Adv (mkS (mkCl she_NP sleep_V))) mkSC-> SCmkSC (mkS (mkCl she_NP sleep_V)) mkSC (mkS (mkCl she_NP sleep_V)) mkSC-> SCmkSC (mkQS (mkQCl who_IP sleep_V)) mkSC (mkQS (mkQCl who_IP sleep_V)) mkSCmkSSlash-> Pol -> ClSlash -> SSlashmkSSlash (mkTemp pastTense anteriorAnt) negativePol (mkClSlash she_NP (mkVPSlash see_V2)) mkSSlash (mkTemp pastTense anteriorAnt) negativePol (mkClSlash she_NP (mkVPSlash see_V2)) mkSub100-> Sub100mkSub100 n8_Unit mkUtt (mkCard (mkNumeral (mkSub100 n8_Unit))) mkSub100-> Unit -> Sub100mkSub100 n8_Unit n3_Unit mkUtt (mkCard (mkNumeral (mkSub100 n8_Unit n3_Unit))) tenfoldSub100-> Sub100mkSub100 n8_Unit mkUtt (mkCard (mkNumeral (mkSub100 n8_Unit))) mkSub1000-> Sub1000mkNumeral (mkSub1000 (mkSub100 n9_Unit n9_Unit)) mkUtt (mkCard (mkNumeral (mkSub1000 (mkSub100 n9_Unit n9_Unit)))) mkSub1000-> Sub1000mkNumeral (mkSub1000 n9_Unit) mkUtt (mkCard (mkNumeral (mkSub1000 n9_Unit))) mkSub1000-> Sub100 -> Sub1000mkNumeral (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)) mkUtt (mkCard (mkNumeral (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)))) although_SubjmkAdv although_Subj (mkS (mkCl she_NP sleep_V)) mkUtt (mkAdv although_Subj (mkS (mkCl she_NP sleep_V))) because_SubjmkAdv because_Subj (mkS (mkCl she_NP sleep_V)) mkUtt (mkAdv because_Subj (mkS (mkCl she_NP sleep_V))) if_SubjmkAdv if_Subj (mkS (mkCl she_NP sleep_V)) mkUtt (mkAdv if_Subj (mkS (mkCl she_NP sleep_V))) that_SubjmkAdv that_Subj (mkS (mkCl she_NP sleep_V)) mkUtt (mkAdv that_Subj (mkS (mkCl she_NP sleep_V))) when_SubjmkAdv when_Subj (mkS (mkCl she_NP sleep_V)) mkUtt (mkAdv when_Subj (mkS (mkCl she_NP sleep_V))) conditionalTensemkS conditionalTense (mkCl she_NP sleep_V) mkUtt (mkS conditionalTense (mkCl she_NP sleep_V)) futureTensemkS futureTense (mkCl she_NP sleep_V) mkUtt (mkS futureTense (mkCl she_NP sleep_V)) pastTensemkS pastTense (mkCl she_NP sleep_V) mkUtt (mkS pastTense (mkCl she_NP sleep_V)) presentTensemkS presentTense (mkCl she_NP sleep_V) mkUtt (mkS presentTense (mkCl she_NP sleep_V)) mkText-> (Punct) -> (Text) -> TextmkText (mkPhr (mkQS (mkCl she_NP sleep_V))) questMarkPunct (mkText (mkPhr yes_Utt) fullStopPunct) mkText (mkPhr (mkQS (mkCl she_NP sleep_V))) questMarkPunct (mkText (mkPhr yes_Utt) fullStopPunct) mkText-> TextmkText yes_Utt mkText yes_Utt mkText-> TextmkText (mkS pastTense (mkCl she_NP sleep_V)) mkText (mkS pastTense (mkCl she_NP sleep_V)) mkText-> TextmkText (mkCl she_NP sleep_V) mkText (mkCl she_NP sleep_V) mkText-> TextmkText (mkQS pastTense (mkQCl (mkCl she_NP sleep_V))) mkText (mkQS pastTense (mkQCl (mkCl she_NP sleep_V))) mkText-> Imp -> TextmkText negativePol (mkImp sleep_V) mkText negativePol (mkImp sleep_V) mkText-> Text -> TextmkText (mkText (mkPhr (mkUtt where_IAdv)) questMarkPunct (mkText (mkPhr (mkUtt here_Adv)))) (mkText (mkPhr (mkUtt when_IAdv)) questMarkPunct (mkText (mkPhr (mkUtt now_Adv)) exclMarkPunct)) mkText (mkText (mkPhr (mkUtt where_IAdv)) questMarkPunct (mkText (mkPhr (mkUtt here_Adv)))) (mkText (mkPhr (mkUtt when_IAdv)) questMarkPunct (mkText (mkPhr (mkUtt now_Adv)) exclMarkPunct)) n1_UnitmkNumeral n1_Unit mkUtt (mkCard (mkNumeral n1_Unit)) n2_UnitmkNumeral n2_Unit mkUtt (mkCard (mkNumeral n2_Unit)) n3_UnitmkNumeral n3_Unit mkUtt (mkCard (mkNumeral n3_Unit)) n4_UnitmkNumeral n4_Unit mkUtt (mkCard (mkNumeral n4_Unit)) n5_UnitmkNumeral n5_Unit mkUtt (mkCard (mkNumeral n5_Unit)) n6_UnitmkNumeral n6_Unit mkUtt (mkCard (mkNumeral n6_Unit)) n7_UnitmkNumeral n7_Unit mkUtt (mkCard (mkNumeral n7_Unit)) n8_UnitmkNumeral n8_Unit mkUtt (mkCard (mkNumeral n8_Unit)) n9_UnitmkNumeral n9_Unit mkUtt (mkCard (mkNumeral n9_Unit)) lets_Utt-> UttmkPhr (lets_Utt (mkVP sleep_V)) mkPhr (lets_Utt (mkVP sleep_V)) mkUtt-> UttmkUtt (mkS pastTense (mkCl she_NP sleep_V)) mkUtt (mkS pastTense (mkCl she_NP sleep_V)) mkUtt-> UttmkUtt (mkCl she_NP sleep_V) mkUtt (mkCl she_NP sleep_V) mkUtt-> UttmkUtt (mkQS pastTense negativePol (mkQCl who_IP sleep_V)) mkUtt (mkQS pastTense negativePol (mkQCl who_IP sleep_V)) mkUtt-> UttmkUtt (mkQCl who_IP sleep_V) mkUtt (mkQCl who_IP sleep_V) mkUtt-> (Pol) -> Imp -> UttmkUtt pluralImpForm negativePol (mkImp (mkVP man_N)) mkUtt pluralImpForm negativePol (mkImp (mkVP man_N)) mkUtt-> UttmkUtt who_IP mkUtt who_IP mkUtt-> UttmkUtt why_IAdv mkUtt why_IAdv mkUtt-> UttmkUtt (mkNP this_Det man_N) mkUtt (mkNP this_Det man_N) mkUttmkUtt-> UttmkUtt (mkVP sleep_V) mkUtt (mkVP sleep_V) mkUtthave_V2mkUtt (mkVP have_V2 it_NP) mkUtt (mkVP have_V2 it_NP) mkVP-> VPmkUtt (mkVP sleep_V) mkUtt (mkVP sleep_V) mkVP-> NP -> VPmkUtt (mkVP love_V2 he_NP) mkUtt (mkVP love_V2 he_NP) mkVP-> NP -> NP -> VPmkUtt (mkVP send_V3 it_NP he_NP) mkUtt (mkVP send_V3 it_NP he_NP) mkVP-> VP -> VPmkUtt (mkVP want_VV (mkVP sleep_V)) mkUtt (mkVP want_VV (mkVP sleep_V)) mkVP-> S -> VPmkUtt (mkVP know_VS (mkS (mkCl she_NP sleep_V))) mkUtt (mkVP know_VS (mkS (mkCl she_NP sleep_V))) mkVP-> QS -> VPmkUtt (mkVP wonder_VQ (mkQS (mkQCl who_IP sleep_V))) mkUtt (mkVP wonder_VQ (mkQS (mkQCl who_IP sleep_V))) mkVP-> AP -> VPmkUtt (mkVP become_VA (mkAP red_A)) mkUtt (mkVP become_VA (mkAP red_A)) mkVP-> NP -> AP -> VPmkUtt (mkVP paint_V2A it_NP (mkAP red_A)) mkUtt (mkVP paint_V2A it_NP (mkAP red_A)) mkVP-> NP -> S -> VPmkUtt (mkVP answer_V2S he_NP (mkS (mkCl she_NP sleep_V))) mkUtt (mkVP answer_V2S he_NP (mkS (mkCl she_NP sleep_V))) mkVP-> NP -> QS -> VPmkUtt (mkVP ask_V2Q he_NP (mkQS (mkQCl who_IP sleep_V))) mkUtt (mkVP ask_V2Q he_NP (mkQS (mkQCl who_IP sleep_V))) mkVP-> NP -> VP -> VPmkUtt (mkVP beg_V2V he_NP (mkVP sleep_V)) mkUtt (mkVP beg_V2V he_NP (mkVP sleep_V)) mkVP-> VPmkUtt (mkVP old_A) mkUtt (mkVP old_A) mkVP-> NP -> VPmkUtt (mkVP old_A he_NP) mkUtt (mkVP old_A he_NP) mkVP-> NP -> VPmkUtt (mkVP married_A2 he_NP) mkUtt (mkVP married_A2 he_NP) mkVP-> VPmkUtt (mkVP (mkAP very_AdA old_A)) mkUtt (mkVP (mkAP very_AdA old_A)) mkVP-> VPmkUtt (mkVP woman_N) mkUtt (mkVP woman_N) mkVP-> VPmkUtt (mkVP (mkCN old_A woman_N)) mkUtt (mkVP (mkCN old_A woman_N)) mkVP-> VPmkUtt (mkVP (mkNP the_Det woman_N)) mkUtt (mkVP (mkNP the_Det woman_N)) mkVP-> VPmkUtt (mkVP here_Adv) mkUtt (mkVP here_Adv) mkVP-> Adv -> VPmkUtt (mkVP (mkVP sleep_V) here_Adv) mkUtt (mkVP (mkVP sleep_V) here_Adv) mkVP-> VP -> VPmkUtt (mkVP always_AdV (mkVP sleep_V)) mkUtt (mkVP always_AdV (mkVP sleep_V)) mkVP-> NP -> VPmkUtt (mkVP (mkVPSlash paint_V2A (mkAP black_A)) it_NP) mkUtt (mkVP (mkVPSlash paint_V2A (mkAP black_A)) it_NP) mkVP-> VPmkUtt (reflexiveVP (mkVPSlash paint_V2A (mkAP black_A))) mkUtt (reflexiveVP (mkVPSlash paint_V2A (mkAP black_A))) mkVP-> VPmkUtt (mkVP (mkComp (mkAP warm_A))) mkUtt (mkVP (mkComp (mkAP warm_A))) passiveVP-> VPmkUtt (passiveVP love_V2) mkUtt (passiveVP love_V2) passiveVP-> NP -> VPmkUtt (passiveVP love_V2 she_NP) mkUtt (passiveVP love_V2 she_NP) progressiveVP-> VPmkUtt (progressiveVP (mkVP sleep_V)) mkUtt (progressiveVP (mkVP sleep_V)) reflexiveVP-> VPmkUtt (reflexiveVP love_V2) mkUtt (reflexiveVP love_V2) reflexiveVPmkVPSlash-> VPSlashmkQCl who_IP (mkClSlash she_NP (mkVPSlash see_V2)) mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash see_V2))) mkVPSlash-> NP -> VPSlashmkQCl who_IP (mkClSlash she_NP (mkVPSlash send_V3 it_NP)) mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash send_V3 it_NP)) ) mkVPSlash-> AP -> VPSlashmkQCl who_IP (mkClSlash she_NP (mkVPSlash paint_V2A (mkAP red_A))) mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash paint_V2A (mkAP red_A))) ) mkVPSlash-> QS -> VPSlashmkQCl who_IP (mkClSlash she_NP (mkVPSlash ask_V2Q (mkQS (mkQCl where_IAdv (mkCl i_NP sleep_V))))) mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash ask_V2Q (mkQS (mkQCl where_IAdv (mkCl i_NP sleep_V))))) ) mkVPSlash-> S -> VPSlashmkQCl who_IP (mkClSlash she_NP (mkVPSlash answer_V2S (mkS (mkCl i_NP sleep_V)))) mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash answer_V2S (mkS (mkCl i_NP sleep_V)))) ) mkVPSlash-> VP -> VPSlashmkQCl who_IP (mkClSlash she_NP (mkVPSlash beg_V2V (mkVP sleep_V))) mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash beg_V2V (mkVP sleep_V)))) mkVPSlash-> VPSlash -> VPSlashmkQCl who_IP (mkClSlash she_NP (mkVPSlash want_VV (mkVPSlash see_V2))) mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash want_VV (mkVPSlash see_V2)))) mkVPSlash-> NP -> VPSlash -> VPSlashmkQCl who_IP (mkClSlash she_NP (mkVPSlash beg_V2V i_NP (mkVPSlash see_V2))) mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash beg_V2V i_NP (mkVPSlash see_V2)))) can8know_VVmkUtt (mkVP can8know_VV (mkVP sleep_V)) mkUtt (mkVP can8know_VV (mkVP sleep_V)) can_VVmkUtt (mkVP can_VV (mkVP sleep_V)) mkUtt (mkVP can_VV (mkVP sleep_V)) must_VVwant_VVwant_VV mkUtt (mkVP want_VV (mkVP sleep_V)) mkVoc-> VocmkPhr yes_Utt (mkVoc (mkNP i_Pron friend_N)) mkPhr yes_Utt (mkVoc (mkNP i_Pron friend_N)) please_Voc