mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-20 08:32:50 -06:00
added VP exx
This commit is contained in:
@@ -233,10 +233,10 @@ incomplete resource Constructors = open Grammar in {
|
|||||||
mkCl : NP -> VQ -> QS -> Cl ; -- 6. John wonders if it is good
|
mkCl : NP -> VQ -> QS -> Cl ; -- 6. John wonders if it is good
|
||||||
mkCl : NP -> VA -> AP -> Cl ; -- 7. John becomes old
|
mkCl : NP -> VA -> AP -> Cl ; -- 7. John becomes old
|
||||||
mkCl : NP -> V2A ->NP -> AP -> Cl ; -- 8. John paints it red
|
mkCl : NP -> V2A ->NP -> AP -> Cl ; -- 8. John paints it red
|
||||||
mkCl : NP -> AP -> Cl ; -- 9. John is very old
|
mkCl : NP -> A -> Cl ; -- 9. John is old
|
||||||
mkCl : NP -> A -> Cl ; -- 10. John is old
|
mkCl : NP -> A -> NP -> Cl ; -- 10. John is older than her
|
||||||
mkCl : NP -> A -> NP -> Cl ; -- 11. John is older than her
|
mkCl : NP -> A2 -> NP -> Cl ; -- 11. John is married to her
|
||||||
mkCl : NP -> A2 -> NP -> Cl ; -- 12. 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 -> N -> Cl ; -- 13. John is a man
|
||||||
mkCl : NP -> CN -> Cl ; -- 14. John is an old man
|
mkCl : NP -> CN -> Cl ; -- 14. John is an old man
|
||||||
mkCl : NP -> NP -> Cl ; -- 15. John is the 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.
|
-- A verb phrase is formed from a verb with appropriate arguments.
|
||||||
|
|
||||||
mkVP : overload {
|
mkVP : overload {
|
||||||
mkVP : V -> VP ; -- walk
|
mkVP : V -> VP ; -- 1. walk
|
||||||
mkVP : V2 -> NP -> VP ; -- love her
|
mkVP : V2 -> NP -> VP ; -- 2. love her
|
||||||
mkVP : V3 -> NP -> NP -> VP ; -- send it to her
|
mkVP : V3 -> NP -> NP -> VP ; -- 3. send it to her
|
||||||
mkVP : VV -> VP -> VP ; -- want to walk
|
mkVP : VV -> VP -> VP ; -- 4. want to walk
|
||||||
mkVP : VS -> S -> VP ; -- know that she walks
|
mkVP : VS -> S -> VP ; -- 5. know that she walks
|
||||||
mkVP : VQ -> QS -> VP ; -- ask if she walks
|
mkVP : VQ -> QS -> VP ; -- 6. ask if she walks
|
||||||
mkVP : VA -> AP -> VP ; -- become warm
|
mkVP : VA -> AP -> VP ; -- 7. become old
|
||||||
mkVP : V2A -> NP -> AP -> VP ; -- paint the house red
|
mkVP : V2A -> NP -> AP -> VP ; -- 8. paint it red
|
||||||
|
|
||||||
-- The verb can also be a copula ("be"), and the relevant argument is
|
-- The verb can also be a copula ("be"), and the relevant argument is
|
||||||
-- then the complement adjective or noun phrase.
|
-- then the complement adjective or noun phrase.
|
||||||
|
|
||||||
mkVP : A -> VP ; -- be warm
|
mkVP : A -> VP ; -- 9. be warm
|
||||||
mkVP : AP -> VP ; -- be very warm
|
mkVP : AP -> VP ; -- 12. be very warm
|
||||||
mkVP : N -> VP ; -- be a man
|
mkVP : N -> VP ; -- 13. be a man
|
||||||
mkVP : CN -> VP ; -- be an old man
|
mkVP : CN -> VP ; -- 14. be an old man
|
||||||
mkVP : NP -> VP ; -- be the old man
|
mkVP : NP -> VP ; -- 15. be the man
|
||||||
mkVP : Adv -> VP ; -- be here
|
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 : VP -> Adv -> VP ; -- 17. sleep here
|
||||||
mkVP : AdV -> VP -> VP -- always sleep
|
mkVP : AdV -> VP -> VP -- 18. always sleep
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Two-place verbs can be used reflexively.
|
-- 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.
|
-- Two-place verbs can also be used in the passive, with or without an agent.
|
||||||
|
|
||||||
passiveVP : overload {
|
passiveVP : overload {
|
||||||
passiveVP : V2 -> VP ; -- be loved
|
passiveVP : V2 -> VP ; -- 20. be loved
|
||||||
passiveVP : V2 -> NP -> VP ; -- be loved by her
|
passiveVP : V2 -> NP -> VP ; -- 21. be loved by her
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- A verb phrase can be turned into the progressive form.
|
-- A verb phrase can be turned into the progressive form.
|
||||||
|
|
||||||
progressiveVP : VP -> VP ; -- be sleeping
|
progressiveVP : VP -> VP ; -- 22. be sleeping
|
||||||
|
|
||||||
--3 Imp, imperatives
|
--3 Imp, imperatives
|
||||||
|
|
||||||
|
|||||||
@@ -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,
|
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 ;
|
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 ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)) ;
|
ex6_Cl = mkCl john_NP wonder_VQ (mkQS (mkCl (mkNP it_Pron) good_A)) ;
|
||||||
ex7_Cl = mkCl john_NP become_VA (mkAP old_A) ;
|
ex7_Cl = mkCl john_NP become_VA (mkAP old_A) ;
|
||||||
ex8_Cl = mkCl john_NP paint_V2A (mkNP it_Pron) (mkAP red_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)) ;
|
ex9_Cl = mkCl john_NP old_A ;
|
||||||
ex10_Cl = mkCl john_NP old_A ;
|
ex10_Cl = mkCl john_NP old_A (mkNP she_Pron) ;
|
||||||
ex11_Cl = mkCl john_NP old_A (mkNP she_Pron) ;
|
ex11_Cl = mkCl john_NP married_A2 (mkNP she_Pron) ;
|
||||||
ex12_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 ;
|
ex13_Cl = mkCl john_NP man_N ;
|
||||||
ex14_Cl = mkCl john_NP (mkCN old_A man_N) ;
|
ex14_Cl = mkCl john_NP (mkCN old_A man_N) ;
|
||||||
ex15_Cl = mkCl john_NP (mkNP defSgDet 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)) ;
|
ex24_Cl = mkCl here_Adv (mkS (mkCl john_NP walk_V)) ;
|
||||||
ex25_Cl = mkCl (mkVP 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
|
oper
|
||||||
john_PN = paris_PN ; ----
|
john_PN = paris_PN ; ----
|
||||||
today_Adv = here_Adv ; ----
|
today_Adv = here_Adv ; ----
|
||||||
|
|||||||
@@ -11,6 +11,9 @@ mkgfs = do
|
|||||||
|
|
||||||
|
|
||||||
addLin s = case words s of
|
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 ()
|
_ -> return ()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user