(Som) WIP: Numerals, bugfixes in gender agreement.

+ Other misc. fixes, like impersonal pronoun contractions.
This commit is contained in:
Inari Listenmaa
2019-06-13 17:37:48 +02:00
parent ddd863640d
commit 388741ef8d
7 changed files with 198 additions and 146 deletions
+28 -7
View File
@@ -99,19 +99,40 @@ oper
agr2agrplus : (isPron : Bool) -> Agreement -> AgreementPlus = \isPron,a ->
case isPron of {True => IsPron a ; False => NotPronP3} ;
nf2state : {s:NForm=>Str} -> State=>Str = \ss -> table {
Definite => ss.s ! Def Sg vA ;
Indefinite => ss.s ! Indef Sg
} ;
gn2gennum : Gender -> Number -> GenNum = \g,n ->
case <g,n> of {
<Masc,Sg> => SgMasc ;
<Fem,Sg> => SgFem ;
_ => PlInv } ;
nf2gennum : NForm -> Gender -> GenNum = \nf,g ->
gn2gennum g (getNum (getAgr nf g)) ;
--------------------------------------------------------------------------------
-- Numerals
param
DForm = Unit | Ten ;
-- If need to optimise: can remove one multiple of 2, but harder to understand
-- CardOrdDFS = Odfs DForm | Cdfs DForm State ;
--
-- CardOrdState = Ost | Cst State ;
CardOrd = NOrd | NCard ;
--------------------------------------------------------------------------------
-- Adjectives
param
AForm = AF Number Case ; ---- TODO: past tense
--------------------------------------------------------------------------------
-- Numerals
-- TODO: is this necessary?
param
CardOrd = NCard | NOrd ;
--------------------------------------------------------------------------------
-- Prepositions