From ef59dee4d52090696ab9388e0b0aaa7d2bfd691d Mon Sep 17 00:00:00 2001 From: aarne Date: Thu, 20 Nov 2014 22:10:24 +0000 Subject: [PATCH] Constructions: languageNP and languageCN ; languagePN removed. Requires the change of lincat from PN to N. Done for 10 languages, not yet Bul and Hin. Enables "my English is bad", "this is bad English" --- lib/src/abstract/Construction.gf | 3 ++- lib/src/chinese/ConstructionChi.gf | 7 ++++--- lib/src/dutch/ConstructionDut.gf | 7 ++++--- lib/src/english/ConstructionEng.gf | 8 +++++--- lib/src/estonian/ConstructionEst.gf | 7 ++++--- lib/src/estonian/LangEst.gf | 2 ++ lib/src/finnish/ConstructionFin.gf | 9 +++++---- lib/src/french/ConstructionFre.gf | 7 ++++--- lib/src/german/ConstructionGer.gf | 7 ++++--- lib/src/italian/ConstructionIta.gf | 7 ++++--- lib/src/spanish/ConstructionSpa.gf | 7 ++++--- lib/src/swedish/ConstructionSwe.gf | 7 ++++--- 12 files changed, 46 insertions(+), 32 deletions(-) diff --git a/lib/src/abstract/Construction.gf b/lib/src/abstract/Construction.gf index 6cb5caf49..754ce46c3 100644 --- a/lib/src/abstract/Construction.gf +++ b/lib/src/abstract/Construction.gf @@ -105,7 +105,8 @@ fun weekdayPN : Weekday -> PN ; monthPN : Month -> PN ; - languagePN : Language -> PN ; + languageNP : Language -> NP ; + languageCN : Language -> CN ; ---------------------------------------------- ---- lexicon of special names diff --git a/lib/src/chinese/ConstructionChi.gf b/lib/src/chinese/ConstructionChi.gf index 0950237ae..2bd0f3432 100644 --- a/lib/src/chinese/ConstructionChi.gf +++ b/lib/src/chinese/ConstructionChi.gf @@ -45,11 +45,11 @@ lin intYear i = lin NP i ; intMonthday i = lin NP i ; -lincat Language = PN ; +lincat Language = N ; lin InLanguage l = SyntaxChi.mkAdv (mkPrep "在") (mkNP l) ; -oper mkLanguage : Str -> PN = \s -> mkPN s ; +oper mkLanguage : Str -> N = \s -> mkN s ; ---- classifier? lin weekdayN w = w ; @@ -58,7 +58,8 @@ lin weekdayPN w = ss w.s ; monthPN m = ss m.s ; - languagePN l = l ; + languageNP l = mkNP l ; + languageCN l = mkCN l ; lin monday_Weekday = mkN "星期一" ; lin tuesday_Weekday = mkN "星期二" ; diff --git a/lib/src/dutch/ConstructionDut.gf b/lib/src/dutch/ConstructionDut.gf index d6afe644d..aef5f467f 100644 --- a/lib/src/dutch/ConstructionDut.gf +++ b/lib/src/dutch/ConstructionDut.gf @@ -51,7 +51,7 @@ lin intYear = symb ; intMonthday = symb ; -lincat Language = PN ; +lincat Language = N ; lin InLanguage l = SyntaxDut.mkAdv on_Prep (mkNP l) ; @@ -62,9 +62,10 @@ lin weekdayPN w = mkPN w ; monthPN m = mkPN m ; - languagePN l = l ; + languageCN l = mkCN l ; + languageNP l = mkNP l ; -oper mkLanguage : Str -> PN = \s -> mkPN s ; +oper mkLanguage : Str -> N = \s -> mkN s ; ---------------------------------------------- ---- lexicon of special names diff --git a/lib/src/english/ConstructionEng.gf b/lib/src/english/ConstructionEng.gf index 8486fcc88..f9954ccd5 100644 --- a/lib/src/english/ConstructionEng.gf +++ b/lib/src/english/ConstructionEng.gf @@ -81,7 +81,7 @@ lin intYear = symb ; intMonthday = symb ; -lincat Language = PN ; +lincat Language = N ; lin InLanguage l = SyntaxEng.mkAdv in_Prep (mkNP l) ; @@ -92,9 +92,11 @@ lin weekdayPN w = mkPN w ; monthPN m = mkPN m ; - languagePN l = l ; + languageCN l = mkCN l ; + languageNP l = mkNP l ; -oper mkLanguage : Str -> PN = \s -> mkPN s ; + +oper mkLanguage : Str -> N = \s -> mkN s ; ---------------------------------------------- ---- lexicon of special names diff --git a/lib/src/estonian/ConstructionEst.gf b/lib/src/estonian/ConstructionEst.gf index c7f708532..71c1fb6a5 100644 --- a/lib/src/estonian/ConstructionEst.gf +++ b/lib/src/estonian/ConstructionEst.gf @@ -67,18 +67,19 @@ lin oper pointWeekday : Weekday -> Str = \w -> (SyntaxEst.mkAdv (casePrep essive) (mkNP w.noun)).s ; -lincat Language = PN ; +lincat Language = N ; --lin InLanguage l = SyntaxEst.mkAdv (mkPrep translative) (mkNP l) ; lin weekdayN w = w.noun ; monthN m = m ; - languagePN l = l ; + languageNP l = mkNP l ; + languageCN l = mkCN l ; --------------- lexicon of special names -oper mkLanguage : Str -> PN = \s -> mkPN (s ++ "keel") ; +oper mkLanguage : Str -> N = \s -> mkN (s ++ "keel") ; oper mkWeekday : Str -> Weekday = \d -> lin Weekday { diff --git a/lib/src/estonian/LangEst.gf b/lib/src/estonian/LangEst.gf index 4db3eb21c..870efd962 100644 --- a/lib/src/estonian/LangEst.gf +++ b/lib/src/estonian/LangEst.gf @@ -1,3 +1,5 @@ +--# -path=.:../abstract:../common:../api:../prelude + -- TODO: include the full GrammarEst -- The Slash* is currently excluded only for performance reasons. concrete LangEst of Lang = diff --git a/lib/src/finnish/ConstructionFin.gf b/lib/src/finnish/ConstructionFin.gf index 042e3f11a..3e808d956 100644 --- a/lib/src/finnish/ConstructionFin.gf +++ b/lib/src/finnish/ConstructionFin.gf @@ -77,18 +77,19 @@ lin oper pointWeekday : Weekday -> Str = \w -> (SyntaxFin.mkAdv (casePrep essive) (mkNP w.noun)).s ; -lincat Language = PN ; +lincat Language = N ; lin InLanguage l = SyntaxFin.mkAdv (mkPrep translative) (mkNP l) ; lin weekdayN w = w.noun ; monthN m = m ; - languagePN l = l ; + languageNP l = mkNP l ; + languageCN l = mkCN l ; --------------- lexicon of special names -oper mkLanguage : Str -> PN = \s -> mkPN s ; +oper mkLanguage : Str -> N = \s -> mkN s ; oper mkWeekday : Str -> Weekday = \d -> lin Weekday { @@ -138,7 +139,7 @@ lin danish_Language = mkLanguage "tanska" ; lin dutch_Language = mkLanguage "hollanti" ; lin english_Language = mkLanguage "englanti" ; lin estonian_Language = mkLanguage "viro" ; -lin finnish_Language = mkPN (mkN "suomi" "suomia") ; +lin finnish_Language = mkN "suomi" "suomia" ; lin french_Language = mkLanguage "ranska" ; lin german_Language = mkLanguage "saksa" ; lin greek_Language = mkLanguage "kreikka" ; diff --git a/lib/src/french/ConstructionFre.gf b/lib/src/french/ConstructionFre.gf index 1304d8731..d57174f19 100644 --- a/lib/src/french/ConstructionFre.gf +++ b/lib/src/french/ConstructionFre.gf @@ -70,7 +70,7 @@ lin intMonthday = symb ; -lincat Language = PN ; +lincat Language = N ; lin InLanguage l = SyntaxFre.mkAdv (mkPrep "en") (mkNP l) ; @@ -80,9 +80,10 @@ lin weekdayPN w = mkPN w ; monthPN m = mkPN m ; - languagePN l = l ; + languageCN l = mkCN l ; + languageNP l = mkNP the_Det l ; -oper mkLanguage : Str -> PN = \s -> mkPN s ; +oper mkLanguage : Str -> N = \s -> mkN s ; ---------------------------------------------- ---- lexicon of special names diff --git a/lib/src/german/ConstructionGer.gf b/lib/src/german/ConstructionGer.gf index f76fc49e6..64f4185a6 100644 --- a/lib/src/german/ConstructionGer.gf +++ b/lib/src/german/ConstructionGer.gf @@ -64,7 +64,7 @@ lin intYear = symb ; intMonthday = symb ; -lincat Language = PN ; +lincat Language = N ; lin InLanguage l = SyntaxGer.mkAdv on_Prep (mkNP l) ; @@ -75,9 +75,10 @@ lin weekdayPN w = mkPN w ; monthPN m = mkPN m ; - languagePN l = l ; + languageNP l = mkNP l ; + languageCN l = mkCN l ; -oper mkLanguage : Str -> PN = \s -> mkPN s ; +oper mkLanguage : Str -> N = \s -> mkN s ; ---- produces Masc ---------------------------------------------- ---- lexicon of special names diff --git a/lib/src/italian/ConstructionIta.gf b/lib/src/italian/ConstructionIta.gf index b13a03433..7c4346c3b 100644 --- a/lib/src/italian/ConstructionIta.gf +++ b/lib/src/italian/ConstructionIta.gf @@ -70,7 +70,7 @@ lin intMonthday = symb ; -lincat Language = PN ; +lincat Language = N ; lin InLanguage l = SyntaxIta.mkAdv (mkPrep "in") (mkNP l) ; @@ -80,9 +80,10 @@ lin weekdayPN w = mkPN w ; monthPN m = mkPN m ; - languagePN l = l ; + languageNP l = mkNP l ; + languageCN l = mkCN l ; -oper mkLanguage : Str -> PN = \s -> mkPN s ; +oper mkLanguage : Str -> N = \s -> mkN s ; ---------------------------------------------- ---- lexicon of special names diff --git a/lib/src/spanish/ConstructionSpa.gf b/lib/src/spanish/ConstructionSpa.gf index 3182bfaba..3201e1347 100644 --- a/lib/src/spanish/ConstructionSpa.gf +++ b/lib/src/spanish/ConstructionSpa.gf @@ -70,7 +70,7 @@ lin intMonthday = symb ; -lincat Language = PN ; +lincat Language = N ; lin InLanguage l = SyntaxSpa.mkAdv (mkPrep "en") (mkNP l) ; @@ -80,9 +80,10 @@ lin weekdayPN w = mkPN w ; monthPN m = mkPN m ; - languagePN l = l ; + languageNP l = mkNP l ; + languageCN l = mkCN l ; -oper mkLanguage : Str -> PN = \s -> mkPN s ; +oper mkLanguage : Str -> N = \s -> mkN s ; ---------------------------------------------- ---- lexicon of special names diff --git a/lib/src/swedish/ConstructionSwe.gf b/lib/src/swedish/ConstructionSwe.gf index 8c0b6f458..ac829daf7 100644 --- a/lib/src/swedish/ConstructionSwe.gf +++ b/lib/src/swedish/ConstructionSwe.gf @@ -65,7 +65,7 @@ lin intMonthday = symb ; -lincat Language = PN ; +lincat Language = N ; lin InLanguage l = SyntaxSwe.mkAdv on_Prep (mkNP l) ; @@ -76,9 +76,10 @@ lin weekdayPN w = mkPN w ; monthPN m = mkPN m ; - languagePN l = l ; + languageCN l = mkCN l ; + languageNP l = mkNP l ; -oper mkLanguage : Str -> PN = \s -> mkPN s ; +oper mkLanguage : Str -> N = \s -> mkN s ; ---------------------------------------------- ---- lexicon of special names