diff options
| author | lizazim <lizazim@gmail.com> | 2015-01-07 23:44:49 +0000 |
|---|---|---|
| committer | lizazim <lizazim@gmail.com> | 2015-01-07 23:44:49 +0000 |
| commit | 68b4bb74cc21968891b4e295ebd8a6afa56274b9 (patch) | |
| tree | 43119e21fe5cbf92c4928ec1ac687aa484990262 /examples/phrasebook/SentencesJpn.gf | |
| parent | ef84f7d8427f9c78b1989ae8a336462a673f692a (diff) | |
patchJpn
Diffstat (limited to 'examples/phrasebook/SentencesJpn.gf')
| -rw-r--r-- | examples/phrasebook/SentencesJpn.gf | 48 |
1 files changed, 37 insertions, 11 deletions
diff --git a/examples/phrasebook/SentencesJpn.gf b/examples/phrasebook/SentencesJpn.gf index bc3605fbd..4fdaf5fb5 100644 --- a/examples/phrasebook/SentencesJpn.gf +++ b/examples/phrasebook/SentencesJpn.gf @@ -3,27 +3,42 @@ concrete SentencesJpn of Sentences = NumeralJpn ** VDrink,VEat,VRead,VWait,VWrite, phrasePlease, mkSentence, mkPhrase, NameNN, - PSentence, PQuestion, GObjectPlease - + PSentence, PQuestion, GObjectPlease, + ACitizen, Citizenship, CitiNat, Nationality, NPNationality, mkNPNationality, PropCit, PCitizenship ] with (Syntax = SyntaxJpn), -- (Symbolic = SymbolicJpn), (Lexicon = LexiconJpn) ** open SyntaxJpn, ParadigmsJpn in { +flags coding = utf8 ; + +lincat + + Citizenship = NPCitizenship ; + Nationality = NPNationality ; + lin - VDrink = v2toVP drink_V2 ; - VEat = v2toVP eat_V2 ; - VRead = v2toVP read_V2 ; - VWait = v2toVP wait_V2 ; - VWrite = v2toVP write_V2 ; + VDrink = v2toVP drink_V2 ; + VEat = v2toVP eat_V2 ; + VRead = v2toVP read_V2 ; + VWait = v2toVP wait_V2 ; + VWrite = v2toVP write_V2 ; + + NameNN = mkNP (mkPN "NN") ; - NameNN = mkNP (mkPN "NN") ; + PSentence s = mkText (mkPhr (mkUtt s)) | lin Text (mkPhr (mkUtt s)) ; -- optional '.' + PQuestion s = mkText (mkPhr (mkUtt s)) | lin Text (mkPhr (mkUtt s)) ; -- optional '?' - PSentence s = mkText (mkPhr (mkUtt s)) | lin Text (mkPhr (mkUtt s)) ; -- optional '.' - PQuestion s = mkText (mkPhr (mkUtt s)) | lin Text (mkPhr (mkUtt s)) ; -- optional '?' + GObjectPlease o = lin Text (mkPhr noPConj (mkUtt o) please_Voc) | lin Text (mkPhr (mkUtt o)) ; - GObjectPlease o = lin Text (mkPhr noPConj (mkUtt o) please_Voc) | lin Text (mkPhr (mkUtt o)) ; + ACitizen p n = mkCl p.name n.citizenship ; + + CitiNat n = {prop = n.prop ; citizenship = n.citizenship} ; + + PropCit c = c.prop ; + + PCitizenship x = mkPhrase (mkUtt x.citizenship) ; oper v2toVP : V2 -> VP = \v2 -> mkVP <lin V (v2 ** {needSubject = True}) : V> ; @@ -32,5 +47,16 @@ oper mkPhrase : Utt -> Text = \u -> lin Text (mkPhr u) ; -- no punctuation mkSentence : Utt -> Text = \t -> lin Text (postfixSS "." (mkPhr t) | (mkPhr t)) ; -- optional . + + NPCitizenship : Type = {prop : A ; citizenship : NP} ; + + NPNationality : Type = NPCitizenship ** {lang : NP ; country : NP} ; + + mkNPNationality : NP -> NP -> A -> NP -> NPNationality = \la,co,pro,ci -> + {lang = la ; + country = co ; + prop = pro ; + citizenship = ci + } ; } |
