diff --git a/examples/phrasebook/SentencesGer.gf b/examples/phrasebook/SentencesGer.gf index 47359fc82..336aa4b11 100644 --- a/examples/phrasebook/SentencesGer.gf +++ b/examples/phrasebook/SentencesGer.gf @@ -1,7 +1,8 @@ concrete SentencesGer of Sentences = NumeralGer ** SentencesI - [PYesToNo,SHaveNo,SHaveNoMass, Proposition, Action, Is, IsMass, SProp, SPropNot, QProp, - AHaveCurr, ACitizen, ABePlace, AKnowSentence, AKnowPerson, AKnowQuestion + AHaveCurr, ACitizen, ABePlace, AKnowSentence, AKnowPerson, AKnowQuestion, + Nationality, Language ] with (Syntax = SyntaxGer), (Symbolic = SymbolicGer), @@ -33,4 +34,8 @@ concrete SentencesGer of Sentences = NumeralGer ** SentencesI - AKnowQuestion p s = prop (mkCl p.name Lexicon.know_VQ s) ; AKnowPerson p q = prop (mkCl p.name Lexicon.know_V2 q.name) ; + lincat + Nationality = {lang : CN ; country : NP ; prop : A} ; + Language = CN ; -- kein Deutsch + } diff --git a/examples/phrasebook/SentencesI.gf b/examples/phrasebook/SentencesI.gf index e123eed97..415682e4e 100644 --- a/examples/phrasebook/SentencesI.gf +++ b/examples/phrasebook/SentencesI.gf @@ -102,7 +102,7 @@ incomplete concrete SentencesI of Sentences = Numeral ** ThePlace kind = let dd = if_then_else Det kind.isPl thePl_Det theSg_Det in placeNP dd kind ; - APlace kind = let dd = if_then_else Det kind.isPl thePl_Det theSg_Det + APlace kind = let dd = if_then_else Det kind.isPl aPl_Det aSg_Det in placeNP dd kind ; IMale, IFemale = mkPerson i_Pron ; diff --git a/examples/phrasebook/WordsFin.gf b/examples/phrasebook/WordsFin.gf index 0e4e7d14c..59cce8600 100644 --- a/examples/phrasebook/WordsFin.gf +++ b/examples/phrasebook/WordsFin.gf @@ -195,10 +195,10 @@ concrete WordsFin of Words = SentencesFin ** -- transports HowFar place = mkQS (mkQCl far_IAdv place.name) ; - HowFarFrom place x = - mkQS (mkQCl far_IAdv (mkCl place.name (SyntaxFin.mkAdv from_Prep x.name))) ; - HowFarFromBy place x t = - mkQS (mkQCl far_IAdv (mkCl place.name + HowFarFrom x y = + mkQS (mkQCl far_IAdv (mkCl y.name (SyntaxFin.mkAdv from_Prep x.name))) ; + HowFarFromBy x y t = + mkQS (mkQCl far_IAdv (mkCl y.name (mkVP (mkVP (SyntaxFin.mkAdv from_Prep x.name)) t))) ; HowFarBy place t = mkQS (mkQCl far_IAdv (mkCl place.name t)) ; diff --git a/examples/phrasebook/WordsFre.gf b/examples/phrasebook/WordsFre.gf index f00c96840..faab0ee63 100644 --- a/examples/phrasebook/WordsFre.gf +++ b/examples/phrasebook/WordsFre.gf @@ -224,12 +224,12 @@ lin -- transports HowFar place = mkQS (mkQCl what_distance_IAdv place.name) ; - HowFarFrom place x = + HowFarFrom x y = mkQS (mkQCl (E.CompIQuant which_IQuant) - (mkNP (mkNP distance_NP (SyntaxFre.mkAdv from_Prep x.name)) place.to)) ; - HowFarFromBy place x t = + (mkNP (mkNP distance_NP (SyntaxFre.mkAdv from_Prep x.name)) y.to)) ; + HowFarFromBy x y t = mkQS (mkQCl (E.CompIQuant which_IQuant) - (mkNP (mkNP (mkNP distance_NP (SyntaxFre.mkAdv from_Prep x.name)) place.to) t)) ; + (mkNP (mkNP (mkNP distance_NP (SyntaxFre.mkAdv from_Prep x.name)) y.to) t)) ; HowFarBy place t = mkQS (mkQCl what_distance_IAdv (mkNP place.name t)) ; diff --git a/examples/phrasebook/WordsGer.gf b/examples/phrasebook/WordsGer.gf index f19074e1c..1852b4482 100644 --- a/examples/phrasebook/WordsGer.gf +++ b/examples/phrasebook/WordsGer.gf @@ -94,7 +94,7 @@ CitRestaurant cit = mkCNPlace (mkCN cit (mkN "Restaurant" "Restaurants" neuter) Dutch = mkNat "den Niederlanden" "Niederländisch" "niederländisch" ; English = mkNat "England" "Englisch" "englisch" ; Finnish = mkNat "Finnland" "Finnisch" "finnisch" ; - Flemish = mkNP (mkPN "Flämisch") ; + Flemish = mkCN (mkN "Flämisch" "Flämisch" neuter) ; French = mkNat "Frankreich" "Französisch" "französisch" ; German = mkNat "Deutschland" "Deutsch" "deutsche" ; Italian = mkNat "Italien" "Italienisch" "italienisch" ; @@ -127,7 +127,8 @@ CitRestaurant cit = mkCNPlace (mkCN cit (mkN "Restaurant" "Restaurants" neuter) AMarried p = prop (mkCl p.name (mkA "verheiratet")) ; AReady p = prop (mkCl p.name (mkA "bereit")) ; AScared p = prop (mkCl p.name have_V2 (mkNP (mkN "Angst" "Angsten" feminine))) ; - ASpeak p lang = prop (mkCl p.name (mkV2 sprechen_V) lang) ; + ASpeak p lang = mkProp (mkCl p.name (mkV2 sprechen_V) (mkNP lang)) + (mkS (mkCl p.name (mkV2 sprechen_V) (mkNP no_Quant lang))) ; AThirsty p = prop (mkCl p.name (mkA "durstig")) ; ATired p = prop (mkCl p.name (mkA "müde")) ; AUnderstand p = prop (mkCl p.name (fixprefixV "ver" stehen_V)) ; @@ -209,8 +210,8 @@ CitRestaurant cit = mkCNPlace (mkCN cit (mkN "Restaurant" "Restaurants" neuter) HowFar place = mkQS (mkQCl far_IAdv place.name) ; HowFarFrom x y = mkQS (mkQCl far_IAdv (mkNP (mkNP y.name (SyntaxGer.mkAdv from_Prep x.name)) (ParadigmsGer.mkAdv "entfernt"))) ; HowFarFromBy x y t = - mkQS (mkQCl how_long_IAdv (mkCl (mkVP (SyntaxGer.mkAdv zu_Prep (mkNP (mkNP y.name (SyntaxGer.mkAdv from_Prep x.name)) t))))) ; - HowFarBy y t = mkQS (mkQCl how_long_IAdv (mkCl (mkVP (SyntaxGer.mkAdv zu_Prep (mkNP y.name t))))) ; + mkQS (mkQCl far_IAdv (mkCl (mkVP (SyntaxGer.mkAdv zu_Prep (mkNP (mkNP y.name (SyntaxGer.mkAdv from_Prep x.name)) t))))) ; + HowFarBy y t = mkQS (mkQCl far_IAdv (mkCl (mkVP (SyntaxGer.mkAdv zu_Prep (mkNP y.name t))))) ; WhichTranspPlace trans place = mkQS (mkQCl (mkIP which_IDet trans.name) (mkVP (mkVP L.go_V) place.to)) ; @@ -223,8 +224,8 @@ CitRestaurant cit = mkCNPlace (mkCN cit (mkN "Restaurant" "Restaurants" neuter) oper - mkNat : Str -> Str -> Str -> {lang : NP ; prop : A ; country : NP} = \co, la, adj -> - {lang = mkNP (mkPN la) ; + mkNat : Str -> Str -> Str -> {lang : CN ; prop : A ; country : NP} = \co, la, adj -> + {lang = mkCN (mkN la la neuter) ; prop = mkA adj ; country = mkNP (mkPN co)} ; mkDay : Str -> {name : NP ; point : Adv ; habitual : Adv} = \d -> @@ -256,5 +257,5 @@ CitRestaurant cit = mkCNPlace (mkCN cit (mkN "Restaurant" "Restaurants" neuter) } ; far_IAdv = ss "wie weit" ** {lock_IAdv = <>} ; - how_long_IAdv = ss "wie lange dauert" ** {lock_IAdv=<>} ; + }