summaryrefslogtreecommitdiff
path: root/examples/phrasebook/SentencesJpn.gf
diff options
context:
space:
mode:
authorlizazim <lizazim@gmail.com>2015-01-07 23:44:49 +0000
committerlizazim <lizazim@gmail.com>2015-01-07 23:44:49 +0000
commit68b4bb74cc21968891b4e295ebd8a6afa56274b9 (patch)
tree43119e21fe5cbf92c4928ec1ac687aa484990262 /examples/phrasebook/SentencesJpn.gf
parentef84f7d8427f9c78b1989ae8a336462a673f692a (diff)
patchJpn
Diffstat (limited to 'examples/phrasebook/SentencesJpn.gf')
-rw-r--r--examples/phrasebook/SentencesJpn.gf48
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
+ } ;
}