blob: 488c3fbdd78ce894b3dd57a60f49102224ed781a (
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
37
|
concrete SymbolEng of Symbol = CatEng ** open Prelude, ResEng in {
lin
SymbPN i = {s = \\c => i.s ; g = Neutr} ; --- c
IntPN i = {s = \\c => i.s ; g = Neutr} ; --- c
FloatPN i = {s = \\c => i.s ; g = Neutr} ; --- c
NumPN i = {s = \\c => i.s ; g = Neutr} ; --- c
CNIntNP cn i = {
s = \\c => (cn.s ! Sg ! Nom ++ i.s) ;
a = agrgP3 Sg cn.g
} ;
CNSymbNP det cn xs = {
s = \\c => det.s ++ cn.s ! det.n ! c ++ xs.s ;
a = agrgP3 det.n cn.g
} ;
CNNumNP cn i = {
s = \\c => (cn.s ! Sg ! Nom ++ i.s) ;
a = agrgP3 Sg cn.g
} ;
SymbS sy = sy ;
SymbNum sy = {s = sy.s ; n = Pl ; hasCard = True} ;
SymbOrd sy = {s = sy.s ++ "th"} ;
lincat
Symb, [Symb] = SS ;
lin
MkSymb s = s ;
BaseSymb = infixSS "and" ;
ConsSymb = infixSS "," ;
}
|