summaryrefslogtreecommitdiff
path: root/examples/translator/TranslateFin.gf
blob: 5b5ada2fef02d8646ab0ded47b12f1bcc8b18ee0 (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
--# -path=.:../phrasebook:../../lib/src/finnish/stemmed:../../lib/src/finnish:../../lib/src/api:../../lib/src/english:alltenses

concrete TranslateFin of Translate = 

  ParseFin, 
  PhrasebookFin - [at_Prep, PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease] 
  ** open SyntaxFin, (E = ExtraFin), Prelude in {

flags
  literal = Symb ;

lin
  PPhr p = lin Text p ;
  NP_Person np = {name = lin NP np ; isPron = False ; poss = E.GenNP np} ;
  NP_Object np = lin NP np ;
  NP_Item np = lin NP np ;
  NP_Place np0 = let np = lin NP np0 in 
                 {name = np ; at = SyntaxFin.mkAdv in_Prep np ; 
                  to = SyntaxFin.mkAdv to_Prep np ; from = SyntaxFin.mkAdv from_Prep np} ;
  NP_Name np = lin NP np ;

--- to remove Phrasebook punctuation, which makes the output in Translate heterogeneous

    PSentence s = lin Text (mkUtt s) ; 
    PQuestion s = lin Text (mkUtt s) ; 
    PGreetingMale, PGreetingFemale = \g -> lin Text g ;
    GObjectPlease o = lin Text (mkUtt o) ;
  
}