From 8918619a152531c4f7bdeaabdc28d9766ecfe1bc Mon Sep 17 00:00:00 2001 From: aarne Date: Sun, 3 Jun 2007 09:42:49 +0000 Subject: [PATCH] added VP exx --- lib/resource-1.0/api/Constructors.gf | 50 +++++++++++++------------- lib/resource-1.0/api/examples/Exx.gf | 8 +++++ lib/resource-1.0/api/examples/ExxI.gf | 37 ++++++++++++++++--- lib/resource-1.0/api/examples/mkgfs.hs | 5 ++- 4 files changed, 70 insertions(+), 30 deletions(-) diff --git a/lib/resource-1.0/api/Constructors.gf b/lib/resource-1.0/api/Constructors.gf index c6988fa9e..bce93ffb8 100644 --- a/lib/resource-1.0/api/Constructors.gf +++ b/lib/resource-1.0/api/Constructors.gf @@ -233,10 +233,10 @@ incomplete resource Constructors = open Grammar in { mkCl : NP -> VQ -> QS -> Cl ; -- 6. John wonders if it is good mkCl : NP -> VA -> AP -> Cl ; -- 7. John becomes old mkCl : NP -> V2A ->NP -> AP -> Cl ; -- 8. John paints it red - mkCl : NP -> AP -> Cl ; -- 9. John is very old - mkCl : NP -> A -> Cl ; -- 10. John is old - mkCl : NP -> A -> NP -> Cl ; -- 11. John is older than her - mkCl : NP -> A2 -> NP -> Cl ; -- 12. John is married to her + mkCl : NP -> A -> Cl ; -- 9. John is old + mkCl : NP -> A -> NP -> Cl ; -- 10. John is older than her + mkCl : NP -> A2 -> NP -> Cl ; -- 11. John is married to her + mkCl : NP -> AP -> Cl ; -- 12. John is very old mkCl : NP -> N -> Cl ; -- 13. John is a man mkCl : NP -> CN -> Cl ; -- 14. John is an old man mkCl : NP -> NP -> Cl ; -- 15. John is the man @@ -277,45 +277,45 @@ incomplete resource Constructors = open Grammar in { -- A verb phrase is formed from a verb with appropriate arguments. mkVP : overload { - mkVP : V -> VP ; -- walk - mkVP : V2 -> NP -> VP ; -- love her - mkVP : V3 -> NP -> NP -> VP ; -- send it to her - mkVP : VV -> VP -> VP ; -- want to walk - mkVP : VS -> S -> VP ; -- know that she walks - mkVP : VQ -> QS -> VP ; -- ask if she walks - mkVP : VA -> AP -> VP ; -- become warm - mkVP : V2A -> NP -> AP -> VP ; -- paint the house red + mkVP : V -> VP ; -- 1. walk + mkVP : V2 -> NP -> VP ; -- 2. love her + mkVP : V3 -> NP -> NP -> VP ; -- 3. send it to her + mkVP : VV -> VP -> VP ; -- 4. want to walk + mkVP : VS -> S -> VP ; -- 5. know that she walks + mkVP : VQ -> QS -> VP ; -- 6. ask if she walks + mkVP : VA -> AP -> VP ; -- 7. become old + mkVP : V2A -> NP -> AP -> VP ; -- 8. paint it red -- The verb can also be a copula ("be"), and the relevant argument is -- then the complement adjective or noun phrase. - mkVP : A -> VP ; -- be warm - mkVP : AP -> VP ; -- be very warm - mkVP : N -> VP ; -- be a man - mkVP : CN -> VP ; -- be an old man - mkVP : NP -> VP ; -- be the old man - mkVP : Adv -> VP ; -- be here + mkVP : A -> VP ; -- 9. be warm + mkVP : AP -> VP ; -- 12. be very warm + mkVP : N -> VP ; -- 13. be a man + mkVP : CN -> VP ; -- 14. be an old man + mkVP : NP -> VP ; -- 15. be the man + mkVP : Adv -> VP ; -- 16. be here --- A verb phrase can be modified with a postverbal or a preverbial adverb. +-- A verb phrase can be modified with a postverbal or a preverbal adverb. - mkVP : VP -> Adv -> VP ; -- sleep here - mkVP : AdV -> VP -> VP -- always sleep + mkVP : VP -> Adv -> VP ; -- 17. sleep here + mkVP : AdV -> VP -> VP -- 18. always sleep } ; -- Two-place verbs can be used reflexively. - reflexiveVP : V2 -> VP ; -- love itself + reflexiveVP : V2 -> VP ; -- 19. love itself -- Two-place verbs can also be used in the passive, with or without an agent. passiveVP : overload { - passiveVP : V2 -> VP ; -- be loved - passiveVP : V2 -> NP -> VP ; -- be loved by her + passiveVP : V2 -> VP ; -- 20. be loved + passiveVP : V2 -> NP -> VP ; -- 21. be loved by her } ; -- A verb phrase can be turned into the progressive form. - progressiveVP : VP -> VP ; -- be sleeping + progressiveVP : VP -> VP ; -- 22. be sleeping --3 Imp, imperatives diff --git a/lib/resource-1.0/api/examples/Exx.gf b/lib/resource-1.0/api/examples/Exx.gf index 853241f53..829c49793 100644 --- a/lib/resource-1.0/api/examples/Exx.gf +++ b/lib/resource-1.0/api/examples/Exx.gf @@ -18,5 +18,13 @@ fun ex11_Cl, ex12_Cl, ex13_Cl, ex14_Cl, ex15_Cl, ex16_Cl, ex17_Cl, ex18_Cl, ex19_Cl, ex20_Cl, ex21_Cl, ex22_Cl, ex23_Cl, ex24_Cl, ex25_Cl : Cl ; + ex1_VP, ex2_VP, ex3_VP, ex4_VP, ex5_VP, ex6_VP, ex7_VP, ex8_VP, ex9_VP, ex10_VP, + ex11_VP, ex12_VP, ex13_VP, ex14_VP, ex15_VP, ex16_VP, ex17_VP, ex18_VP, ex19_VP, ex20_VP, + ex21_VP, ex22_VP : VP ; + + +-- auxiliary to show VP's + + utt : VP -> Utt ; } diff --git a/lib/resource-1.0/api/examples/ExxI.gf b/lib/resource-1.0/api/examples/ExxI.gf index 1c96b6d2c..223d918f0 100644 --- a/lib/resource-1.0/api/examples/ExxI.gf +++ b/lib/resource-1.0/api/examples/ExxI.gf @@ -51,10 +51,10 @@ incomplete concrete ExxI of Exx = Cat ** open Lang, Constructors in { ex6_Cl = mkCl john_NP wonder_VQ (mkQS (mkCl (mkNP it_Pron) good_A)) ; ex7_Cl = mkCl john_NP become_VA (mkAP old_A) ; ex8_Cl = mkCl john_NP paint_V2A (mkNP it_Pron) (mkAP red_A) ; - ex9_Cl = mkCl john_NP (mkAP very_AdA (mkAP old_A)) ; - ex10_Cl = mkCl john_NP old_A ; - ex11_Cl = mkCl john_NP old_A (mkNP she_Pron) ; - ex12_Cl = mkCl john_NP married_A2 (mkNP she_Pron) ; + ex9_Cl = mkCl john_NP old_A ; + ex10_Cl = mkCl john_NP old_A (mkNP she_Pron) ; + ex11_Cl = mkCl john_NP married_A2 (mkNP she_Pron) ; + ex12_Cl = mkCl john_NP (mkAP very_AdA (mkAP old_A)) ; ex13_Cl = mkCl john_NP man_N ; ex14_Cl = mkCl john_NP (mkCN old_A man_N) ; ex15_Cl = mkCl john_NP (mkNP defSgDet man_N) ; @@ -69,6 +69,35 @@ incomplete concrete ExxI of Exx = Cat ** open Lang, Constructors in { ex24_Cl = mkCl here_Adv (mkS (mkCl john_NP walk_V)) ; ex25_Cl = mkCl (mkVP walk_V) ; + ex1_VP = mkVP walk_V ; + ex2_VP = mkVP love_V2 (mkNP she_Pron) ; + ex3_VP = mkVP send_V3 (mkNP it_Pron) (mkNP she_Pron) ; + ex4_VP = mkVP want_VV (mkVP walk_V) ; + ex5_VP = mkVP say_VS (mkS (mkCl (mkNP it_Pron) good_A)) ; + ex6_VP = mkVP wonder_VQ (mkQS (mkCl (mkNP it_Pron) good_A)) ; + ex7_VP = mkVP become_VA (mkAP old_A) ; + ex8_VP = mkVP paint_V2A (mkNP it_Pron) (mkAP red_A) ; + + ex9_VP = mkVP old_A ; +--- ex10_VP = mkVP old_A (mkNP she_Pron) ; +--- ex11_VP = mkVP married_A2 (mkNP she_Pron) ; + ex12_VP = mkVP (mkAP very_AdA (mkAP old_A)) ; + + ex13_VP = mkVP man_N ; + ex14_VP = mkVP (mkCN old_A man_N) ; + ex15_VP = mkVP (mkNP defSgDet man_N) ; + ex16_VP = mkVP here_Adv ; + ex17_VP = mkVP (mkVP sleep_V) here_Adv ; + ex18_VP = mkVP always_AdV (mkVP sleep_V) ; + ex19_VP = reflexiveVP love_V2 ; + ex20_VP = passiveVP love_V2 ; + ex21_VP = passiveVP love_V2 (mkNP she_Pron) ; + ex22_VP = progressiveVP (mkVP sleep_V) ; + + + +--- utt u = mkUtt u ; + oper john_PN = paris_PN ; ---- today_Adv = here_Adv ; ---- diff --git a/lib/resource-1.0/api/examples/mkgfs.hs b/lib/resource-1.0/api/examples/mkgfs.hs index c0bd06f84..5d4bb6ece 100644 --- a/lib/resource-1.0/api/examples/mkgfs.hs +++ b/lib/resource-1.0/api/examples/mkgfs.hs @@ -11,6 +11,9 @@ mkgfs = do addLin s = case words s of - c@('e':'x':_):_ -> appendFile script ("l " ++ c ++ "\n") + c@('e':'x':_):_ -> appendFile script ("l " ++ cc ++ "\n") where + cc = case take 2 (reverse c) of + --- "PV" -> "utt " ++ c + _ -> c _ -> return ()