summaryrefslogtreecommitdiff
path: root/examples/phrasebook/SentencesJpn.gf
blob: bc3605fbd0366e36dd5de630693eedb32c9d3f35 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
concrete SentencesJpn of Sentences = NumeralJpn ** 
  SentencesI - [
    VDrink,VEat,VRead,VWait,VWrite,
    phrasePlease, mkSentence, mkPhrase,
    NameNN, 
    PSentence, PQuestion, GObjectPlease

   ]
with 
  (Syntax = SyntaxJpn),
--  (Symbolic = SymbolicJpn),
  (Lexicon = LexiconJpn) ** open SyntaxJpn, ParadigmsJpn in {

lin 
    VDrink = v2toVP drink_V2 ; 
    VEat = v2toVP eat_V2 ;
    VRead = v2toVP read_V2 ;
    VWait = v2toVP wait_V2 ;
    VWrite = v2toVP write_V2 ; 

    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 '?'

    GObjectPlease o = lin Text (mkPhr noPConj (mkUtt o) please_Voc) | lin Text (mkPhr (mkUtt o)) ;

oper
  v2toVP : V2 -> VP = \v2 -> mkVP <lin V (v2 ** {needSubject = True}) : V> ; 

  phrasePlease : Utt -> Text = \u -> lin Text (mkPhr u) | lin Text (mkPhr noPConj u please_Voc) ;

  mkPhrase : Utt -> Text = \u -> lin Text (mkPhr u) ; -- no punctuation
  mkSentence : Utt -> Text = \t -> lin Text (postfixSS "." (mkPhr t) | (mkPhr t)) ; -- optional .

}