From f2eebc3a644d69a74327bddcc2a84047ae733a7b Mon Sep 17 00:00:00 2001 From: Herbert Lange Date: Tue, 12 Nov 2019 16:03:04 +0100 Subject: [PATCH] fix symbollat --- src/latin/SymbolLat.gf | 87 +++++++++++++++++++++++------------------- 1 file changed, 47 insertions(+), 40 deletions(-) diff --git a/src/latin/SymbolLat.gf b/src/latin/SymbolLat.gf index 81c68d94c..0148b170a 100644 --- a/src/latin/SymbolLat.gf +++ b/src/latin/SymbolLat.gf @@ -2,51 +2,58 @@ concrete SymbolLat of Symbol = CatLat ** open Prelude, ResLat, ParadigmsLat, TenseX in { -lin - SymbPN i = {s = \\c => i.s ; g = Neutr ; n = Sg } ; --- c - IntPN i = {s = \\c => i.s ; g = Neutr ; n = Sg } ; --- c - FloatPN i = {s = \\c => i.s ; g = Neutr ; n = Sg } ; --- c - NumPN i = {s = \\c => i.s ! Neutr ! c; g = Neutr ; n = Pl } ; --- c - CNIntNP cn i = { - s = \\_,c => (cn.s ! Sg ! Nom ++ i.s) ; - g = cn.g ; - n = Sg ; - adv = [] ; - det = { s = \\_,_ => [] ; n = Sg ; sp = \\_,_ => [] } ; - p = P3 ; - postap = { s = \\_ => [] } ; - preap = { s = \\_ => [] } ; - } ; - CNSymbNP det cn xs = { - s = \\_,c => (cn.s ! Sg ! Nom ++ xs.s ) ; - g = cn.g ; - n = det.n ; - adv = [] ; - det = det ; - p = P3 ; - postap = { s = \\_ => [] } ; - preap = { s = \\_ => [] } ; - } ; + lin + -- SymbPN : Symb -> PN ; + SymbPN i = {s = \\c => i.s ; g = Neutr ; n = Sg } ; --- c + -- IntPN : Int -> PN ; + IntPN i = {s = \\c => i.s ; g = Neutr ; n = Sg } ; --- c + -- FloatPN : Float -> PN ; + FloatPN i = {s = \\c => i.s ; g = Neutr ; n = Sg } ; --- c + -- NumPN : Num -> PN ; + NumPN i = {s = \\c => i.s ! Neutr ! c; g = Neutr ; n = Pl } ; --- c + -- CNIntNP : CN -> Int -> NP ; + CNIntNP cn i = { + s = \\_,c => (cn.s ! Sg ! Nom ++ i.s) ; + g = cn.g ; + n = Sg ; + adv = [] ; + det = { s , sp = \\_ => [] ; n = Sg } ; + p = P3 ; + preap , postap = { s = \\_ => [] } ; + } ; + --CNSymbNP : CN -> Symb -> NP ; + CNSymbNP det cn xs = { + s = \\_,c => (cn.s ! Sg ! Nom ++ xs.s ) ; + g = cn.g ; + 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 ; -- 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 = \\_ => [] } ; - } ; + -- } ; + + -- 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 = \\_ => [] } ; + } ; -- + -- SymbS : Symb -> S ; + SymbS sy = { s = \\_ => sy.s ; o , neg = \\_ => "" ; p = PPos ; sadv = "" ; t = TPres ; v = \\_ => "" ; compl = "" ; det = { s , sp = \\_ => [] ; n = Sg } } ; - SymbS sy = { s = \\_ => sy.s ; neg = \\_ => "" ; o = \\_ => "" ; p = PPos ; sadv = "" ; t = TPres ; v = \\_,_ => "" } ; --- - SymbNum sy = {s = \\_,_ => sy.s ; n = Pl } ; - SymbOrd sy = { s = \\g,n,c => sy.s } ; -- does not inflect properly + -- 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 Symb, [Symb] = SS ;