diff --git a/lib/src/chinese/ConstructionChi.gf b/lib/src/chinese/ConstructionChi.gf new file mode 100644 index 000000000..774926b69 --- /dev/null +++ b/lib/src/chinese/ConstructionChi.gf @@ -0,0 +1,27 @@ +--# -path=.:../abstract + +concrete ConstructionChi of Construction = CatChi ** + open SyntaxChi, ParadigmsChi, (L = LexiconChi), (E = ExtraChi), (G = GrammarChi), (R = ResChi), Prelude in { + + +lin + hungry_VP = mkVP (mkV "饿") ; + thirsty_VP = mkVP (mkA "渴") ; + has_age_VP card = mkVP (lin AdV card) (mkVP (mkV "岁")) ; + + have_name_Cl x y = mkCl (lin NP x) (mkV2 (mkV "叫")) (lin NP y) ; + married_Cl x y = mkCl (lin NP x) L.married_A2 (lin NP y) ; + + what_name_QCl x = mkQCl whatSg_IP (mkClSlash (lin NP x) (mkV2 (mkV "叫"))) ; + how_old_QCl x = {s = \\p,a => x.s ++ (R.word "几岁" | R.word "多大")} ; ---- +---- how_far_QCl x = mkQCl (E.IAdvAdv (ss "far")) (lin NP x) ; + +-- some more things + weather_adjCl ap = mkCl (mkVP (lin AP ap)) ; + + is_right_VP = mkVP (ParadigmsChi.mkA "对") ; + is_wrong_VP = mkVP (ParadigmsChi.mkV "错") ; + + n_units_AP card cn a = mkAP (lin AdA (mkUtt (mkNP (lin CN cn)))) (lin A a) ; ---- + +} diff --git a/lib/src/german/ConstructionGer.gf b/lib/src/german/ConstructionGer.gf new file mode 100644 index 000000000..8d0902157 --- /dev/null +++ b/lib/src/german/ConstructionGer.gf @@ -0,0 +1,27 @@ +--# -path=.:../abstract + +concrete ConstructionGer of Construction = CatGer ** + open SyntaxGer, ParadigmsGer, (L = LexiconGer), (E = ExtraGer), (G = GrammarGer), (I = IrregGer), Prelude in { + + +lin + hungry_VP = mkVP (mkA "hungrig") ; + thirsty_VP = mkVP (mkA "durstig") ; + has_age_VP card = mkVP (lin AP (mkAP (lin AdA (mkUtt (mkNP L.year_N))) L.old_A)) ; + + have_name_Cl x y = mkCl (lin NP x) (mkV2 I.heißen_V) (lin NP y) ; + married_Cl x y = mkCl (lin NP x) L.married_A2 (lin NP y) | mkCl (mkNP and_Conj (lin NP x) (lin NP y)) (mkA "verheiratet") ; + + what_name_QCl x = mkQCl how_IAdv (mkCl (lin NP x) I.heißen_V) ; + how_old_QCl x = mkQCl (E.ICompAP (mkAP L.old_A)) (lin NP x) ; + how_far_QCl x = mkQCl (E.IAdvAdv L.far_Adv) (mkCl (mkVP (SyntaxGer.mkAdv to_Prep (lin NP x)))) ; + +-- some more things + weather_adjCl ap = mkCl (mkVP (lin AP ap)) ; + + is_right_VP = mkVP have_V2 (mkNP (ParadigmsGer.mkN "Recht")) ; + is_wrong_VP = mkVP have_V2 (mkNP (ParadigmsGer.mkN "Unrecht")) ; + + n_units_AP card cn a = mkAP (lin AdA (mkUtt (mkNP (lin CN cn)))) (lin A a) ; + +} diff --git a/lib/src/german/ParseGer.gf b/lib/src/german/ParseGer.gf index f9c1be4cb..e1babe8d7 100644 --- a/lib/src/german/ParseGer.gf +++ b/lib/src/german/ParseGer.gf @@ -13,6 +13,7 @@ concrete ParseGer of ParseEngAbs = QuestionGer, RelativeGer, IdiomGer [NP, VP, Tense, Cl, ProgrVP, ExistNP, SelfAdvVP, SelfAdVVP, SelfNP], + ConstructionGer, ExtraGer [NP, Quant, VPSlash, VP, Tense, GenNP, PassVPSlash, PassAgentVPSlash, Temp, Pol, Conj, VPS, ListVPS, S, MkVPS, BaseVPS, ConsVPS, ConjVPS, PredVPS, VPI, VPIForm, VPIInf, VPIPresPart, ListVPI, VV, MkVPI, BaseVPI, ConsVPI, ConjVPI, ComplVPIVV,