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 -
|
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),
|
(Syntax = SyntaxGer),
|
||||||
(Symbolic = SymbolicGer),
|
(Symbolic = SymbolicGer),
|
||||||
(Lexicon = LexiconGer) ** open Prelude, SyntaxGer in {
|
(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)) ;
|
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)) ;
|
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
|
-- actions
|
||||||
|
|
||||||
AHasAge p num = mkCl p.name (mkNP num L.year_N) ;
|
AHasAge p num = prop (mkCl p.name (mkNP num L.year_N)) ;
|
||||||
AHasName p name = mkCl p.name (mkV2 heißen_V) name ;
|
AHasName p name = prop (mkCl p.name (mkV2 heißen_V) name) ;
|
||||||
AHungry p = mkCl p.name (mkA "hungrig") ;
|
AHungry p = prop (mkCl p.name (mkA "hungrig")) ;
|
||||||
AHasChildren p num = mkCl p.name have_V2 (mkNP num L.child_N) ;
|
AHasChildren p num = prop (mkCl p.name have_V2 (mkNP num L.child_N)) ;
|
||||||
AHasRoom p num = mkCl p.name have_V2
|
AHasRoom p num = prop (mkCl p.name have_V2
|
||||||
(mkNP (mkNP a_Det (mkN "Zimmer" "Zimmer" neuter))
|
(mkNP (mkNP a_Det (mkN "Zimmer" "Zimmer" neuter))
|
||||||
(SyntaxGer.mkAdv for_Prep (mkNP num (mkN "Persone")))) ;
|
(SyntaxGer.mkAdv for_Prep (mkNP num (mkN "Persone"))))) ;
|
||||||
AHasTable p num = mkCl p.name have_V2
|
AHasTable p num = prop (mkCl p.name have_V2
|
||||||
(mkNP (mkNP a_Det (mkN "Tisch"))
|
(mkNP (mkNP a_Det (mkN "Tisch"))
|
||||||
(SyntaxGer.mkAdv for_Prep (mkNP num (mkN "Persone")))) ;
|
(SyntaxGer.mkAdv for_Prep (mkNP num (mkN "Persone"))))) ;
|
||||||
AIll p = mkCl p.name (mkA "krank") ;
|
AIll p = prop (mkCl p.name (mkA "krank")) ;
|
||||||
AKnow p = mkCl p.name wissen_V ;
|
AKnow p = prop (mkCl p.name wissen_V) ;
|
||||||
ALike p item = mkCl p.name (mkV2 mögen_V) item;
|
ALike p item = prop (mkCl p.name (mkV2 mögen_V) item) ;
|
||||||
ALive p co = mkCl p.name (mkVP (mkVP (mkV "wohnen")) (SyntaxGer.mkAdv in_Prep co)) ;
|
ALive p co = prop (mkCl p.name (mkVP (mkVP (mkV "wohnen")) (SyntaxGer.mkAdv in_Prep co))) ;
|
||||||
ALove p q = mkCl p.name (mkV2 (mkV "lieben")) q.name ;
|
ALove p q = prop (mkCl p.name (mkV2 (mkV "lieben")) q.name) ;
|
||||||
AMarried p = mkCl p.name (mkA "verheiratet") ;
|
AMarried p = prop (mkCl p.name (mkA "verheiratet")) ;
|
||||||
AReady p = mkCl p.name (mkA "bereit") ;
|
AReady p = prop (mkCl p.name (mkA "bereit")) ;
|
||||||
AScared p = mkCl p.name have_V2 (mkNP (mkN "Angst" "Angsten" feminine)) ;
|
AScared p = prop (mkCl p.name have_V2 (mkNP (mkN "Angst" "Angsten" feminine))) ;
|
||||||
ASpeak p lang = mkCl p.name (mkV2 sprechen_V) lang ;
|
ASpeak p lang = prop (mkCl p.name (mkV2 sprechen_V) lang) ;
|
||||||
AThirsty p = mkCl p.name (mkA "durstig") ;
|
AThirsty p = prop (mkCl p.name (mkA "durstig")) ;
|
||||||
ATired p = mkCl p.name (mkA "müde") ;
|
ATired p = prop (mkCl p.name (mkA "müde")) ;
|
||||||
AUnderstand p = mkCl p.name (fixprefixV "ver" stehen_V) ;
|
AUnderstand p = prop (mkCl p.name (fixprefixV "ver" stehen_V)) ;
|
||||||
AWant p obj = mkCl p.name want_VV (mkVP have_V2 obj) ;
|
AWant p obj = prop (mkCl p.name want_VV (mkVP have_V2 obj)) ;
|
||||||
AWantGo p place = mkCl p.name want_VV (mkVP (mkVP L.go_V) place.to) ;
|
AWantGo p place = prop (mkCl p.name want_VV (mkVP (mkVP L.go_V) place.to)) ;
|
||||||
|
|
||||||
-- miscellaneous
|
-- miscellaneous
|
||||||
|
|
||||||
QWhatName p = mkQS (mkQCl how_IAdv (mkCl p.name heißen_V)) ;
|
QWhatName p = mkQS (mkQCl how_IAdv (mkCl p.name heißen_V)) ;
|
||||||
QWhatAge p = mkQS (mkQCl (ICompAP (mkAP L.old_A)) p.name) ;
|
QWhatAge p = mkQS (mkQCl (ICompAP (mkAP L.old_A)) p.name) ;
|
||||||
|
|
||||||
PropOpen p = mkCl p.name open_Adv ;
|
PropOpen p = prop (mkCl p.name open_Adv) ;
|
||||||
PropClosed p = mkCl p.name closed_Adv ;
|
PropClosed p = prop (mkCl p.name closed_Adv) ;
|
||||||
PropOpenDate p d = mkCl p.name (mkVP (mkVP d) open_Adv) ;
|
PropOpenDate p d = prop (mkCl p.name (mkVP (mkVP d) open_Adv)) ;
|
||||||
PropClosedDate p d = mkCl p.name (mkVP (mkVP d) closed_Adv) ;
|
PropClosedDate p d = prop (mkCl p.name (mkVP (mkVP d) closed_Adv)) ;
|
||||||
PropOpenDay p d = mkCl p.name (mkVP (mkVP d.habitual) open_Adv) ;
|
PropOpenDay p d = prop (mkCl p.name (mkVP (mkVP d.habitual) open_Adv)) ;
|
||||||
PropClosedDay p d = mkCl p.name (mkVP (mkVP d.habitual) closed_Adv) ;
|
PropClosedDay p d = prop (mkCl p.name (mkVP (mkVP d.habitual) closed_Adv)) ;
|
||||||
|
|
||||||
HowMuchCost item = mkQS (mkQCl how8much_IAdv (mkCl item (mkV "kosten"))) ;
|
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
|
-- Building phrases from strings is complicated: the solution is to use
|
||||||
-- mkText : Text -> Text -> Text ;
|
-- mkText : Text -> Text -> Text ;
|
||||||
|
|||||||
Reference in New Issue
Block a user