Files
gf-core/examples/phrasebook/SentencesFin.gf
hallgren b237996eb3 examples/phrasebook: adding --# -coding=latin1 to 18 modules
Adding coding pragmas
  
	--# -coding=latin1
    
so that grammars will continue to work when we change the default character
encoding to UTF-8.
2013-11-22 17:47:50 +00:00

57 lines
2.3 KiB
Plaintext

--# -coding=latin1
concrete SentencesFin of Sentences = NumeralFin ** SentencesI -
[Is, IsMass, NameNN, ObjMass,
IFemale, YouFamFemale, YouPolFemale, IMale, YouFamMale, YouPolMale,
WeMale, WeFemale, YouPlurFamMale, YouPlurFamFemale, YouPlurPolFemale, YouPlurPolMale,
NPPlace, CNPlace, placeNP, mkCNPlace, mkCNPlacePl,
GObjectPlease,
NPNationality, mkNPNationality,
Country, PCountry
] with
(Syntax = SyntaxFin),
(Symbolic = SymbolicFin),
(Lexicon = LexiconFin) **
open SyntaxFin, ExtraFin, (P = ParadigmsFin), (V = VerbFin), Prelude in {
flags optimize = noexpand ;
lincat
Country = {np : NP ; isExternal : Bool} ;
lin
PCountry x = mkPhrase (mkUtt x.np) ;
oper
NPNationality = {lang : NP ; prop : A ; country : {np : NP ; isExternal : Bool}} ;
NPPlace = {name : NP ; at : Adv ; to : Adv ; from : Adv} ;
CNPlace = {name : CN ; isExternal : Bool ; isPl : Bool} ;
placeNP : Det -> CNPlace -> NPPlace = \det,kind ->
let name : NP = mkNP det kind.name in {
name = name ;
at = mkAdv (P.casePrep (if_then_else P.Case kind.isExternal P.adessive P.inessive)) name ;
to = mkAdv (P.casePrep (if_then_else P.Case kind.isExternal P.allative P.illative)) name ;
from = mkAdv (P.casePrep (if_then_else P.Case kind.isExternal P.ablative P.elative)) name
} ;
lin
Is item prop = mkCl item (V.UseComp (CompPartAP prop)) ; -- tämä pizza on herkullista
IsMass mass prop = mkCl (mkNP a_Det mass) (V.UseComp (CompPartAP prop)) ; -- pizza on herkullista
NameNN = mkNP (P.mkPN (P.mkN "NN" "NN:iä")) ;
IMale, IFemale =
{name = mkNP (ProDrop i_Pron) ; isPron = True ; poss = ProDropPoss i_Pron} ;
YouFamMale, YouFamFemale =
{name = mkNP (ProDrop youSg_Pron) ; isPron = True ; poss = ProDropPoss youSg_Pron} ;
YouPolMale, YouPolFemale =
{name = mkNP (ProDrop youPol_Pron) ; isPron = True ; poss = ProDropPoss youPol_Pron} ;
WeMale, WeFemale =
{name = mkNP (ProDrop we_Pron) ; isPron = True ; poss = ProDropPoss we_Pron} ;
YouPlurFamMale, YouPlurFamFemale, YouPlurPolMale, YouPlurPolFemale =
{name = mkNP (ProDrop youPl_Pron) ; isPron = True ; poss = ProDropPoss youPl_Pron} ;
ObjMass = PartCN ;
GObjectPlease o = lin Text (mkPhr noPConj (mkUtt o) (lin Voc (ss "kiitos"))) ;
}