1
0
forked from GitHub/gf-rgl

fix symbollat

This commit is contained in:
Herbert Lange
2019-11-12 16:03:04 +01:00
parent 4438ef45c0
commit f2eebc3a64

View File

@@ -2,51 +2,58 @@
concrete SymbolLat of Symbol = CatLat ** open Prelude, ResLat, ParadigmsLat, TenseX in { concrete SymbolLat of Symbol = CatLat ** open Prelude, ResLat, ParadigmsLat, TenseX in {
lin lin
SymbPN i = {s = \\c => i.s ; g = Neutr ; n = Sg } ; --- c -- SymbPN : Symb -> PN ;
IntPN i = {s = \\c => i.s ; g = Neutr ; n = Sg } ; --- c SymbPN i = {s = \\c => i.s ; g = Neutr ; n = Sg } ; --- c
FloatPN i = {s = \\c => i.s ; g = Neutr ; n = Sg } ; --- c -- IntPN : Int -> PN ;
NumPN i = {s = \\c => i.s ! Neutr ! c; g = Neutr ; n = Pl } ; --- c IntPN i = {s = \\c => i.s ; g = Neutr ; n = Sg } ; --- c
CNIntNP cn i = { -- FloatPN : Float -> PN ;
s = \\_,c => (cn.s ! Sg ! Nom ++ i.s) ; FloatPN i = {s = \\c => i.s ; g = Neutr ; n = Sg } ; --- c
g = cn.g ; -- NumPN : Num -> PN ;
n = Sg ; NumPN i = {s = \\c => i.s ! Neutr ! c; g = Neutr ; n = Pl } ; --- c
adv = [] ; -- CNIntNP : CN -> Int -> NP ;
det = { s = \\_,_ => [] ; n = Sg ; sp = \\_,_ => [] } ; CNIntNP cn i = {
p = P3 ; s = \\_,c => (cn.s ! Sg ! Nom ++ i.s) ;
postap = { s = \\_ => [] } ; g = cn.g ;
preap = { s = \\_ => [] } ; n = Sg ;
} ; adv = [] ;
CNSymbNP det cn xs = { det = { s , sp = \\_ => [] ; n = Sg } ;
s = \\_,c => (cn.s ! Sg ! Nom ++ xs.s ) ; p = P3 ;
g = cn.g ; preap , postap = { s = \\_ => [] } ;
n = det.n ; } ;
adv = [] ; --CNSymbNP : CN -> Symb -> NP ;
det = det ; CNSymbNP det cn xs = {
p = P3 ; s = \\_,c => (cn.s ! Sg ! Nom ++ xs.s ) ;
postap = { s = \\_ => [] } ; g = cn.g ;
preap = { s = \\_ => [] } ; n = det.n ;
} ; adv = [] ;
det = { s = det.s ! cn.g ; sp = det.sp ! cn.g } ;
p = P3 ;
preap , postap = { s = \\_ => [] } ;
} ;
-- s = \\c => det.s ++ cn.s ! det.n ! c ++ xs.s ; -- s = \\c => det.s ++ cn.s ! det.n ! c ++ xs.s ;
-- a = agrgP3 det.n cn.g -- a = agrgP3 det.n cn.g
-- } ; -- } ;
-- } ; -- } ;
CNNumNP cn i = {
s = \\_,c => (cn.s ! Sg ! Nom ++ i.s ! cn.g ! Nom ) ;
g = cn.g ;
n = Sg ;
adv = [] ;
det = { s = \\_,_ => [] ; n = Sg ; sp = \\_,_ => [] } ;
p = P3 ;
postap = { s = \\_ => [] } ;
preap = { s = \\_ => [] } ;
} ;
--
SymbS sy = { s = \\_ => sy.s ; neg = \\_ => "" ; o = \\_ => "" ; p = PPos ; sadv = "" ; t = TPres ; v = \\_,_ => "" } ; -- CNNumNP : CN -> Num -> NP ;
CNNumNP cn i = {
s = \\_,c => (cn.s ! Sg ! Nom ++ i.s ! cn.g ! Nom ) ;
g = cn.g ;
n = Sg ;
adv = [] ;
det = { s , sp = \\_ => [] ; n = Sg };
p = P3 ;
preap , postap = { s = \\_ => [] } ;
} ;
-- --
SymbNum sy = {s = \\_,_ => sy.s ; n = Pl } ; -- SymbS : Symb -> S ;
SymbOrd sy = { s = \\g,n,c => sy.s } ; -- does not inflect properly SymbS sy = { s = \\_ => sy.s ; o , neg = \\_ => "" ; p = PPos ; sadv = "" ; t = TPres ; v = \\_ => "" ; compl = "" ; det = { s , sp = \\_ => [] ; n = Sg } } ;
-- SymbNum : Symb -> Num
SymbNum sy = {s = \\_,_ => sy.s ; n = Pl } ;
-- SymbOrd : Symb -> Ord
SymbOrd sy = { s = \\g,n,c => sy.s } ; -- does not inflect properly
lincat lincat
Symb, [Symb] = SS ; Symb, [Symb] = SS ;