diff --git a/examples/phrasebook/SentencesTha.gf b/examples/phrasebook/SentencesTha.gf index 55662e1df..2e2aebe09 100644 --- a/examples/phrasebook/SentencesTha.gf +++ b/examples/phrasebook/SentencesTha.gf @@ -1,7 +1,7 @@ concrete SentencesTha of Sentences = NumeralTha ** SentencesI - [ PGreetingMale, PGreetingFemale, GObjectPlease, - ACitizen, WherePlace, WherePerson + ACitizen ] with (Syntax = SyntaxTha), (Symbolic = SymbolicTha), @@ -17,11 +17,6 @@ lin ACitizen p n = mkCl p.name (mkVP (mkCN n (P.personN R.khon_s))) ; - WherePlace place = mkQS (mkQCl where_IAdv (mkCl place.name yuu_V)) ; - WherePerson person = mkQS (mkQCl where_IAdv (mkCl person.name yuu_V)) ; - oper - yuu_V : V = R.regV "อยู่" ; - thpron = R.thpron ; } diff --git a/lib/doc/Compare.hs b/lib/doc/Compare.hs index e40959b1b..1965fe96b 100644 --- a/lib/doc/Compare.hs +++ b/lib/doc/Compare.hs @@ -14,7 +14,7 @@ mkExx sss = case sss of (s1:ss1,s2:ss2) | isMsg s1 -> mkExx (ss1,s2:ss2) (s1:ss1,s2:ss2) | isMsg s2 -> mkExx (s1:ss1,ss2) (s1:ss1,s2:ss2) | s1 /= s2 -> - putStrLn (drops s1) >> putStrLn (drops s2) >> putStrLn [] >> mkExx (ss1,ss2) -- show the strings + putStrLn (drops s1) >> putStrLn (filter (not . (==' ')) (drops s2)) >> putStrLn [] >> mkExx (ss1,ss2) -- show strings (s1:ss1,s2:ss2) | s1 == s2 && not (isJunk s1) -> putStrLn (drops s1) >> mkExx (ss1,ss2) -- show the term (s1:ss1,s2:ss2) | s1 == s2 -> mkExx (ss1,ss2) diff --git a/lib/doc/MkExxTable.hs b/lib/doc/MkExxTable.hs index e8d013fb3..19b057d2e 100644 --- a/lib/doc/MkExxTable.hs +++ b/lib/doc/MkExxTable.hs @@ -68,9 +68,10 @@ prApiExx aexx = unlines prApiEx :: M.Map String String -> [String] prApiEx apexx = case M.toList apexx of (a,e):lexx -> (a ++ ": ``" ++ unwords (words e) ++ "``"): - [l ++ ": //" ++ mkEx e ++ "//" | (l,e) <- lexx] + [l ++ ": //" ++ mkEx l e ++ "//" | (l,e) <- lexx] -mkEx = unwords . bind . mkE . words where +mkEx l = unws . bind . mkE . words where + unws = if l == "Tha" then concat else unwords mkE e = case e of "atomic":"term":_ -> ["*"] "[]":_ -> ["''"] diff --git a/lib/doc/api-examples.txt b/lib/doc/api-examples.txt index 3101ebf67..9b781cd3a 100644 --- a/lib/doc/api-examples.txt +++ b/lib/doc/api-examples.txt @@ -742,7 +742,7 @@ mkAdv during_Prep it_NP either7or_DConj : Conj -- either...or mkAdv either7or_DConj here_Adv there_Adv every_Det : Det -every_Det +mkUtt (mkNP every_Det woman_N) everybody_NP : NP -- everybody mkUtt everybody_NP everything_NP : NP @@ -750,7 +750,7 @@ mkUtt everything_NP everywhere_Adv : Adv everywhere_Adv few_Det : Det -few_Det +mkUtt (mkNP few_Det women_N) for_Prep : Prep mkAdv for_Prep it_NP from_Prep : Prep @@ -788,7 +788,7 @@ more_CAdv most_Predet : Predet most_Predet much_Det : Det -much_Det +mkUtt (mkNP much_Det wine_N) must_VV : VV must_VV no_Utt : Utt @@ -814,9 +814,9 @@ mkUtt (mkNP she_Pron) so_AdA : AdA so_AdA someSg_Det : Det -someSg_Det +mkUtt (mkNP someSg_Det wine_N) somePl_Det : Det -somePl_Det +mkUtt (mkNP somePl_Det woman_N) somebody_NP : NP mkUtt somebody_NP something_NP : NP diff --git a/lib/doc/synopsis-intro.txt b/lib/doc/synopsis-intro.txt index 2b83aee3f..8447d4fda 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 #toc102]: additional libraries. -- [Chapter 5 #toc109]: how to "browse" the library by +- [Chapter 4 #toc103]: additional libraries. +- [Chapter 5 #toc110]: how to "browse" the library by loading the grammars into the ``gf`` command editor. -- [Chapter 6 #toc110]: a brief example of how application grammars can +- [Chapter 6 #toc111]: a brief example of how application grammars can use the resource modules. -- [Detailed table of contents #toc111]. +- [Detailed table of contents #toc112]. Other relevant documents: diff --git a/lib/doc/synopsis.html b/lib/doc/synopsis.html index 6964c4de5..f6b6f1dd1 100644 --- a/lib/doc/synopsis.html +++ b/lib/doc/synopsis.html @@ -37,12 +37,12 @@ constructing trees in them.
gf command editor.
-@@ -527,7 +527,7 @@ Lexical category, constructors given in
comparAP-> APmkUtt (comparAP warm_A) mkUtt (comparAP warm_A) mkAPmkAP-> NP -> APmkAP warm_A (mkNP paris_PN) mkAP warm_A (mkNP paris_PN) mkAP-> NP -> APmkAP married_A2 she_NP mkAP married_A2 she_NP mkAPmkAP-> S -> APmkCl (mkVP (mkAP (mkAP good_A) (mkS (mkCl she_NP sleep_V)))) 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)))) mkCl (mkVP (mkAP (mkAP uncertain_A) (mkQS (mkQCl who_IP sleep_V)))) mkAP-> VP -> APmkCl she_NP (mkAP (mkAP ready_A) (mkVP sleep_V)) mkCl she_NP (mkAP (mkAP ready_A) (mkVP sleep_V)) mkAP-> SC -> APmkCl she_NP (mkAP (mkAP ready_A) (mkSC (mkVP sleep_V))) mkCl she_NP (mkAP (mkAP ready_A) (mkSC (mkVP sleep_V))) mkAP-> A -> APmkAP very_AdA old_A mkAP very_AdA old_A mkAP-> AP -> APmkAP very_AdA (mkAP very_AdA old_A) mkAP very_AdA (mkAP very_AdA old_A) mkAP-> AP -> AP -> APmkAP or_Conj (mkAP old_A) (mkAP young_A) 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))) mkAP and_Conj (mkListAP (mkAP old_A) (mkListAP (mkAP big_A) (mkAP warm_A))) mkAP-> APmkAP (mkOrd old_A) mkAP (mkOrd old_A) mkAP-> AP -> NP -> APmkAP as_CAdv (mkAP old_A) she_NP mkAP as_CAdv (mkAP old_A) she_NP reflAP-> APmkUtt (reflAP married_A2) mkUtt (reflAP married_A2) almost_AdAmkAP almost_AdA red_A mkAP almost_AdA red_A quite_Advalmost_AdNmkCard almost_AdN (mkCard (mkNumeral n8_Unit)) mkCard almost_AdN (mkCard (mkNumeral n8_Unit)) at_least_AdNmkCard at_least_AdN (mkCard (mkNumeral n8_Unit)) mkCard at_least_AdN (mkCard (mkNumeral n8_Unit)) at_most_AdNmkCard at_most_AdN (mkCard (mkNumeral n8_Unit)) mkCard at_most_AdN (mkCard (mkNumeral n8_Unit)) mkAdN-> AdNmkCard (mkAdN more_CAdv) (mkCard (mkNumeral n8_Unit)) mkCard (mkAdN more_CAdv) (mkCard (mkNumeral n8_Unit)) mkAdv-> NP -> AdvmkAdv in_Prep (mkNP the_Det house_N) mkAdv in_Prep (mkNP the_Det house_N) mkAdv-> S -> AdvmkAdv when_Subj (mkS (mkCl she_NP sleep_V)) mkAdv when_Subj (mkS (mkCl she_NP sleep_V)) mkAdv-> A -> NP -> AdvmkAdv more_CAdv warm_A he_NP mkAdv more_CAdv warm_A he_NP mkAdv-> A -> S -> AdvmkAdv more_CAdv warm_A (mkS (mkCl he_NP run_V)) mkAdv more_CAdv warm_A (mkS (mkCl he_NP run_V)) mkAdv-> Adv -> AdvmkAdv very_AdA (mkAdv warm_A) mkAdv very_AdA (mkAdv warm_A) mkAdv-> Adv -> Adv -> AdvmkAdv and_Conj here_Adv now_Adv mkAdv and_Conj here_Adv now_Adv mkAdv-> ListAdv -> AdvmkAdv and_Conj (mkListAdv (mkAdv with_Prep she_NP) (mkListAdv here_Adv now_Adv)) mkAdv and_Conj (mkListAdv (mkAdv with_Prep she_NP) (mkListAdv here_Adv now_Adv)) somewhere_AdvanteriorAntmkS anteriorAnt (mkCl she_NP sleep_V) mkS anteriorAnt (mkCl she_NP sleep_V) simultaneousAntmkS simultaneousAnt (mkCl she_NP sleep_V) mkS simultaneousAnt (mkCl she_NP sleep_V) mkCN-> NP -> CNmkCN mother_N2 (mkNP the_Det king_N) mkCN mother_N2 (mkNP the_Det king_N) mkCN-> NP -> NP -> CNmkCN distance_N3 (mkNP this_Det city_N) (mkNP paris_PN) mkCN distance_N3 (mkNP this_Det city_N) (mkNP paris_PN) mkCNmkCN-> N -> CNmkCN big_A house_N mkCN big_A house_N mkCN-> CN -> CNmkCN big_A (mkCN blue_A house_N) mkCN big_A (mkCN blue_A house_N) mkCN-> N -> CNmkCN (mkAP very_AdA big_A) house_N mkCN (mkAP very_AdA big_A) house_N mkCN-> CN -> CNmkCN (mkAP very_AdA big_A) (mkCN blue_A house_N) mkCN (mkAP very_AdA big_A) (mkCN blue_A house_N) mkCN-> RS -> CNmkCN man_N (mkRS (mkRCl which_RP she_NP love_V2)) 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)) 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)) 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)) mkCN (mkCN big_A house_N) (mkAdv on_Prep (mkNP the_Det hill_N)) mkCN-> S -> CNmkNum (mkCard almost_AdN (mkCard (mkNumeral n5_Unit))) mkNum (mkCard almost_AdN (mkCard (mkNumeral n5_Unit))) mkCN-> QS -> CNmkNum (mkCard almost_AdN (mkCard (mkNumeral n5_Unit))) mkNum (mkCard almost_AdN (mkCard (mkNumeral n5_Unit))) mkCN-> VP -> CNmkCN (mkCN reason_N) (mkVP sleep_V) mkCN (mkCN reason_N) (mkVP sleep_V) mkCN-> SC -> CNmkCN (mkCN reason_N) (mkVP sleep_V) mkCN (mkCN reason_N) (mkVP sleep_V) mkCN-> NP -> CNmkCN king_N (mkNP john_PN) mkCN king_N (mkNP john_PN) mkCN-> NP -> CNmkCN (mkCN old_A king_N) (mkNP john_PN) mkCN (mkCN old_A king_N) (mkNP john_PN) genericCl-> ClmkS (genericCl (mkVP sleep_V)) mkS (genericCl (mkVP sleep_V)) mkCl-> V -> ClmkCl she_NP sleep_V mkCl she_NP sleep_V mkCl-> V2 -> NP -> ClmkCl she_NP love_V2 he_NP mkCl she_NP love_V2 he_NP mkCl-> V3 -> NP -> NP -> ClmkCl she_NP send_V3 it_NP he_NP mkCl she_NP send_V3 it_NP he_NP mkCl-> VV -> VP -> ClmkCl she_NP want_VV (mkVP sleep_V) mkCl she_NP want_VV (mkVP sleep_V) mkCl-> VS -> S -> ClmkCl she_NP say_VS (mkS (mkCl i_NP sleep_V)) 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)) mkCl she_NP wonder_VQ (mkQS (mkQCl who_IP sleep_V)) mkCl-> VA -> A -> ClmkCl she_NP become_VA old_A mkCl she_NP become_VA old_A mkCl-> VA -> AP -> ClmkCl she_NP become_VA (mkAP very_AdA old_A) mkCl she_NP become_VA (mkAP very_AdA old_A) mkCl-> V2A -> NP -> A -> ClmkCl she_NP paint_V2A it_NP red_A mkCl she_NP paint_V2A it_NP red_A mkCl-> V2A -> NP -> AP -> ClmkCl she_NP paint_V2A it_NP (mkAP red_A) 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)) 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)) 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) mkCl she_NP beg_V2V he_NP (mkVP sleep_V) mkCl-> A -> ClmkCl she_NP old_A mkCl she_NP old_A mkCl-> A -> NP -> ClmkCl she_NP old_A he_NP mkCl she_NP old_A he_NP mkCl-> A2 -> NP -> ClmkCl she_NP married_A2 he_NP mkCl she_NP married_A2 he_NP mkCl-> AP -> ClmkCl she_NP (mkAP very_AdA old_A) mkCl she_NP (mkAP very_AdA old_A) mkCl-> NP -> ClmkCl she_NP (mkNP the_Det woman_N) mkCl she_NP (mkNP the_Det woman_N) mkCl-> N -> ClmkCl she_NP woman_N mkCl she_NP woman_N mkCl-> CN -> ClmkCl she_NP (mkCN old_A woman_N) mkCl she_NP (mkCN old_A woman_N) mkCl-> Adv -> ClmkCl she_NP here_Adv mkCl she_NP here_Adv mkCl-> VP -> ClmkCl she_NP (mkVP always_AdV (mkVP sleep_V)) mkCl she_NP (mkVP always_AdV (mkVP sleep_V)) mkCl-> ClmkCl house_N mkCl house_N mkClmkCl-> ClmkCl (mkNP many_Det house_N) mkCl (mkNP many_Det house_N) mkCl-> RS -> ClmkCl she_NP (mkRS (mkRCl which_RP (mkVP sleep_V))) mkCl she_NP (mkRS (mkRCl which_RP (mkVP sleep_V))) mkCl-> S -> ClmkCl here_Adv (mkS (mkCl she_NP sleep_V)) mkCl here_Adv (mkS (mkCl she_NP sleep_V)) mkClmkCl-> ClmkCl (progressiveVP (mkVP rain_V0)) mkCl (progressiveVP (mkVP rain_V0)) mkCl-> VP -> ClmkCl (mkSC (mkS (mkCl she_NP sleep_V))) (mkVP good_A) mkCl (mkSC (mkS (mkCl she_NP sleep_V))) (mkVP good_A) mkClSlash-> VPSlash -> ClSlashmkQCl who_IP (mkClSlash she_NP (mkVPSlash see_V2)) mkQCl who_IP (mkClSlash she_NP (mkVPSlash see_V2)) mkClSlash-> V2 -> ClSlashmkQCl who_IP (mkClSlash she_NP see_V2) mkQCl who_IP (mkClSlash she_NP see_V2) mkClSlash-> VV -> V2 -> ClSlashmkQCl who_IP (mkClSlash she_NP want_VV see_V2) mkQCl who_IP (mkClSlash she_NP want_VV see_V2) mkClSlash-> Prep -> ClSlashmkQCl who_IP (mkClSlash (mkCl she_NP sleep_V) with_Prep) mkQCl who_IP (mkClSlash (mkCl she_NP sleep_V) with_Prep) mkClSlash-> Adv -> ClSlashmkQCl who_IP (mkClSlash (mkClSlash she_NP see_V2) today_Adv) 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)))) mkQCl who_IP (mkClSlash she_NP know_VS (mkSSlash (mkTemp pastTense anteriorAnt) negativePol (mkClSlash we_NP (mkVPSlash see_V2)))) mkComp-> CompmkComp (mkNP this_Det man_N) mkComp (mkNP this_Det man_N) mkComp-> CompmkComp here_Adv mkComp here_Adv and_ConjmkAdv and_Conj here_Adv now_Adv mkAdv and_Conj here_Adv now_Adv both7and_DConjmkAdv both7and_DConj here_Adv there_Adv mkAdv both7and_DConj here_Adv there_Adv either7or_DConjmkAdv either7or_DConj here_Adv there_Adv mkAdv either7or_DConj here_Adv there_Adv if_then_ConjmkAdv if_then_Conj here_Adv there_Adv mkAdv if_then_Conj here_Adv there_Adv or_ConjmkAdv or_Conj here_Adv there_Adv mkAdv or_Conj here_Adv there_Adv every_Detevery_Det mkUtt (mkNP every_Det woman_N) few_Detfew_Det mkUtt (mkNP few_Det women_N) many_DetmkUtt (mkNP many_Det house_N) mkUtt (mkNP many_Det house_N) mkDetmuch_Detmuch_Det mkUtt (mkNP much_Det wine_N) somePl_DetsomePl_Det mkUtt (mkNP somePl_Det woman_N) someSg_DetsomeSg_Det 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-> Digits -> DigitsmkDigits n1_Dig (mkDigits n2_Dig (mkDigits n3_Dig (mkDigits n3_Dig (mkDigits n4_Dig (mkDigits n8_Dig (mkDigits n6_Dig)))))) mkDigits n1_Dig (mkDigits n2_Dig (mkDigits n3_Dig (mkDigits n3_Dig (mkDigits n4_Dig (mkDigits n8_Dig (mkDigits n6_Dig)))))) mkIAdv-> IP -> IAdvmkIAdv in_Prep (mkIP which_IQuant city_N) mkIAdv in_Prep (mkIP which_IQuant city_N) mkIAdv-> Adv -> IAdvmkIAdv where_IAdv (mkAdv in_Prep (mkNP paris_PN)) mkIAdv where_IAdv (mkAdv in_Prep (mkNP paris_PN)) when_IAdvhow8many_IDetmkUtt (mkIP how8many_IDet house_N) mkUtt (mkIP how8many_IDet house_N) mkIDet-> Num -> IDetmkIP (mkIDet which_IQuant pluralNum) house_N mkIP (mkIDet which_IQuant pluralNum) house_N mkIDet-> IDetmkIP (mkIDet which_IQuant) house_N mkIP (mkIDet which_IQuant) house_N whichPl_IDetmkIP whichPl_IDet house_N mkIP whichPl_IDet house_N which_IDetmkIP which_IDet house_N mkIP which_IDet house_N mkIP-> CN -> IPmkIP (mkIDet which_IQuant (mkNum (mkNumeral n5_Unit))) (mkCN big_A city_N) 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 mkIP (mkIDet which_IQuant (mkNum (mkNumeral n5_Unit))) city_N mkIP-> IPmkIP (mkIDet which_IQuant (mkNum (mkNumeral n5_Unit))) mkIP (mkIDet which_IQuant (mkNum (mkNumeral n5_Unit))) mkIP-> CN -> IPmkIP which_IQuant (mkCN big_A city_N) mkIP which_IQuant (mkCN big_A city_N) mkIP-> Num -> CN -> IPmkIP which_IQuant (mkNum (mkNumeral n5_Unit)) (mkCN big_A city_N) mkIP which_IQuant (mkNum (mkNumeral n5_Unit)) (mkCN big_A city_N) mkIP-> N -> IPmkIP which_IQuant city_N mkIP which_IQuant city_N mkIP-> Adv -> IPmkIP who_IP (mkAdv in_Prep (mkNP paris_PN)) mkIP who_IP (mkAdv in_Prep (mkNP paris_PN)) whatPl_IPwhich_IQuantmkIP which_IQuant house_N mkIP which_IQuant house_N mkImp-> ImpmkImp (mkVP (mkVP come_V) (mkAdv to_Prep (mkNP i_Pron house_N))) mkImp (mkVP (mkVP come_V) (mkAdv to_Prep (mkNP i_Pron house_N))) mkImp-> ImpmkImp come_V mkImp come_V mkImp-> NP -> ImpmkImp buy_V2 it_NP 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)) mkNP-> 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_NPmkNum-> 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)) 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)) 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)) thousandfoldNumeral (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)) mkOrd-> OrdmkOrd small_A 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) mkS negativePol (mkCl she_NP sleep_V) positivePolmkS positivePol (mkCl she_NP sleep_V) 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_Predetnot_PredetmkUtt (mkNP not_Predet everybody_NP) mkUtt (mkNP not_Predet everybody_NP) only_Predetabove_PrepmkAdv above_Prep it_NP mkAdv above_Prep it_NP after_PrepmkAdv after_Prep it_NP mkAdv after_Prep it_NP before_PrepmkAdv before_Prep it_NP mkAdv before_Prep it_NP behind_PrepmkAdv behind_Prep it_NP mkAdv behind_Prep it_NP between_PrepmkAdv between_Prep (mkNP and_Conj you_NP i_NP) mkAdv between_Prep (mkNP and_Conj you_NP i_NP) by8agent_Prepby8means_PrepmkAdv by8means_Prep it_NP mkAdv by8means_Prep it_NP during_PrepmkAdv during_Prep it_NP mkAdv during_Prep it_NP except_PrepmkAdv except_Prep it_NP mkAdv except_Prep it_NP for_PrepmkAdv for_Prep it_NP mkAdv for_Prep it_NP from_PrepmkAdv from_Prep it_NP mkAdv from_Prep it_NP in8front_PrepmkAdv in8front_Prep it_NP mkAdv in8front_Prep it_NP in_PrepmkAdv in_Prep it_NP mkAdv in_Prep it_NP on_PrepmkAdv on_Prep it_NP mkAdv on_Prep it_NP part_Preppossess_PrepmkAdv possess_Prep it_NP mkAdv possess_Prep it_NP through_PrepmkAdv through_Prep it_NP mkAdv through_Prep it_NP to_PrepmkAdv to_Prep it_NP mkAdv to_Prep it_NP under_PrepmkAdv under_Prep it_NP mkAdv under_Prep it_NP with_PrepmkAdv with_Prep it_NP mkAdv with_Prep it_NP without_PrepmkAdv without_Prep it_NP mkAdv without_Prep it_NP mkQCl-> QClmkQCl (mkCl she_NP sleep_V) mkQCl (mkCl she_NP sleep_V) mkQCl-> VP -> QClmkQCl who_IP (mkVP always_AdV (mkVP sleep_V)) mkQCl who_IP (mkVP always_AdV (mkVP sleep_V)) mkQCl-> V -> QClmkQCl who_IP sleep_V mkQCl who_IP sleep_V mkQCl-> V2 -> NP -> QClmkQCl who_IP love_V2 she_NP mkQCl who_IP love_V2 she_NP mkQCl-> V3 -> NP -> NP -> QClmkQCl who_IP send_V3 it_NP she_NP mkQCl who_IP send_V3 it_NP she_NP mkQCl-> VV -> VP -> QClmkQCl who_IP want_VV (mkVP sleep_V) mkQCl who_IP want_VV (mkVP sleep_V) mkQCl-> VS -> S -> QClmkQCl who_IP say_VS (mkS (mkCl i_NP sleep_V)) 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)) mkQCl who_IP wonder_VQ (mkQS (mkQCl who_IP sleep_V)) mkQCl-> VA -> A -> QClmkQCl who_IP become_VA old_A mkQCl who_IP become_VA old_A mkQCl-> VA -> AP -> QClmkQCl who_IP become_VA (mkAP very_AdA old_A) mkQCl who_IP become_VA (mkAP very_AdA old_A) mkQCl-> V2A -> NP -> A -> QClmkQCl who_IP paint_V2A it_NP red_A 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) 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)) 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)) 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) mkQCl who_IP beg_V2V he_NP (mkVP sleep_V) mkQCl-> A -> QClmkQCl who_IP old_A mkQCl who_IP old_A mkQCl-> A -> NP -> QClmkQCl who_IP old_A he_NP mkQCl who_IP old_A he_NP mkQCl-> A2 -> NP -> QClmkQCl who_IP married_A2 he_NP mkQCl who_IP married_A2 he_NP mkQCl-> AP -> QClmkQCl who_IP (mkAP very_AdA old_A) mkQCl who_IP (mkAP very_AdA old_A) mkQCl-> NP -> QClmkQCl who_IP (mkNP the_Det woman_N) mkQCl who_IP (mkNP the_Det woman_N) mkQCl-> N -> QClmkQCl who_IP woman_N mkQCl who_IP woman_N mkQCl-> CN -> QClmkQCl who_IP (mkCN old_A woman_N) mkQCl who_IP (mkCN old_A woman_N) mkQCl-> Adv -> QClmkQCl who_IP here_Adv mkQCl who_IP here_Adv mkQCl-> NP -> V2 -> QClmkQCl who_IP she_NP mkQCl who_IP she_NP mkQCl-> ClSlash -> QClmkQCl who_IP (mkClSlash (mkClSlash she_NP love_V2) today_Adv) mkQCl who_IP (mkClSlash (mkClSlash she_NP love_V2) today_Adv) mkQCl-> Cl -> QClmkQCl why_IAdv (mkCl she_NP sleep_V) mkQCl why_IAdv (mkCl she_NP sleep_V) mkQCl-> IP -> Cl -> QClmkQCl with_Prep who_IP (mkCl she_NP sleep_V) mkQCl with_Prep who_IP (mkCl she_NP sleep_V) mkQCl-> NP -> QClmkQCl where_IAdv she_NP mkQCl where_IAdv she_NP mkQCl-> NP -> QClmkQCl (mkIComp who_IP) (mkNP this_Det man_N) mkQCl (mkIComp who_IP) (mkNP this_Det man_N) mkQCl-> QClmkQCl (mkIP which_IQuant city_N) mkQCl (mkIP which_IQuant city_N) mkQS-> (Ant) -> (Pol) -> QCl -> QSmkQS conditionalTense anteriorAnt negativePol (mkQCl who_IP sleep_V) mkQS conditionalTense anteriorAnt negativePol (mkQCl who_IP sleep_V) mkQS-> QSmkQS (mkCl she_NP sleep_V) mkQS (mkCl she_NP sleep_V) mkQuant-> QuantmkUtt (mkNP (mkQuant i_Pron) house_N) mkUtt (mkNP (mkQuant i_Pron) house_N) no_QuantmkUtt (mkNP no_Quant house_N) mkUtt (mkNP no_Quant house_N) that_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)))) mkCN woman_N (mkRS (mkRCl which_RP (mkVP always_AdV (mkVP sleep_V)))) mkRCl-> V -> RClmkCN woman_N (mkRS (mkRCl which_RP sleep_V)) mkCN woman_N (mkRS (mkRCl which_RP sleep_V)) mkRCl-> V2 -> NP -> RClmkCN woman_N (mkRS (mkRCl which_RP love_V2 he_NP)) 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)) 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))) 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)))) 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)))) 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)) 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))) 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)) 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))) 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)))) 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)))) 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))) 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)) mkCN woman_N (mkRS (mkRCl which_RP old_A)) mkRCl-> A -> NP -> RClmkCN woman_N (mkRS (mkRCl which_RP old_A he_NP)) 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)) 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))) 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))) mkCN woman_N (mkRS (mkRCl which_RP (mkNP the_Det woman_N))) mkRCl-> N -> RClmkCN student_N (mkRS (mkRCl which_RP woman_N)) mkCN student_N (mkRS (mkRCl which_RP woman_N)) mkRCl-> CN -> RClmkCN student_N (mkRS (mkRCl which_RP (mkCN old_A woman_N))) mkCN student_N (mkRS (mkRCl which_RP (mkCN old_A woman_N))) mkRCl-> Adv -> RClmkCN woman_N (mkRS (mkRCl which_RP here_Adv)) mkCN woman_N (mkRS (mkRCl which_RP here_Adv)) mkRCl-> NP -> V2 -> RClmkCN woman_N (mkRS (mkRCl which_RP we_NP love_V2)) 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))) 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_RPmkRS-> (Ant) -> (Pol) -> RCl -> RSmkCN woman_N (mkRS conditionalTense anteriorAnt negativePol (mkRCl which_RP sleep_V)) 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))) 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) 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)) 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)))) 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)) 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)) mkSC-> SCmkSC (mkVP sleep_V) mkSC (mkVP sleep_V) mkSSlash-> 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-> Unit -> Sub100mkSub100 n8_Unit n3_Unit mkSub100 n8_Unit n3_Unit tenfoldSub100mkSub1000-> Sub1000mkNumeral (mkSub1000 (mkSub100 n9_Unit n9_Unit)) mkNumeral (mkSub1000 (mkSub100 n9_Unit n9_Unit)) mkSub1000-> Sub1000mkNumeral (mkSub1000 n9_Unit) mkNumeral (mkSub1000 n9_Unit) mkSub1000-> Sub100 -> Sub1000mkNumeral (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)) mkNumeral (mkSub1000 n9_Unit (mkSub100 n9_Unit n9_Unit)) although_SubjmkAdv although_Subj (mkS (mkCl she_NP sleep_V)) mkAdv although_Subj (mkS (mkCl she_NP sleep_V)) because_SubjmkAdv because_Subj (mkS (mkCl she_NP sleep_V)) mkAdv because_Subj (mkS (mkCl she_NP sleep_V)) if_SubjmkAdv if_Subj (mkS (mkCl she_NP sleep_V)) mkAdv if_Subj (mkS (mkCl she_NP sleep_V)) that_SubjmkAdv that_Subj (mkS (mkCl she_NP sleep_V)) mkAdv that_Subj (mkS (mkCl she_NP sleep_V)) when_SubjmkAdv when_Subj (mkS (mkCl she_NP sleep_V)) mkAdv when_Subj (mkS (mkCl she_NP sleep_V)) conditionalTensemkS conditionalTense (mkCl she_NP sleep_V) mkS conditionalTense (mkCl she_NP sleep_V) futureTensemkS futureTense (mkCl she_NP sleep_V) mkS futureTense (mkCl she_NP sleep_V) pastTensemkS pastTense (mkCl she_NP sleep_V) mkS pastTense (mkCl she_NP sleep_V) presentTensemkS presentTense (mkCl she_NP sleep_V) 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) mkTextmkText-> 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)) 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)) mkUttmkUtt-> 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)) mkVPmkVP-> 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))) mkVPpassiveVP-> 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)) mkQCl who_IP (mkClSlash she_NP (mkVPSlash see_V2)) mkVPSlash-> NP -> VPSlashmkQCl who_IP (mkClSlash she_NP (mkVPSlash send_V3 it_NP)) 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))) 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))))) 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)))) 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))) 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))) 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))) 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_VVmkVoc-> VocmkPhr yes_Utt (mkVoc (mkNP i_Pron friend_N)) mkPhr yes_Utt (mkVoc (mkNP i_Pron friend_N)) please_Voc