Files
gf-core/examples/regulus/toy0/Toy0Eng.gf
2007-06-11 07:49:30 +00:00

29 lines
474 B
Plaintext

concrete Toy0Eng of Toy0 = {
param
Number = Sg | Pl ;
lincat
Spec = {s : Str ; n : Number} ;
Noun = {s : Number => Str} ;
MAIN,NP = {s : Str} ;
lin
Main np = np ;
SpecNoun spec noun = {s = spec.s ++ noun.s ! spec.n} ;
One = {s = "one" ; n = Sg} ;
Two = {s = "two" ; n = Pl} ;
Felis = regNoun "cat" ;
Canis = regNoun "dog" ;
oper
regNoun : Str -> {s : Number => Str} = \s -> {
s = table {
Sg => s ;
Pl => s + "s"
}
} ;
}