Maltese RG: first proper release

Of course some bugs remain and more testing is needed,
but all functions are complete and Maltese now builds as part
of the normal GF install.
This commit is contained in:
john
2013-06-10 21:37:10 +00:00
parent 860b25fff3
commit 1366c2a53e
19 changed files with 928 additions and 719 deletions

View File

@@ -8,6 +8,78 @@
concrete SymbolMlt of Symbol = CatMlt ** open Prelude, ResMlt in {
oper
symAgr : Agr = { n = Sg ; p = P3 ; g = Masc } ;
lin
-- SymbPN -> PN
-- x
SymbPN i = {s = i.s ; a = symAgr} ;
-- Int -> PN
-- 27
IntPN i = {s = i.s ; a = symAgr} ;
-- Float -> PN
-- 3.14159
FloatPN i = {s = i.s ; a = symAgr} ;
-- Card -> PN ;
NumPN i = {s = i.s ! NumNom ; a = symAgr} ;
-- CN -> Int -> NP
-- level 53 (covered by CNNumNP)
CNIntNP cn i = {
s = \\c => cn.s ! num2nounnum Sg ++ i.s;
a = agrP3 Sg cn.g ;
isPron = False ;
isDefn = False ;
} ;
-- Det -> CN -> [Symb] -> NP
-- (the) (2) numbers x and y
CNSymbNP det cn xs = {
s = \\c => det.s ! cn.g ++ cn.s ! (numform2nounnum det.n) ++ xs.s ;
a = agrP3 (numform2num det.n) cn.g ;
isPron = False ;
isDefn = False ;
} ;
-- CN -> Card -> NP
-- level five ; level 5
CNNumNP cn i = {
s = \\c => cn.s ! num2nounnum Sg ++ i.s ! NumNom ;
a = agrP3 Sg cn.g ;
isPron = False ;
isDefn = False ;
} ;
-- Symb -> S
-- A
SymbS sy = sy ;
-- Symb -> Card
-- n
SymbNum sy = {
s = \\_ => sy.s ;
n = NumX Pl ;
} ;
-- Symb -> Ord
-- n'th
SymbOrd sy = {
s = \\c => sy.s ;
} ;
lincat
Symb, [Symb] = SS ;
lin
-- String -> Symb
MkSymb s = s ;
BaseSymb = infixSS "u" ;
ConsSymb = infixSS "," ;
}