forked from GitHub/gf-rgl
75278a5828
The -path flags in the RGL modules compiled during 'cabal build' now refer directly to the needed source directories. References 'alltenses' and 'present' (and the nonexistent directory 'mathematical') have been removed. This allows the files to be compiled in any order (e.g. in parallel). In addition, you can do things like gf -retain lib/src/api/TrySwe.gf without compiling/installing any other RGL modules first, and without setting any other path flags or environment variables.
45 lines
1.1 KiB
Plaintext
45 lines
1.1 KiB
Plaintext
--# -path=.:../abstract:../common:../prelude
|
|
|
|
concrete SymbolEng of Symbol = CatEng ** open Prelude, ResEng in {
|
|
|
|
lin
|
|
SymbPN i = {s = addGenitiveS i.s ; g = Neutr} ;
|
|
IntPN i = {s = addGenitiveS i.s ; g = Neutr} ;
|
|
FloatPN i = {s = addGenitiveS i.s ; g = Neutr} ;
|
|
NumPN i = {s = i.s ; g = Neutr} ;
|
|
CNIntNP cn i = {
|
|
s = \\c => cn.s ! Sg ! Nom ++ (addGenitiveS i.s) ! npcase2case c ;
|
|
a = agrgP3 Sg cn.g
|
|
} ;
|
|
CNSymbNP det cn xs = {
|
|
s = \\c => det.s ++ cn.s ! det.n ! Nom ++ (addGenitiveS xs.s) ! npcase2case c ;
|
|
a = agrgP3 det.n cn.g
|
|
} ;
|
|
CNNumNP cn i = {
|
|
s = \\c => cn.s ! Sg ! Nom ++ i.s ! npcase2case c ;
|
|
a = agrgP3 Sg cn.g
|
|
} ;
|
|
|
|
SymbS sy = sy ;
|
|
|
|
SymbNum sy = { s = addGenitiveS sy.s ; n = Pl ; hasCard = True } ;
|
|
SymbOrd sy = { s = \\c => sy.s ++ (regGenitiveS "th")!c} ;
|
|
|
|
lincat
|
|
|
|
Symb, [Symb] = SS ;
|
|
|
|
lin
|
|
MkSymb s = s ;
|
|
|
|
BaseSymb = infixSS "and" ;
|
|
ConsSymb = infixSS frontComma ;
|
|
|
|
oper
|
|
-- Note: this results in a space before 's, but there's
|
|
-- not mauch we can do about that.
|
|
addGenitiveS : Str -> Case => Str = \s ->
|
|
table { Gen => s ++ "'s"; _ => s } ;
|
|
|
|
}
|