forked from GitHub/gf-core
prepared German for kein Deutsch
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
concrete SentencesGer of Sentences = NumeralGer ** SentencesI -
|
||||
[PYesToNo,SHaveNo,SHaveNoMass] with
|
||||
[PYesToNo,SHaveNo,SHaveNoMass,
|
||||
Proposition, Action, Is, IsMass, SProp, SPropNot, QProp,
|
||||
AHaveCurr, ACitizen, ABePlace, AKnowSentence, AKnowPerson, AKnowQuestion
|
||||
] with
|
||||
(Syntax = SyntaxGer),
|
||||
(Symbolic = SymbolicGer),
|
||||
(Lexicon = LexiconGer) ** open Prelude, SyntaxGer in {
|
||||
@@ -9,4 +12,25 @@ concrete SentencesGer of Sentences = NumeralGer ** SentencesI -
|
||||
SHaveNo p k = mkS (mkCl p.name have_V2 (mkNP no_Quant plNum k)) ;
|
||||
SHaveNoMass p k = mkS (mkCl p.name have_V2 (mkNP no_Quant k)) ;
|
||||
|
||||
lincat
|
||||
Proposition, Action = Prop ;
|
||||
oper
|
||||
Prop = {pos : Cl ; neg : S} ; -- x F y ; x F nicht/kein y
|
||||
mkProp : Cl -> S -> Prop = \pos,neg -> {pos = pos ; neg = neg} ;
|
||||
prop : Cl -> Prop = \cl -> mkProp cl (mkS negativePol cl) ;
|
||||
lin
|
||||
Is i q = prop (mkCl i q) ;
|
||||
IsMass m q = prop (mkCl (mkNP m) q) ;
|
||||
SProp p = mkS p.pos ;
|
||||
SPropNot p = p.neg ;
|
||||
QProp p = mkQS (mkQCl p.pos) ;
|
||||
|
||||
AHaveCurr p curr = prop (mkCl p.name have_V2 (mkNP aPl_Det curr)) ;
|
||||
ACitizen p n = prop (mkCl p.name n) ;
|
||||
ABePlace p place = prop (mkCl p.name place.at) ;
|
||||
|
||||
AKnowSentence p s = prop (mkCl p.name Lexicon.know_VS s) ;
|
||||
AKnowQuestion p s = prop (mkCl p.name Lexicon.know_VQ s) ;
|
||||
AKnowPerson p q = prop (mkCl p.name Lexicon.know_V2 q.name) ;
|
||||
|
||||
}
|
||||
|
||||
@@ -109,45 +109,45 @@ CitRestaurant cit = mkCNPlace (mkCN cit (mkN "Restaurant" "Restaurants" neuter)
|
||||
|
||||
-- actions
|
||||
|
||||
AHasAge p num = mkCl p.name (mkNP num L.year_N) ;
|
||||
AHasName p name = mkCl p.name (mkV2 heißen_V) name ;
|
||||
AHungry p = mkCl p.name (mkA "hungrig") ;
|
||||
AHasChildren p num = mkCl p.name have_V2 (mkNP num L.child_N) ;
|
||||
AHasRoom p num = mkCl p.name have_V2
|
||||
AHasAge p num = prop (mkCl p.name (mkNP num L.year_N)) ;
|
||||
AHasName p name = prop (mkCl p.name (mkV2 heißen_V) name) ;
|
||||
AHungry p = prop (mkCl p.name (mkA "hungrig")) ;
|
||||
AHasChildren p num = prop (mkCl p.name have_V2 (mkNP num L.child_N)) ;
|
||||
AHasRoom p num = prop (mkCl p.name have_V2
|
||||
(mkNP (mkNP a_Det (mkN "Zimmer" "Zimmer" neuter))
|
||||
(SyntaxGer.mkAdv for_Prep (mkNP num (mkN "Persone")))) ;
|
||||
AHasTable p num = mkCl p.name have_V2
|
||||
(SyntaxGer.mkAdv for_Prep (mkNP num (mkN "Persone"))))) ;
|
||||
AHasTable p num = prop (mkCl p.name have_V2
|
||||
(mkNP (mkNP a_Det (mkN "Tisch"))
|
||||
(SyntaxGer.mkAdv for_Prep (mkNP num (mkN "Persone")))) ;
|
||||
AIll p = mkCl p.name (mkA "krank") ;
|
||||
AKnow p = mkCl p.name wissen_V ;
|
||||
ALike p item = mkCl p.name (mkV2 mögen_V) item;
|
||||
ALive p co = mkCl p.name (mkVP (mkVP (mkV "wohnen")) (SyntaxGer.mkAdv in_Prep co)) ;
|
||||
ALove p q = mkCl p.name (mkV2 (mkV "lieben")) q.name ;
|
||||
AMarried p = mkCl p.name (mkA "verheiratet") ;
|
||||
AReady p = mkCl p.name (mkA "bereit") ;
|
||||
AScared p = mkCl p.name have_V2 (mkNP (mkN "Angst" "Angsten" feminine)) ;
|
||||
ASpeak p lang = mkCl p.name (mkV2 sprechen_V) lang ;
|
||||
AThirsty p = mkCl p.name (mkA "durstig") ;
|
||||
ATired p = mkCl p.name (mkA "müde") ;
|
||||
AUnderstand p = mkCl p.name (fixprefixV "ver" stehen_V) ;
|
||||
AWant p obj = mkCl p.name want_VV (mkVP have_V2 obj) ;
|
||||
AWantGo p place = mkCl p.name want_VV (mkVP (mkVP L.go_V) place.to) ;
|
||||
(SyntaxGer.mkAdv for_Prep (mkNP num (mkN "Persone"))))) ;
|
||||
AIll p = prop (mkCl p.name (mkA "krank")) ;
|
||||
AKnow p = prop (mkCl p.name wissen_V) ;
|
||||
ALike p item = prop (mkCl p.name (mkV2 mögen_V) item) ;
|
||||
ALive p co = prop (mkCl p.name (mkVP (mkVP (mkV "wohnen")) (SyntaxGer.mkAdv in_Prep co))) ;
|
||||
ALove p q = prop (mkCl p.name (mkV2 (mkV "lieben")) q.name) ;
|
||||
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) ;
|
||||
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)) ;
|
||||
AWant p obj = prop (mkCl p.name want_VV (mkVP have_V2 obj)) ;
|
||||
AWantGo p place = prop (mkCl p.name want_VV (mkVP (mkVP L.go_V) place.to)) ;
|
||||
|
||||
-- miscellaneous
|
||||
|
||||
QWhatName p = mkQS (mkQCl how_IAdv (mkCl p.name heißen_V)) ;
|
||||
QWhatAge p = mkQS (mkQCl (ICompAP (mkAP L.old_A)) p.name) ;
|
||||
|
||||
PropOpen p = mkCl p.name open_Adv ;
|
||||
PropClosed p = mkCl p.name closed_Adv ;
|
||||
PropOpenDate p d = mkCl p.name (mkVP (mkVP d) open_Adv) ;
|
||||
PropClosedDate p d = mkCl p.name (mkVP (mkVP d) closed_Adv) ;
|
||||
PropOpenDay p d = mkCl p.name (mkVP (mkVP d.habitual) open_Adv) ;
|
||||
PropClosedDay p d = mkCl p.name (mkVP (mkVP d.habitual) closed_Adv) ;
|
||||
PropOpen p = prop (mkCl p.name open_Adv) ;
|
||||
PropClosed p = prop (mkCl p.name closed_Adv) ;
|
||||
PropOpenDate p d = prop (mkCl p.name (mkVP (mkVP d) open_Adv)) ;
|
||||
PropClosedDate p d = prop (mkCl p.name (mkVP (mkVP d) closed_Adv)) ;
|
||||
PropOpenDay p d = prop (mkCl p.name (mkVP (mkVP d.habitual) open_Adv)) ;
|
||||
PropClosedDay p d = prop (mkCl p.name (mkVP (mkVP d.habitual) closed_Adv)) ;
|
||||
|
||||
HowMuchCost item = mkQS (mkQCl how8much_IAdv (mkCl item (mkV "kosten"))) ;
|
||||
ItCost item price = mkCl item (mkV2 (mkV "kosten")) price ;
|
||||
ItCost item price = prop (mkCl item (mkV2 (mkV "kosten")) price) ;
|
||||
|
||||
-- Building phrases from strings is complicated: the solution is to use
|
||||
-- mkText : Text -> Text -> Text ;
|
||||
|
||||
Reference in New Issue
Block a user