1
0
forked from GitHub/gf-rgl

(Som) Fixes in verb constructors, still WIP

This commit is contained in:
Inari Listenmaa
2023-06-09 22:26:15 +02:00
parent 722c077eb6
commit 8b8564e828
4 changed files with 427 additions and 380 deletions
+12 -6
View File
@@ -214,20 +214,26 @@ oper
mkV = overload {
mkV : (imp : Str) -> V = \v -> lin V (regV v) ;
mkV : (imp,pl2,sg1 : Str) -> V = \i,p,s -> lin V (mkVerb i p s) ;
mkV : (imp, sg1 : Str) -> V = \i,s1 -> lin V (reg2V i s1) ;
mkV : (imp,sg1,sg2,pl2 : Str) -> V = \i,s1,_,_ -> lin V (reg2V i s1) ; -- TODO: 4-place constructor
mkV : Str -> V -> V = \s,v -> lin V (prefixV s v)
} ;
copula = ResSom.copula ;
regV : Str -> Verb = \s -> case s of {
_ + #c + #c + "o" => cJoogso s ;
_ + "o" => cQaado s ; ----
_ + "i" => cKari s ;
_ + "ee" => cYaree s ;
_ => cSug s
_ + #c + #c + "o" => mkVerb (cJoogso s) ;
_ + "o" => mkVerb (cQaado s) ; ----
_ + "i" => mkVerb (cKari s) ;
_ + "ee" => mkVerb (cYaree s) ;
_ => mkVerb (cSug s)
} ;
reg2V : Str -> Str -> Verb = \arag,arkaa -> case arag of {
_ + #c => mkVerb (cArag arag arkaa) ;
_ => regV arag
} ;
mkV2 = overload {
mkV2 : Str -> V2 = \s -> lin V2 (regV s ** {c2 = noPrep}) ;
mkV2 : Str -> Adposition -> V2 = \s,p -> lin V2 (regV s ** {c2 = p}) ;