summaryrefslogtreecommitdiff
path: root/next-lib/src/romanian/MorphoRon.gf
diff options
context:
space:
mode:
Diffstat (limited to 'next-lib/src/romanian/MorphoRon.gf')
-rw-r--r--next-lib/src/romanian/MorphoRon.gf2428
1 files changed, 0 insertions, 2428 deletions
diff --git a/next-lib/src/romanian/MorphoRon.gf b/next-lib/src/romanian/MorphoRon.gf
deleted file mode 100644
index 2260dfb02..000000000
--- a/next-lib/src/romanian/MorphoRon.gf
+++ /dev/null
@@ -1,2428 +0,0 @@
---# -path=.:../Romance:../common:../../prelude
-
-resource MorphoRon = ResRon **
- open Prelude, Predef in {
-
-flags
- optimize=noexpand; coding=cp1250;
-
----------------------------------------------------------------------------------
-------------------------------ARTICLES-------------------------------------------
----------------------------------------------------------------------------------
-
---defined article (enclitic)
--- we need two forms, as the Singular AGenDat form for Feminine is obtained from the
--- Plural form, except for irregular nouns that need an additional form
-
-oper artDf : Str -> Str -> Gender -> Number -> ACase -> Str =
-\bun, buni, g, n, a ->
-case <g,n,a> of
-{ <Masc,Sg,ANomAcc> => case last bun of
- { "u" => bun + "l";
- "e" => bun + "le";
- "ă" => bun + "a";
- _ => bun + "ul"
- };
- <Masc,Sg,AGenDat> => case last bun of
- {("u"|"e" ) => bun + "lui" ;
- _ => bun + "ului"
- };
- <Masc,Sg,AVoc> => case bun of
- { x+"u" => bun + "le";
- x + "itor" => bun + "ule" ;
- x + ("en"|"or") => bun + "e" ;
- x+("e"|"ă") => bun;
- _ => bun + "ule"
- };
- <Masc,Pl,ANomAcc> => buni + "i";
- <Masc,Pl, _> => buni + "lor";
- <Fem,Sg,ANomAcc> => case bun of
- { x + ("a"|"i") => bun + "ua";
- x + "ie" => x + "ia";
- x + "ă" => x + "a";
- _ => bun + "a"
- };
-
- <Fem,Sg,AGenDat> => case bun of
- { x + ("a"|"e")+"ie" => buni+"i";
- x + "ie" => bun + "i";
- _ => buni + "i"
- };
-
- <Fem,Sg,AVoc> => case bun of
- { x + "ă" => x + "o";
- x + "ie" => x + "io";
- _ => bun + "o"
- };
- <Fem,Pl,ANomAcc> => buni + "le";
- <Fem,Pl,_> => buni + "lor"
- };
-
---Undefined article (proclitical) --
---we keep the non-articled form of the noun and glue it with the article on syntactical level
-
-oper artUndef : Gender -> Number -> NCase -> Str = \g,n,a ->
-case <g,n,a> of
-{<Masc,Sg,No> => "un"; <Masc,Sg,Ac> => "un" ; <Masc,Sg,Ge> => "unui"; <Masc,Sg,Da> => "unui" ;<_,_,Vo> => "" ;
- <_,Pl,No> => "niște"; <_,Pl,Ac> => "niște"; <_,Pl,Da> => "unor"; <_,Pl,Ge> => "unor" ;
- <Fem,Sg,No> => "o"; <Fem,Sg,Ac> => "o"; <Fem,Sg,Da> => "unei"; <Fem,Sg,Ge> => "unei"
-};
-
---possesive article
--- used for Cardinals and for Genitive case
-
-oper artPos : Gender -> Number -> Str = \g,n ->
- case <g,n> of
-{ <Masc,Sg> => "al";
- <Masc,Pl> => "ai";
- <Fem,Sg> => "a";
- <Fem,Pl> => "ale"
-};
-
-
---demonstrative article
--- used as Determined article in order to emphasise on the noun/adjective, and for Dative/Genitive for of ordinals
-
-oper artDem : Gender -> Number -> ACase -> Str = \g,n,c ->
- case <g,n,c> of
-{<Masc,Sg,ANomAcc> => "cel"; <Masc,Pl,ANomAcc> => "cei"; <Masc,Sg,AGenDat> => "celui";
-<Fem,Sg,ANomAcc> => "cea"; <Fem,Pl,ANomAcc> => "cele"; <Fem,Sg,AGenDat> => "celei";
- <_,Pl,AGenDat> => "celor";
- <Masc,Sg,AVoc> => "cel";
-<Masc,Pl,AVoc> => "cei"; <Fem,Sg,AVoc> => "cea"; <Fem,Pl,AVoc> => "cele"
-
-};
-
---flexion forms of a noun without article
-
-oper artUnf : Str -> Str -> Gender -> Number -> ACase -> Str = \buna,bune,g,n,a ->
-case <g,n,a> of
-{<Masc,Sg,_> => buna ; <Masc,Pl,_> => bune ;
- <Fem,Sg,ANomAcc> => buna ; <Fem,Sg,AGenDat> => bune ; <Fem,Sg,AVoc> => buna;
- <Fem,Pl,_> => bune
-} ;
-
---undefined article form
-
-oper artUndefMasc : Str -> Number -> ACase -> Str = \s,n,a -> s;
-
-oper artUndefFem : Str -> Str -> Number -> ACase -> Str = \buna, bune, n, a ->
-case <n,a> of
-{
-<Sg,ANomAcc> => buna;
-<Sg,AGenDat> => bune;
-<Sg,AVoc> => buna;
-<Pl,_> => bune
-};
-
-
-
----------------------------------------------------------------------------------
-------------------------------- NOUNS--------------------------------------------
----------------------------------------------------------------------------------
-
--- the irregular nouns (of feminine gender) need 3 forms in order to build the
--- morfological table : (Singular ANomAcc Indef, Plural ANomAcc Indef and
--- Singular AGenDat Indef)
-
-
-oper mkNomVIrreg : Str -> Str -> Str -> Noun = \iarba, ierburi, ierbi ->
-let noun = mkNomIrreg iarba ierburi NFem
- in
- {s = \\n,a,c => case n of
- {Sg => case c of
- {AGenDat => case a of {Indef => ierbi;
- Def => artDf iarba ierbi Fem Sg AGenDat
- };
- _ => noun.s ! Sg ! a ! c
- };
- Pl => noun.s ! Pl ! a ! c
- };
- g = NFem ;
- a = Animate
- };
-
--- usual nouns need two forms (Singular + Plural ANomAcc Indef)
--- because the Neuter behaves like Masculine for Singular and Feminine for Plural,
--- we pass 2 parameters - gender for Singular and for Plural, so that we can define
--- the forms for Neuter as a combination of Feminine and Masculine
-
-
-oper mkNomIrreg : Str -> Str -> NGender -> Noun = \obiect, obiecte , gen ->
- case gen of
- { NMasc => {s = mkNom obiect obiecte Masc Masc ; g = gen ; a = Animate };
- NFem => {s = mkNom obiect obiecte Fem Fem ; g = gen ; a = Animate };
- NNeut => {s = mkNom obiect obiecte Masc Fem ; g = gen ; a = Animate }
- };
-
---creates the table for a noun :
-
-oper mkNom : Str -> Str -> Gender -> Gender -> Number => Species => ACase => Str = \obiect, obiecte, gs, gp ->
- table { Sg => table {Def => \\p => artDf obiect obiecte gs Sg p;
- Indef => \\p => artUnf obiect obiecte gs Sg p
- };
- Pl => table { Def => \\p => artDf obiect obiecte gp Pl p ;
- Indef => \\p => artUnf obiect obiecte gp Pl p
- }
- } ;
-
-
--- for regular nouns, we need just the Singular ANomAcc Indef form :
--- for obtaining the plural form, we apply almost the same rules as for adjectives
--- for Neuter we treat the Singular ANomAcc Indef for as the Masculine Singular form of an Adjective
--- and we obtains it's plural form as the Feminine Plural form of the adjective
--- (with potential o -> oa mutations, that occur in most of the cases)
-
-mkNomReg : Str -> NGender -> Noun = \obiect, g ->
-case g of
- {NMasc => mkNomIrreg obiect ((mkAdjReg obiect).s ! (AF Masc Pl Indef ANomAcc)) NMasc ;
- NFem => case (Predef.dp 4 obiect) of
- { "ai"+x+"ă" => mkNomIrreg obiect (init obiect + "e") NFem ; --always
- _ => case (Predef.dp 3 obiect) of
- {"i"+("c"|"n"|"m"|"p")+"ă" => mkNomIrreg obiect (init obiect + "i") NFem ; -- 60% cases frequently used words, not frequent for neological words
- _ => mkNomIrreg obiect (mkFemPl obiect) NFem
- }
- };
- NNeut => if_then_else Noun (pbool2bool (Predef.occur "o" (Predef.dp 3 obiect) ))
- (mkNomIrreg obiect ((mkAdjRegO obiect).s ! (AF Fem Pl Indef ANomAcc)) NNeut)
- (mkNomIrreg obiect ((mkAdjReg obiect).s ! (AF Fem Pl Indef ANomAcc)) NNeut)
- };
-
---for nouns that have a different vocative form than the one inferred
-
-mkVocc : Noun -> Str -> Noun = \n -> \vo ->
- {s = table{ Sg => \\p, c => case c of
- { AVoc => vo ;
- _ => n.s ! Sg ! p ! c
- };
- Pl => \\p,c => n.s ! Pl ! p ! c
- };
- g = n.g ;
- a = n.a
-
- };
-
- -- composes a noun with an invariable string ( Ex camera foto)
- -- with/without dash
-
- ccompose : Noun -> Str -> Noun = \noun, y ->
- { s = \\n,p,c => noun.s ! n ! p ! c +"-"+ y ;
- g = noun.g ;
- a = noun.a
- };
-
-
- composeN : Noun -> Str -> Noun = \noun, y ->
- { s = \\n,p,c => noun.s ! n ! p ! c ++ y ;
- g = noun.g ;
- a = noun.a
- };
-
- -- changes the Animacy attribute
-
- mkInanimate : Noun -> Noun = \n ->
- {s = table { Sg => \\p,c => case c of
- {AVoc => n.s ! Sg ! Indef ! ANomAcc ;
- _ => n.s ! Sg ! p ! c
- };
- Pl => \\p, c => n.s ! Pl ! p ! c
- };
- g = n.g ;
- a = Inanimate
- };
-
- mkAnimate : Noun -> Noun = \n ->
- let ob = n.s ! Sg ! Indef ! ANomAcc ;
- obs = n.s ! Pl ! Indef ! ANomAcc
- in
- {s = table { Sg => \\p,c => case <p,c> of
- {<Indef,AVoc> => n.s ! Sg ! Indef ! ANomAcc ;
- <Def,AVoc> => case (n.g) of
- {NFem => artDf ob obs Fem Sg AVoc ;
- _ => artDf ob obs Masc Sg AVoc
- } ;
- _ => n.s ! Sg ! p ! c
- };
- Pl => \\p, c => n.s ! Pl ! p ! c
- };
- g = n.g ;
- a = Animate
-};
-
---a special case of neuter nouns -- the ones that just add -ri/-uri to the Singular Form
-
-mkNomNeut : Str -> Noun = \obiect ->
-case last obiect of
-{"u" => mkNomIrreg obiect (obiect + "ri") NNeut;
- _ => mkNomIrreg obiect (obiect + "uri") NNeut
-};
-
-
----------------------------------------------------------------------------------
------------------------------ADJECTIVES------------------------------------------
----------------------------------------------------------------------------------
-
-
-
--- in the worst case, the adjective needs 5 forms for Singular/Plural - Masculine/Feminine + Adverb
-
-
-oper mkAdjSSpec : Str -> Str -> Str -> Str -> Str -> Adj
-= \bun -> \buna -> \buni -> \bune -> \bine ->
-{ s = table {AF Masc Sg Def c => artDf bun buni Masc Sg c ;
- AF Fem Sg Def c => artDf buna bune Fem Sg c ;
- AF Masc Pl Def c => artDf bun buni Masc Pl c;
- AF Fem Pl Def c => artDf buna bune Fem Pl c ;
- AF Masc Pl Indef c => artUndefMasc buni Pl c;
- AF Fem Pl Indef c => artUndefFem buna bune Pl c;
- AF Masc Sg Indef c => artUndefMasc bun Sg c;
- AF Fem Sg Indef c => artUndefFem buna bune Sg c;
- AA => bine
- }
-
-};
-
--- usually the determined adverb is identical to the Singular Masculine form of the adjective
-
-oper mkAdjSpec : Str -> Str -> Str -> Str -> Adj
-= \bun -> \buna -> \buni -> \bune ->
- mkAdjSSpec bun buna buni bune bun ;
-
-
--- special classes of adjectives :
-
-oper adjAuriu : Str -> Adj = \s ->
- let f = init s + "e";
- pl = init s + "i"
- in
- mkAdjSpec s f pl pl ;
-
-oper adjMuncitor : Str -> Adj = \s ->
- let f = Predef.tk 2 s + "oare";
- pl = s + "i";
- adv = s + "ește"
- in
- mkAdjSSpec s f pl f adv ;
-
- oper adjRomanesc : Str -> Adj = \s ->
- let f = Predef.tk 2 s + "ască";
- pl = Predef.tk 2 s + "ști";
- adv = Predef.tk 2 s + "ște"
- in
- mkAdjSSpec s f pl pl adv ;
-
-oper adjMare : Str -> Adj = \s ->
- let pl = mkStemPlReg s
- in
- mkAdjSpec s s pl pl;
-
-oper adjDimin : Str -> Adj = \s ->
- let f = Predef.tk 2 s + "ică";
- pl = init s + "i";
- plf = s + "e"
- in
- mkAdjSpec s f pl plf;
-
-
- -- the phonetical mutations that occur in Romanian (Singular Masculine -> Singular Feminine) are
- -- o -> oa (Ex : frumos -> frumoasă)
- -- e -> ea / ie -> ia (Ex : des -> deasă)
- -- on the last occurence of o/e in the word (usually 2rd or 3rd last letter)
-
- mkStemMutE : Str -> Str = \s ->
- let s1 = if_then_Str (pbool2bool (Predef.occur "ie" (Predef.dp 4 s))) ((Predef.tk 3 s) +"a"+(Predef.dp 2 s)) ((Predef.tk 3 s) +"ea" + (Predef.dp 2 s));
- s2 = if_then_Str (pbool2bool (Predef.occur "ie" (Predef.dp 3 s))) ((Predef.tk 2 s) +"a" + (last s)) ((Predef.tk 2 s) +"ea" + (last s))
- in
- case Predef.dp 3 s of
- {"e"+x => s1;
- _ => s2
- };
-
- mkStemMutO : Str -> Str = \s ->
- case Predef.dp 3 s of
- {"o"+x => (Predef.tk 3 s) +"oa" + x;
- _ => (Predef.tk 2 s) + "oa" + (last s)
- };
-
- -- another phonetical mutation is ă -> e (Ex : proaspătă -> proaspete)
- -- Singular Feminine -> Plural Feminine
- -- on the last occurence of ă -- 2nd last letter of the root
-
- mkStemMutA : Str -> Str = \s ->
- case (Predef.dp 2 s) of
- { "ă" + x => (Predef.tk 2 s) + "e" + (last s);
- _ => s
- };
-
-
--- obtaining the Masculine Plural form from the Masculine Singular
--- contains most usual mutations
-
-oper mkStemPlReg : Str -> Str = \s ->
-case s of
-{x + ("st"|"sc"|"șc")=> x + "ști"; -- always -- usually the nouns/adj can end in an "u", but we eliminate that first
- x + "str" => x + "ștri";
- x + "s" => x + "și";
- x + "x" => x + "cși";
- x + "xt" => x + "cști";
- x + "ian" => x + "ieni";
- x + "ean" => x + "eni";
- x + "ead" => x + "ezi";
- x + ("de"|"d") => x + "zi";
- x + ("te"|"tă"|"t") => x + "ți";
- x + ("e"|"i"|"a"|"ă")=> x + "i";
- _ => s + "i"
-}; --all the mutations occur always for adjectives, appart from the exception that mutate other syllables from the word
-
-
--- special cases that imply other mutations that don't occur for all words
--- because these rules don't apply for neological words, which are more frequent, they are treated
--- separately
-
-oper mkStemPlSpec : Str -> Str = \s ->
-case s of
-{x + "l" => x + "i";
- x + "z" => x + "j";
- _ => s
-};
-
-
---obtaining the Feminine Singular form from the Masculine Singular one for Adjectives :
-
-mkFemSg : Str -> Str = \s ->
-case s of
-{x + "i" => s + "e";
- x + "iu" => x + "ie";
- x + "u" => x + "ă";
- _ => s + "ă"
-};
-
--- obtaining the Feminine Plural from Feminine Singular for Nouns :
-
-mkFemPl : Str -> Str = \s ->
-case s of
-{ x + "are" => x + "ări"; --always
- x + ("ui"|"ai") => s + "e"; -- from Masc (adjectives)
- x + "ură" => x + "uri"; -- always
- x + "oaie" => x + "oi"; -- almost always
- x + "aie" => x + "ăi"; --always
- x + "eie" => x + "ei"; --always
- x + "i" => s + "le" ; --always - special cases of Feminines ending in "i" like zi = day
- x + "a" => x + "le"; --always - special cases of Feminines ending in "a" -- most of Turkish origine like cafea = coffee
- x + "une" => x + "uni"; --always - abstract collective nouns like "națiune" = nation, French origine
- x + "ate" => x + "ăți"; --always same as above like "libertate" = freedom-- x + "șă" => x + "și"; -- 70% of cases
- x + "re" => x + "ri"; -- almost always, exception nouns ending in "oare" which are treated as special case in adjReg
- x + "e" => x + "i"; -- almost always for Nouns, always for Adjectives
- _ => case init s of
- {
- x + ("g"|"h"|"nc") => (init s) + "i"; -- always for Adjectives, almost always for Nouns (g - ending has exceptions)
-
- x + "ăt" => x + "ete"; --always
- x + "ânt" => x + "inte"; --always
- _ => case s of
- { x + "ă" => x + "e" ; -- default -- exception occur
- _ => s + "e" -- worst case
- }
-
- }
-};
-
-
---obtainint Feminine Plural from Masculine Singular for Adjectives :
-
-mkFemAdj : Str -> Str = \s ->
-case s of
-{ x + ("g"|"h"|"nc") => s + "i";
- x + "ânt" => x + "inte";
- x + "ăt" => x + "ete";
- _ => s + "e"
-
-};
-
-
----------------------------------------------------------------
-
--- invariable adjective - where all the forms are identical
-
-mkAdjInvar : Str -> Adj = \s ->
-{s = table {AF g n a c => s ;
- AA => s
- }
- };
-
--- regular adjective - just the Masculine Singular Form is needed
-
-mkAdjReg : Str -> Adj = \s ->
- let r = mkStemMutA s ;
- rad = if_then_Str (pbool2bool (Predef.occur "u" (last r))) (init r) r;
- radF = if_then_Str (pbool2bool (Predef.occur "u" (last s))) (init s) s
- in
- case s of
- {x + "tor" => adjMuncitor s;
- x + "esc" => adjRomanesc s;
- x + "e" => adjMare s;
- x + "iu" => adjAuriu s;
- x + "el" => adjDimin s;
- _ => mkAdjSpec s (mkFemSg radF) (mkStemPlReg rad) (mkFemAdj rad)
-
- };
-
- -- regular adjective that has the e -> ea mutation from Masculine Singular to Feminine Singular
-
- mkAdjRegE : Str -> Adj = \s ->
- let rad = if_then_Str (pbool2bool (Predef.occur "u" (last s))) (init s) s
- in
- mkAdjSpec s (mkFemSg (mkStemMutE rad)) (mkStemPlReg rad) (mkFemAdj rad);
-
-
--- regular adjective that has the e -> ea mutation as above, and also the l -> _ / z -> j
--- mutations from Masculine Singular -> Masculine Plural
-
- mkAdjSpecE : Str -> Adj = \s ->
- let rad = if_then_Str (pbool2bool (Predef.occur "u" (last s))) (init s) s
- in
- mkAdjSpec s (mkFemSg (mkStemMutE rad)) (mkStemPlSpec rad) (mkFemAdj rad);
-
--- regular adjective that has the o -> oa mutation from Masculine Singular to Feminine Singular
-
- mkAdjRegO : Str -> Adj = \s ->
- let rad = if_then_Str (pbool2bool (Predef.occur "u" (last s))) (init s) s
- in
- mkAdjSpec s (mkFemSg (mkStemMutO rad)) (mkStemPlReg rad) (mkFemPl (mkStemMutO rad));
-
- -- regular adjective that has the o -> oa mutation as above and also the l -> _ / z -> j
- -- mutations from Masculine Singular -> Masculine Plural
-
- mkAdjSpecO : Str -> Adj = \s ->
- let rad = if_then_Str (pbool2bool (Predef.occur "u" (last s))) (init s) s
- in
- mkAdjSpec s (mkFemSg (mkStemMutO rad)) (mkStemPlSpec rad) (mkFemPl (mkStemMutO rad));
-
-
- -- the two categories mkAdjRegE and mkAdjRegO have been merge into one category of adjectives
- -- that have mutations from Masculine Singular to Feminine Singular
-
- mkRegMut : Str -> Adj = \s ->
- let rad = if_then_Str (pbool2bool (Predef.occur "u" (last s))) (init s) s
- in
- if_then_else Adj (pbool2bool (Predef.occur "o" (Predef.dp 3 rad)))
- (mkAdjSpec s (mkFemSg (mkStemMutO rad)) (mkStemPlReg rad) (mkFemPl (mkStemMutO rad)))
- (mkAdjSpec s (mkFemSg (mkStemMutE rad)) (mkStemPlReg rad) (mkFemAdj rad));
-
- -- the two categories mkAdjSpecE and mkAdjSpecO have been merge into one category of adjectives
- -- that have mutations from Masculine Singular to Feminine Singular
- -- and also from Masculine Singular to Masculine Plural
-
-mkSpecMut : Str -> Adj = \s ->
- let rad = if_then_Str (pbool2bool (Predef.occur "u" (last s))) (init s) s
- in
- if_then_else Adj (pbool2bool (Predef.occur "o" (Predef.dp 3 rad)))
- (mkAdjSpec s (mkFemSg (mkStemMutO rad)) (mkStemPlSpec rad) (mkFemPl (mkStemMutO rad)))
- (mkAdjSpec s (mkFemSg (mkStemMutE rad)) (mkStemPlSpec rad) (mkFemAdj rad));
-
-
-
-
-
-
------------------------------------------------------------------------------------
-------------------------------VERBS------------------------------------------------
------------------------------------------------------------------------------------
-
---with rules based on the book "Conjugarea verbelor romanesti" by Ana-Maria Barbu--
-
-
--- for building the table for a verb, there are needed 29 forms
--- infinitive - 1 form
--- tables for Present, Imperfect, Past Simple, Past Perfect - 24 forms
--- 3rd person Singular form for Conjunctive Present (= 3rd person Plural) - 1 form
--- Adjective that describes the Past Participe Form (regular adjective)- 1 form
--- Gerund - 1 form
--- 2nd person Singular form for Imperative - 1 form
-
- Verbe : Type = VForm => Str ;
-
- verbAffixes :
- Str-> (a,b,c,d: Number => Person => Str) -> Str -> Adj -> Str -> Str -> Verbe =
- \fi,pres, imperf, pSimple, pPerf, subj, adj, ger, imp ->
- table {
- Inf => fi ;
- Indi Presn n p => pres ! n ! p ;
- Indi Imparf n p => imperf ! n ! p;
- Indi PSimple n p => pSimple ! n ! p ;
- Indi PPerfect n p => pPerf ! n ! p ;
- Subjo SPres n P3 => subj ;
- Subjo SPres n p => pres ! n ! p;
- Imper SgP2 => imp ;
- Imper PlP2 => pres ! Pl ! P2 ;
- Imper PlP1 => pres ! Pl ! P1 ;
- Ger => ger ;
- PPasse g n a d => adj. s ! (AF g n a d)
- } ;
-
-
--- syntactical verb :
--- obtains all the verb forms present in Romanian, based on the primitive forms found in Verbe
-
-SVerbe : Type = VerbForm => Str ;
-
- mkVerb : Verbe -> SVerbe = \vb ->
- table {
- TInf => "a" ++ vb ! Inf ;
- TIndi TPresn n p => vb ! (Indi Presn n p) ;
- TIndi TImparf n p => vb ! (Indi Imparf n p);
- TIndi TPComp n p => pComp ! n ! p ++ vb ! (PPasse Masc Sg Indef ANomAcc) ;
- TIndi TPSimple n p => vb ! (Indi PSimple n p) ;
- TIndi TPPerfect n p => vb ! (Indi PPerfect n p) ;
- TIndi TFutur n p => pFut ! n ! p ++ vb ! Inf ;
- TSubjo TSPres n p => "să" ++ vb ! (Subjo SPres n p) ;
- TSubjo TSPast n p => "să" ++ "fi" ++ vb ! (PPasse Masc Sg Indef ANomAcc) ;
- TCondi n p => pCond ! n ! p ++ vb ! Inf ;
- TImper PlP1 => "să" ++ vb ! (Imper PlP1) ;
- TImper p => vb ! (Imper p) ;
- TGer => vb ! Ger ;
- TPPasse g n a d => vb ! (PPasse g n a d)
- };
-
--- auxiliary for Past Composite (to have - as auxiliary) :
-
-pComp : Number => Person => Str = table {Sg => table {P1 => "am" ; P2 => "ai" ; P3 => "a"} ;
- Pl => table {P1 => "am" ; P2 => "ați"; P3 => "au"}
- };
-
--- auxiliary for Future Simple :
-
-pFut : Number => Person => Str = table {Sg => table {P1 => "voi" ; P2 => "vei" ; P3 => "va"} ;
- Pl => table {P1 => "vom" ; P2 => "veți"; P3 => "vor"}
- };
-
---auxiliary for Condional Present :
-
-pCond : Number => Person => Str = table {Sg => table {P1 => "aș" ; P2 => "ai" ; P3 => "ar"} ;
- Pl => table {P1 => "am" ; P2 => "ați"; P3 => "ar"}
- };
-
--- make Reflexive verbe : ? with variants ?
--- syntactical category of reflexive verbs based on the primitive forms in Verbe
-
-mkVerbRefl : Verbe -> SVerbe = \vb ->
-table {
- TInf => "a" ++ "se" ++ vb ! Inf ;
- TIndi TPresn n p => pronRefl ! n ! p ++ vb ! (Indi Presn n p) ;
- TIndi TImparf n p => pronRefl !n ! p ++ vb ! (Indi Imparf n p);
- TIndi TPComp n p => pronReflClit ! n ! p + "-" + pComp ! n ! p ++ vb ! (PPasse Masc Sg Indef ANomAcc) ;
- TIndi TPSimple n p => pronRefl ! n ! p ++ vb ! (Indi PSimple n p) ;
- TIndi TPPerfect n p => pronRefl ! n ! p ++ vb ! (Indi PPerfect n p) ;
- TIndi TFutur n p => pronRefl ! n ! p ++ pFut ! n ! p ++ vb ! Inf ;
- TSubjo TSPres n p => "să" ++ pronRefl ! n ! p ++ vb ! (Subjo SPres n p) ;
- TSubjo TSPast n p => "să" ++ pronRefl ! n ! p ++ "fi" ++ vb ! (PPasse Masc Sg Indef ANomAcc) ;
- TCondi n p => pronReflClit ! n ! p + "-" + pCond ! n ! p ++ vb ! Inf ;
- TImper PlP1 => "să" ++ pronRefl ! Pl ! P1 ++ vb ! (Imper PlP1) ;
- TImper PlP2 => vb ! (Imper PlP2) + "-"+ pronRefl ! Pl ! P2 ;
- TImper SgP2 => vb ! (Imper SgP2) + "-"+ pronRefl ! Sg ! P2 ;
- TGer => vb ! Ger + "u" + "-" + pronRefl ! Sg ! P3 ;
- TPPasse g n a d => vb ! (PPasse g n a d)
- };
-
--- reflexive pronouns - full form
-
-pronRefl : Number => Person => Str =
-table {Sg => table {P1 => "mă" ; P2 => "te" ; P3 => "se"};
- Pl => table {P1 => "ne" ; P2 => "vă" ; P3 => "se" }
-};
-
--- reflexive pronouns - short form (clitics)
-
-pronReflClit : Number => Person => Str =
-table {Sg => table {P1 => "m" ; P2 => "te" ; P3 => "s"};
- Pl => table {P1 => "ne" ; P2 => "v" ; P3 => "s" }
-};
-
-
-{-
- verbAffixes1 :
- Str-> (a,b,c,d: Number => Person => Str) -> (e,f,g,h : Str) -> Verbe =
- \fi,pres, imperf, pSimple, pPerf, subj, part, ger, imp ->
- table {
- Inf => fi ;
- Indi Presn n p => pres ! n ! p ;
- Indi Imparf n p => imperf ! n ! p;
- Indi PComp n p => "aa" ++ part ;
- Indi PSimple n p => pSimple ! n ! p ;
- Indi PPerf n p => pPerf ! n ! p ;
- Indi Futur n p => "va" ++ fi ;
- Condi n p => "as" ++ fi ;
- Subjo SPres n P3 => subj ;
- Subjo SPres n p => pres ! n ! p;
- Subjo SPast n p => "sa" ++ "fi" ++ part ;
- Imper SgP2 => imp ;
- Imper PlP2 => pres ! Pl ! P2 ;
- Imper PlP1 => "sa" ++ pres ! Pl ! P1 ;
- Part PPres => ger ;
- Part (PPasse g n a d) => (mkAdjReg part). s ! (AF g n a d)
- } ;
--}
-
--- This is a conversion to the type in $CommonRomance$.
-
-oper
- vvf : (VerbForm => Str) -> (VF => Str) = \aller -> table {
- VInfin _ => aller ! TInf ;
- VFin (VPres Indic) n p => aller ! TIndi TPresn n p ;
- VFin (VPres Subjunct) n p => aller ! TSubjo TSPres n p ;
- VFin (VImperf Indic) n p => aller ! TIndi TImparf n p ; --# notpresent
- VFin (VImperf Subjunct) n p => aller ! TSubjo TSPast n p ; --# notpresent
- VFin VPasse n p => aller ! TIndi TPComp n p ; --# notpresent
- VFin VFut n p => aller ! TIndi TFutur n p ; --# notpresent
- VFin VCondit n p => aller ! TCondi n p ; --# notpresent
- VImper np => aller ! TImper np ;
- VPart g n a d => aller ! TPPasse g n a d ;
- VGer => aller ! TGer
- } ;
-
-
-
--- vowells in Romanian - used for clitics
-
- vocale : Str = ("a"|"e"|"i"|"u"|"ă"|"î"|"â");
-
--- phonetical mutations that occur when declining verbs :
-
--- last ă in the word -> a
-
-modALast : Str -> Str = \root ->
-if_then_Str (pbool2bool (Predef.occur "ă" (Predef.dp 2 root)))
- ((Predef.tk 2 root) + "a" + (last root)) ((Predef.tk 3 root) + "a" + (Predef.dp 2 root));
-
--- last u in the word -> o
-
-modU : Str -> Str = \root ->
-if_then_Str (pbool2bool (Predef.occur "u" (Predef.dp 2 root)))
- ((Predef.tk 2 root) + "o" + (last root)) ((Predef.tk 3 root) + "o" + (Predef.dp 2 root));
-
--- first ă in the word -> a
-
-modAFirst : Str -> Str = \root ->
-if_then_Str (pbool2bool (Predef.occur "ă" (Predef.take 2 root)))
- ((Predef.take 1 root) + "a" + (Predef.drop 2 root)) ((Predef.take 2 root) + "a" + (Predef.drop 3 root));
-
--- ă -> a (general)
-
-modA : Str -> Str = \root ->
- if_then_Str (pbool2bool (Predef.occur "ă" (Predef.dp 3 root))) (modALast root) (modAFirst root) ;
-
-
--- e -> ea mutation (general)
-
-mkMutE : Str -> Str = \root ->
- if_then_Str (pbool2bool (Predef.occur "e" (Predef.dp 3 root))) (mkStemMutE root)
- (mkStemMutE (Predef.take 4 root) + (Predef.drop 4 root)) ;
-
--- o -> oa mutation (general)
-
-mkMutO : Str -> Str = \root ->
- if_then_Str (pbool2bool (Predef.occur "o" (Predef.dp 3 root))) (mkStemMutO root)
- (mkStemMutO (Predef.take 4 root) + (Predef.drop 4 root)) ;
-
--- general mutation - last occurence of a letter in the word is replaced by other string
--- the letter should occurd 2nd or 3rd last in the word
-
---for replacing 1 character with a string
-genMut : Str -> Str -> Str -> Str = \root, e, a ->
- if_then_Str (pbool2bool (Predef.occur e (Predef.dp 2 root)))
- ((Predef.tk 2 root) + a + (last root)) ((Predef.tk 3 root) + a + (Predef.dp 2 root));
-
--- for replacing 2 characters with a string
-
-genMut2 : Str -> Str -> Str -> Str = \root,e , a ->
- if_then_Str (pbool2bool (Predef.occur e (Predef.dp 3 root)))
- ((Predef.tk 3 root) + a + (last root)) ((Predef.tk 4 root) + a + (Predef.dp 2 root));
-
-
--- oa -> o mutation (last occurence in the word)
-
-mkStemMutOa : Str -> Str = \s ->
- case Predef.dp 4 s of
- {"oa" + x => (Predef.tk 4 s) + "o" + x;
- _ => (Predef.tk 3 s) + "o" + (last s)
- };
-
-
--- Affixes :
--- It is convenient to have sets of affixes as data objects.
-
- Affixe : Type = Person => Str ;
-
- afixe : (_,_,_ : Str) -> Affixe = \x,y,z -> table {
- P1 => x ;
- P2 => y ;
- P3 => z
- } ;
-
--- Empty table (for verbs that lack certain tenses and moods )
-
-empty : Number => Person => Str = \\n,p => nonExist ;
-
-specTab : Str -> Str -> Number => Person => Str = \ploua, plouau ->
-\\n,p => case <n,p> of
- {<Sg,P3> => ploua ;
- <Pl,P3> => plouau ;
- _ => nonExist
- };
-
--- VERB GROUPS :
-
-
----------------------------------------------------
------------Group 1 - ending in -a, with exceptions
----------------------------------------------------
-
--- Much of variation can be described in terms of affix sets:
----------------------------------
---for Present :
----------------------------------
---for subGroups 1,13
-
- affixSgGr1Ez : Affixe = afixe "ez" "ezi" "ează" ;
- affixPlGr1Ez : Affixe = afixe "ăm" "ați" "ează" ;
-------
---for subGroups 2-3
- affixSgGr1EzI : Affixe = afixe "ez" "ezi" "ază" ;
- affixPlGr1EzI : Affixe = afixe "em" "ați" "ază" ;
-------
---for subGroup 4
- affixSgGr1I : Affixe = afixe "i" "i" "e" ;
- affixPlGr1I : Affixe = afixe "em" "ați" "e";
-------
---for subGroup 5
- affixSgGr1VI : Affixe = afixe "" "" "e" ;
- affixPlGr1VI : Affixe = affixPlGr1I ;
-------
---for subGroups 6-7
- affixSgGr1 : Affixe = afixe "" "i" "ă" ;
- affixPlGr1 : Affixe = afixe "ăm" "ați" "ă" ;
-------
---for subGroup 8
- affixSgGr1U : Affixe = afixe "u" "i" "ă" ;
- affixPlGr1U : Affixe = affixPlGr1 ;
-------
---for subGroup 9,11,12
- affixSgGr1AU : Affixe = afixe "au" "ai" "ă" ;
- affixPlGr1AU : Affixe = afixe "ăm" "ați" "au" ;
--------
---for subGroup 10
- affixSgGr1EU : Affixe = afixe "au" "ei" "a" ;
- affixPlGr1EU : Affixe = afixe "ăm" "ați" "au" ;
--------
- --for subGroup 14
- affixSgGr1CI : Affixe = afixe "i" "i" "e" ;
- affixPlGr1CI : Affixe = afixe "em" "eați" "e";
------
-
-
--------------------------
---for Imperfect :
--------------------------
---for subGroups 1-10
- affixSgI : Affixe = afixe "am" "ai" "a" ;
- affixPlI : Affixe = afixe "am" "ați" "au" ;
-
---for subGroups 11-14
- affixSgII : Affixe = afixe "eam" "eai" "ea" ;
- affixPlII : Affixe = afixe "eam" "eați" "eau" ;
-
----------------------------
- --for Perfect Simple :
- ---------------------------
- --for subGroups 1, 6-10
-
- affixSgPS1 : Affixe = afixe "ai" "ași" "ă" ;
- affixPlPS1 : Affixe = afixe "arăm" "arăți" "ară" ;
-
- --for subGroups 2-5
-
- affixSgPS2 : Affixe = afixe "ai" "ași" "e" ;
- affixPlPS2 : Affixe = afixe "arăm" "arăți" "ară" ;
-
- --for subGroups 11-12
-
- affixSgPS3 : Affixe = afixe "ui" "uși" "u" ;
- affixPlPS3 : Affixe = afixe "urăm" "urăți" "ură" ;
-
- --for subGroups 13-14
-
- affixSgPS4 : Affixe = afixe "eai" "eași" "e" ;
- affixPlPS4 : Affixe = afixe "earăm" "earăți" "eară" ;
-
---------------------------
--- for Past Perfect :
----------------------------
-
---for subGroups 1-10
-
-affixSgPP : Affixe = afixe "asem" "aseși" "ase" ;
-affixPlPP : Affixe = afixe "aserăm" "aserăți" "aseră" ;
-
---for subGroups 11-12
-
-affixSgPP2 : Affixe = afixe "usem" "useși" "use" ;
-affixPlPP2 : Affixe = afixe "userăm" "userăți" "useră" ;
-
---for subGroups 13-14
-
-affixSgPP3 : Affixe = afixe "easem" "easeși" "ease" ;
-affixPlPP3 : Affixe = afixe "easerăm" "easerăți" "easeră" ;
-
-
--- functions that build a tense table for a verb :
-
-
--- worst case : we need 5 forms and an affixe -
--- root, 1st Sg, 2nd Sg, 3rd Sg, 3rd Pl and affixe
-
-mkTab : (a,b,c,d,e : Str) -> Affixe -> Number => Person => Str =
-\lua -> \iau -> \iei -> \ia -> \iaP -> \aff ->
-table {Sg => table {P1 => iau; P2 => iei; P3 => ia};
- Pl => table {P3 => iaP; p => lua + aff ! p}
- };
-
-
--- regular case : we need just the root and affixes for Singular and Plural
-
-mkFromAffix : Str -> Affixe -> Affixe -> Number => Person => Str = \ar,affSg,affPl ->
- table {Sg => table {p => ar + affSg ! p};
- Pl => table {p => ar + affPl ! p}
- };
-
--- case where we need 2 roots and two affixes
-
-
-mkFromAffixes1 : Str -> Str -> Affixe -> Affixe -> Number => Person => Str =
-\ar,arr,affSg, affPl ->
-table {Sg => table {p => ar + affSg ! p };
- Pl => table {P3 => ar + affSg ! P3 ;
- p => arr + affPl ! p
- }
- };
-
-
-mkFromAffixes2 : Str -> Str -> Affixe -> Affixe -> Number => Person => Str =
-\ar,arr,affSg, affPl ->
-table {Sg => table {p => ar + affSg ! p};
- Pl => table {P3 => ar + affPl ! P3;
- p => arr + affPl ! p
- }
- };
-
--- cases where the 3rd Person Singular is formed with a different root :
-
-mkAffixSpec1 : Str -> Str -> Affixe -> Affixe -> Number => Person => Str =
-\ar, arr, affSg, affPl ->
-table {Sg => table {P3 => arr + affSg ! P3 ;
- p => ar + affSg ! p
- };
- Pl => table {P3 => arr + affSg ! P3 ;
- p => ar + affPl ! p
- }
- };
-
-mkAffixSpec2 : Str -> Str -> Affixe -> Affixe -> Number => Person => Str =
-\ar, arr, affSg, affPl ->
-table {Sg => table {P3 => arr + affSg ! P3 ;
- p => ar + affSg ! p
- };
- Pl => table {P3 => ar + affSg ! P1 ;
- p => ar + affPl ! p
- }
- };
-
-
--- case where the 2nd person Singular has a different form, than the usual one :
-
-changeP2 : Str -> (Number => Person => Str) -> Number => Person => Str =
-\ari -> \pres ->
-table {Sg => table {P2 => ari;
- p => pres ! Sg ! p};
- Pl => \\p => pres ! Pl ! p
- };
-
--- case where the 1st person Singular has a different form than the usual one :
-
-changeP1 : Str -> (Number => Person => Str) -> Number => Person => Str =
-\ari -> \pres ->
-table {Sg => table {P1 => ari;
- p => pres ! Sg ! p};
- Pl => \\p => pres ! Pl ! p
- };
-
-
---subGroup 1
-mkV6: Str -> Verbe = \lucra ->
- let root = init lucra in
-verbAffixes lucra (mkFromAffix root affixSgGr1Ez affixPlGr1Ez)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (root + "eze") (mkAdjReg(root + "at"))
- (root + "ând") (root + "ează") ;
-
-
-mkV7 : Str -> Verbe = \crea ->
- mkV6 crea ;
-
-mkV8 : Str -> Verbe = \parca ->
- let r = init parca ;
- root = r + "h"
- in
-verbAffixes parca (mkFromAffixes1 r root affixSgGr1Ez affixPlGr1Ez)
- (mkFromAffix r affixSgI affixPlI) (mkFromAffix r affixSgPS1 affixPlPS1)
- (mkFromAffix r affixSgPP affixPlPP) (root + "eze") (mkAdjReg (r + "at"))
- (r + "ând") (root + "ează") ;
-
-mkV9 : Str -> Verbe = \divaga ->
- mkV8 divaga ;
-
-
---subGroup 2
-
-mkV10 : Str -> Verbe = \studia ->
- let root = init studia in
- verbAffixes studia (mkFromAffix root affixSgGr1EzI affixPlGr1EzI)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS2 affixPlPS2)
- (mkFromAffix root affixSgPP affixPlPP) (root + "eze") (mkAdjReg (root + "at"))
- (root + "ind") (root + "ază") ;
-
---subGroup 3
-
-mkV11 : Str -> Verbe = \ardeia ->
- let root = init ardeia in
- verbAffixes ardeia (mkFromAffix root affixSgGr1EzI affixPlGr1EzI)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS2 affixPlPS2)
- (mkFromAffix root affixSgPP affixPlPP) (root + "eze") (mkAdjReg (root + "at"))
- (root + "nd") (root + "ază") ;
-
---subGroup 4
-
-mkV12 : Str -> Verbe = \speria ->
- let root = init speria in
- verbAffixes speria (mkFromAffix root affixSgGr1I affixPlGr1I)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS2 affixPlPS2)
- (mkFromAffix root affixSgPP affixPlPP) (root + "e") (mkAdjReg (root + "at"))
- (root + "ind") (root + "e") ;
-
---subGroup 5
-
-mkV13 : Str -> Verbe = \incuia ->
- let root = init incuia in
- verbAffixes incuia (mkFromAffix root affixSgGr1VI affixPlGr1VI)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS2 affixPlPS2)
- (mkFromAffix root affixSgPP affixPlPP) (root + "e") (mkAdjReg (root + "at"))
- (root + "nd") (root + "e") ;
-
-mkV14 : Str -> Verbe = \taia ->
- let root = init taia ;
- r = modA root
- in
-verbAffixes taia (mkFromAffixes1 r root affixSgGr1VI affixPlGr1VI)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS2 affixPlPS2)
- (mkFromAffix root affixSgPP affixPlPP) (r + "e") (mkAdjReg (root + "at"))
- (root + "nd") (r + "e") ;
-
-mkV15 : Str -> Verbe = \infoia ->
- let root = init infoia ;
- r = mkStemMutO root
- in
- verbAffixes infoia (mkAffixSpec1 root r affixSgGr1VI affixPlGr1VI)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS2 affixPlPS2)
- (mkFromAffix root affixSgPP affixPlPP) (r + "e") (mkAdjReg (root + "at"))
- (root + "nd") (r + "e") ;
-
-mkV16 : Str -> Verbe = \muia ->
- let root = init muia ;
- r1 = modU root ;
- r2 = mkStemMutO r1
- in
- verbAffixes muia (mkTab root r1 r1 (r2 + "e") (r2+"e") affixPlGr1VI)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS2 affixPlPS2)
- (mkFromAffix root affixSgPP affixPlPP) (r2 + "e") (mkAdjReg (root + "at"))
- (root + "nd") (r2 + "e") ;
-
---subGroup 6
-
-mkV17 : Str -> Verbe = \acuza ->
- let root = init acuza
- in
- verbAffixes acuza (mkFromAffix root affixSgGr1 affixPlGr1)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (root + "e") (mkAdjReg (root + "at"))
- (root + "ând") (root + "ă") ;
-
-mkV18 : Str -> Verbe = \ajuta ->
- let root = init ajuta ;
- newF = mkStemPlReg root;
- pres = changeP2 newF (mkFromAffix root affixSgGr1 affixPlGr1)
-in
-verbAffixes ajuta pres
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (root + "e") (mkAdjReg (root + "at"))
- (root + "ând") (root + "ă") ;
-
-
-mkV19 : Str -> Verbe = \acorda ->
- mkV18 acorda ;
-
-mkV20 : Str -> Verbe = \asista ->
- mkV18 asista ;
-
-
-
-mkV21 : Str -> Verbe = \risca ->
- let root = init risca ;
- newF = mkStemPlReg root ;
- newP = init newF + "e" ;
- pres = changeP2 newF (mkFromAffix root affixSgGr1 affixPlGr1)
-in
-verbAffixes risca pres
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) newP (mkAdjReg (root + "at"))
- (root + "ând") (root + "ă") ;
-
-
- mkV22 : Str -> Verbe = \misca ->
- mkV21 misca ;
-
- mkV23 : Str -> Verbe = \calca ->
- let root = init calca ;
- r = modA root
- in
- verbAffixes calca (mkFromAffixes1 r root affixSgGr1 affixPlGr1)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (r + "e") (mkAdjReg (root + "at"))
- (root + "ând") (r + "ă") ;
-
-mkV24 : Str -> Verbe = \cauta ->
- let root = init cauta ;
- r = modA root ;
- newF = mkStemPlReg r ;
- pres = changeP2 newF (mkFromAffixes1 r root affixSgGr1 affixPlGr1)
- in
- verbAffixes cauta pres
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (r + "e") (mkAdjReg (root + "at"))
- (root + "ând") (r + "ă") ;
-
-mkV25 : Str -> Verbe = \lauda ->
- mkV24 lauda ;
-
-mkV26 : Str -> Verbe = \lasa ->
- mkV24 lasa ;
-
-mkV27 : Str -> Verbe = \adasta ->
- mkV24 adasta ;
-
-mkV28 : Str -> Verbe = \casca ->
- let root = init casca ;
- r = modA root ;
- newF = mkStemPlReg r ;
- newP = init newF + "e"
- in
- verbAffixes casca (changeP2 newF (mkFromAffixes1 r root affixSgGr1 affixPlGr1))
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) newP (mkAdjReg (root + "at"))
- (root + "ând") (r + "ă") ;
-
- mkV29 : Str -> Verbe = \chema ->
- let root = init chema ;
- r = mkMutE root
- in
- verbAffixes chema (mkAffixSpec1 root r affixSgGr1 affixPlGr1)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (root+"e") (mkAdjReg (root + "at"))
- (root + "ând") (r + "ă") ;
-
- mkV30 : Str -> Verbe = \certa ->
- let root = init certa ;
- newF = mkStemPlReg root ;
- newP = mkMutE root + "ă"
- in
- verbAffixes certa (mkTab root root newF newP newP affixPlGr1)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (root+"e") (mkAdjReg (root + "at"))
- (root + "ând") newP ;
-
- mkV31 : Str -> Verbe = \toca ->
- let root = init toca ;
- r = mkStemMutO root
- in
- verbAffixes toca (mkAffixSpec1 root r affixSgGr1 affixPlGr1)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (root+"e") (mkAdjReg (root + "at"))
- (root + "ând") (r + "ă") ;
-
- mkV32 : Str -> Verbe = \inota ->
- let root = init inota ;
- newF = mkStemPlReg root ;
- newP = mkStemMutO root + "ă"
- in
- verbAffixes inota (mkTab root root newF newP newP affixPlGr1)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (root+"e") (mkAdjReg (root + "at"))
- (root + "ând") newP ;
-
- mkV33 : Str -> Verbe = \innoda ->
- mkV32 innoda ;
-
- mkV34 : Str -> Verbe = \improsca ->
- let root = init improsca ;
- newF = mkStemPlReg root ;
- newS = mkStemMutO (init newF) + "e" ;
- newP = mkStemMutO root + "ă"
- in
- verbAffixes improsca (mkTab root root newF newP newP affixPlGr1)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) newS (mkAdjReg (root + "at"))
- (root + "ând") newP ;
-
- mkV35 : Str -> Verbe = \apara ->
- let root = init apara ;
- newP = mkStemMutA root ;
- pres = changeP2 (newP + "i") (mkFromAffix root affixSgGr1 affixPlGr1)
- in
- verbAffixes apara pres
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (newP + "e") (mkAdjReg (root + "at"))
- (root + "ând") (root + "ă") ;
-
- mkV36 : Str -> Verbe = \semana ->
- let root = init semana ;
- newP = mkStemMutA root ;
- newF = mkMutE root + "ă"
- in
- verbAffixes semana (mkTab root root (newP+"i") newF newF affixPlGr1)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (newP + "e") (mkAdjReg (root + "at"))
- (root + "ând") newF ;
-
- mkV37 : Str -> Verbe = \fremata ->
- let root = init fremata ;
- r = mkMutE root ;
- newC = (mkStemMutA root) + "e" ;
- newP = mkStemPlReg r ;
- newF = r + "ă"
- in
- verbAffixes fremata (mkTab root r newP newF newF affixPlGr1)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) newC (mkAdjReg (root + "at"))
- (root + "ând") newF ;
-
- mkV38 : Str -> Verbe = \lepada ->
- mkV37 lepada ;
-
- mkV39 : Str -> Verbe = \scapara ->
- let root = init scapara ;
- r = modAFirst root ;
- newP = mkStemMutA r ;
- newF = r + "ă"
- in
- verbAffixes scapara (mkTab root r (newP + "i") newF newF affixPlGr1)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (newP + "e") (mkAdjReg (root + "at"))
- (root + "ând") newF ;
-
- mkV40 : Str -> Verbe = \capata ->
- let root = init capata ;
- r = modAFirst root ;
- newC = mkStemMutA r + "e" ;
- newP = mkStemPlReg(mkStemMutA r) ;
- newF = r + "ă"
- in
- verbAffixes capata (mkTab root r newP newF newF affixPlGr1)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) newC (mkAdjReg (root + "at"))
- (root + "ând") newF ;
-
- mkV41 : Str -> Verbe = \aseza ->
- let root = init aseza ;
- r = genMut root "e" "a"
- in
- verbAffixes aseza (mkAffixSpec1 root r affixSgGr1 affixPlGr1)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (root+"e") (mkAdjReg (root + "at"))
- (root + "ând") (r +"ă") ;
-
- mkV42 : Str -> Verbe = \ierta ->
- mkV30 ierta ;
-
- mkV43 : Str -> Verbe = \dezmierda ->
- mkV30 dezmierda ;
-
- mkV44 : Str -> Verbe = \pieptana ->
- mkV36 pieptana ;
-
- mkV45 : Str -> Verbe = \invata ->
- let root = init invata ;
- newP = mkStemMutA root ;
- r = genMut root "ă" "a"
- in
- verbAffixes invata (mkTab root root (newP + "i") (r+"ă") (r+"ă") affixPlGr1)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (newP +"e") (mkAdjReg (root + "at"))
- (root + "ând") (r +"ă") ;
-
- mkV46 : Str -> Verbe = \imbata ->
- let root = init imbata ;
- newP = mkStemMutA root ;
- r = genMut root "ă" "a"
- in
- verbAffixes imbata (mkTab root root (mkStemPlReg newP) (r+"ă") (r+"ă") affixPlGr1)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (newP +"e") (mkAdjReg (root + "at"))
- (root + "ând") (r +"ă") ;
-
- mkV47 : Str -> Verbe = \varsa ->
- mkV46 varsa ;
-
- mkV48 : Str -> Verbe = \juca ->
- let root = init juca ;
- r1 = modU root ;
- r2 = mkStemMutO r1
- in
- verbAffixes juca (mkTab root r1 (mkStemPlReg r1) (r2+"ă") (r2+"ă") affixPlGr1)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (r2 +"e") (mkAdjReg (root + "at"))
- (root + "ând") (r2 +"ă") ;
-
- mkV49 : Str -> Verbe = \purta ->
- mkV48 purta ;
-
- mkV50 : Str -> Verbe = \prezenta ->
- let root = init prezenta ;
- r1 = genMut root "e" "i"
- in
- verbAffixes prezenta (mkTab root r1 (mkStemPlReg r1) (r1+"ă") (r1+"ă") affixPlGr1)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (r1 +"e") (mkAdjReg (root + "at"))
- (root + "ând") (r1 +"ă") ;
-
- mkV51 : Str -> Verbe = \usca ->
- let root = init usca ;
- r = "usuc"
- in
- verbAffixes usca (mkTab root r (r + "i") (r+"ă") (r+"ă") affixPlGr1)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (r +"e") (mkAdjReg (root + "at"))
- (root + "ând") (r +"ă") ;
-
- mkV52 : Str -> Verbe = \manca ->
- let root = init manca ;
- r = "mănânc"
- in
- verbAffixes manca (mkTab root r (r + "i") (r+"ă") (r+"ă") affixPlGr1)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (r +"e") (mkAdjReg (root + "at"))
- (root + "ând") (r +"ă") ;
-
- --subGroup 7
- mkV53 : Str -> Verbe = \preceda ->
- let root = init preceda ;
- newP = mkStemPlReg root ;
- newC = mkMutE root
- in
- verbAffixes preceda (changeP2 newP (mkFromAffix root affixSgGr1 affixPlGr1))
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (newC +"ă") (mkAdjReg (root + "at"))
- (root + "ând") (root +"ă") ;
-
- mkV54 : Str -> Verbe = \ploua ->
- let root = init ploua
- in
- verbAffixes ploua (specTab (root + "ă") (root + "ă")) (specTab ploua (ploua+ "u"))
- (specTab (root + "ă") (root + "ară")) (specTab (root + "ase") (root + "aseră"))
- (root + "ă") (mkAdjReg (root + "at")) (root + "ând") (root + "ă") ;
-
- --subGroup8
- mkV55 : Str -> Verbe = \umbla ->
- let root = init umbla
- in
- verbAffixes umbla (mkFromAffix root affixSgGr1U affixPlGr1U)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (root +"e") (mkAdjReg (root + "at"))
- (root + "ând") (root +"ă") ;
-
- mkV56 : Str -> Verbe = \latra ->
- let root = init latra ;
- r = genMut root "ă" "a"
- in
- verbAffixes latra (mkFromAffixes1 r root affixSgGr1U affixPlGr1U)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (r +"e") (mkAdjReg (root + "at"))
- (root + "ând") (r +"ă") ;
-
- --subGroup 9
-
- mkV57 : Str -> Verbe = \reda ->
- let root = init reda
- in
- verbAffixes reda (mkFromAffix root affixSgGr1AU affixPlGr1AU)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (root +"ea") (mkAdjReg (root + "at"))
- (root + "ând") (root +"ă") ;
-
- --subGroup 10
- mkV58 : Str -> Verbe = \lua ->
- let root = init lua ;
- r = Predef.tk 2 root + "i"
- in
- verbAffixes lua (mkFromAffixes1 r root affixSgGr1EU affixPlGr1EU)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS1 affixPlPS1)
- (mkFromAffix root affixSgPP affixPlPP) (r +"a") (mkAdjReg (root + "at"))
- (root + "ând") (r +"a") ;
-
- --subGroup 11
- mkV59 : Str -> Verbe = \sta ->
- let root = init sta ;
- r = Predef.tk 2 root + "stăt"
- in
- verbAffixes sta (mkFromAffix root affixSgGr1AU affixPlGr1AU)
- (mkFromAffix r affixSgII affixPlII) (mkFromAffix r affixSgPS3 affixPlPS3)
- (mkFromAffix r affixSgPP2 affixPlPP2) (root +"ea") (mkAdjReg (root + "at"))
- (root + "ând") (root +"ai") ;
-
- --subGroups 12
- mkV60 : Str -> Verbe = \da ->
- let root = init da ;
- r = init root + "dăd"
- in
- verbAffixes da (mkFromAffix root affixSgGr1AU affixPlGr1AU)
- (mkFromAffix r affixSgII affixPlII) (mkFromAffix r affixSgPS3 affixPlPS3)
- (mkFromAffix r affixSgPP2 affixPlPP2) (root +"ea") (mkAdjReg (root + "at"))
- (root + "ând") (root +"ai") ;
-
- --subGroups 13
- mkV61 : Str -> Verbe = \veghea ->
- let root = Predef.tk 2 veghea
- in
- verbAffixes veghea (mkFromAffix root affixSgGr1Ez affixPlGr1Ez)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS4 affixPlPS4)
- (mkFromAffix root affixSgPP3 affixPlPP3) (root +"eze") (mkAdjReg (root + "eat"))
- (root + "ind") (root +"ează") ;
-
---subGroups 14
-mkV62 : Str -> Verbe = \deochea ->
- let root = Predef.tk 2 deochea ;
- newP = mkMutO root
- in
- verbAffixes deochea (mkAffixSpec1 root newP affixSgGr1CI affixPlGr1CI)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS4 affixPlPS4)
- (mkFromAffix root affixSgPP3 affixPlPP3) (newP +"e") (mkAdjReg (root + "eat"))
- (root + "ind") (newP + "e") ;
-
------------------------------------
----------GROUP 2 -- verbs ending in -ea (same syllable)
------------------------------------
-----------
---Present
-----------
-
---subGroup 1-2
-affixSgGr21 : Affixe = afixe "" "i" "e" ;
-affixPlGr21 : Affixe = afixe "em" "eți" "" ;
-
---subGroup 3
-affixSgGr23 : Affixe = afixe "eau" "ei" "ea" ;
-affixPlGr23 : Affixe = afixe "em" "eți" "eau" ;
-
---subGroup 4
-affixSgGr24 : Affixe = afixe "eau" "ei" "ea" ;
-affixPlGr24 : Affixe = afixe "em" "eți" "" ;
-
-----------
---Imperf
-----------
-
---subGroups 1-3
---affixSgII and affixPlII
-
---subGroup 4
-affixSgI2 : Affixe = afixe "iam" "iai" "ia" ;
-affixPlI2 : Affixe = afixe "iam" "iați" "iau" ;
-
----------------
---Past Simple
---------------
---affixSgPS3 and affixPlPS3
-
---------------
---Past Perfect
---------------
--- for subGroups 1-3
--- affixSgPP2 and affixPlPP2
-
---for subGroup 4
-affixSgPP4 : Affixe = afixe "usem" "useși" "use" ;
-affixPlPP4 : Affixe = afixe "useserăm" "useserăți" "useseră" ;
-
-
------------------
-
--- subGroup 1
-
-mkV64 : Str -> Verbe = \aparea ->
- let root = Predef.tk 2 aparea ;
- r = genMut root "ă" "a"
- in
- verbAffixes aparea (mkFromAffixes2 r root affixSgGr21 affixPlGr21)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix r affixSgPS3 affixPlPS3)
- (mkFromAffix r affixSgPP2 affixPlPP2) (r +"ă") (mkAdjReg (root + "ut"))
- (root + "ând") (r + "i") ;
-
-mkV65 : Str -> Verbe = \cadea ->
- let root = Predef.tk 2 cadea ;
- r = genMut root "ă" "a";
- rad = init (mkStemPlReg root)
- in
- verbAffixes cadea (changeP2 (mkStemPlReg r) (mkFromAffixes2 r root affixSgGr21 affixPlGr21) )
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix rad affixSgPS3 affixPlPS3)
- (mkFromAffix rad affixSgPP2 affixPlPP2) (r +"ă") (mkAdjReg (rad + "ut"))
- (rad + "ând") (mkStemPlReg r) ;
-
-mkV66 : Str -> Verbe = \sedea ->
- let root = Predef.tk 2 sedea ;
- r = genMut root "e" "a";
- rad = init (mkStemPlReg root)
- in
- verbAffixes sedea (mkTab root root (mkStemPlReg root) (r + "e") root affixPlGr21)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix rad affixSgPS3 affixPlPS3)
- (mkFromAffix rad affixSgPP2 affixPlPP2) (r +"ă") (mkAdjReg (rad + "ut"))
- (rad + "ând") (rad + "i") ;
-
-mkV67 : Str -> Verbe = \vedea ->
- let root = Predef.tk 2 vedea ;
- r = genMut root "e" "ă" ;
- newC = genMut root "e" "a" ;
- rad = init (mkStemPlReg r)
- in
- verbAffixes vedea (mkTab root r (mkStemPlReg root) (root + "e") r affixPlGr21)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix rad affixSgPS3 affixPlPS3)
- (mkFromAffix rad affixSgPP2 affixPlPP2) (newC +"ă") (mkAdjReg (rad + "ut"))
- (rad + "ând") (mkStemPlReg root) ;
-
-mkV68 : Str -> Verbe = \putea ->
- let root = Predef.tk 2 putea ;
- r = modU root ;
- newP = mkMutO r
- in
- verbAffixes putea (mkTab root r (mkStemPlReg r) (newP + "e") r affixPlGr21)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS3 affixPlPS3)
- (mkFromAffix root affixSgPP2 affixPlPP2) (newP +"ă") (mkAdjReg (root + "ut"))
- (root + "ând") (mkStemPlReg r) ;
-
---subGroup 2
-
- mkV69 : Str -> Verbe = \scadea ->
- let root = Predef.tk 2 scadea ;
- r = genMut root "ă" "a";
- rad = init (mkStemPlReg root)
- in
- verbAffixes scadea (changeP2 (mkStemPlReg r) (mkFromAffixes2 r root affixSgGr21 affixPlGr21) )
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix rad affixSgPS3 affixPlPS3)
- (mkFromAffix rad affixSgPP2 affixPlPP2) (r +"ă") (mkAdjReg (rad + "ut"))
- (rad + "ând") (r + "e") ;
-
- mkV70 : Str -> Verbe = \prevedea ->
- let root = Predef.tk 2 prevedea ;
- r = genMut root "e" "ă" ;
- newC = genMut root "e" "a" ;
- rad = init (mkStemPlReg r)
- in
- verbAffixes prevedea (mkTab root r (mkStemPlReg root) (root + "e") r affixPlGr21)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix rad affixSgPS3 affixPlPS3)
- (mkFromAffix rad affixSgPP2 affixPlPP2) (newC +"ă") (mkAdjReg (rad + "ut"))
- (rad + "ând") (root + "e") ;
-
- mkV71 : Str -> Verbe = \placea ->
- let root = Predef.tk 2 placea ;
- r = genMut root "ă" "a"
- in
- verbAffixes placea (mkFromAffixes2 r root affixSgGr21 affixPlGr21)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix r affixSgPS3 affixPlPS3)
- (mkFromAffix r affixSgPP2 affixPlPP2) (r +"ă") (mkAdjReg (root + "ut"))
- (root + "ând") (r + "e") ;
-
- mkV72 : Str -> Verbe = \durea ->
- mkV68 durea ;
-
---subGroup 3
-
- mkV73 : Str -> Verbe = \bea ->
- let root = Predef.tk 2 bea ;
- r = root + "ă"
- in
- verbAffixes bea (mkFromAffix root affixSgGr23 affixPlGr23)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix r affixSgPS3 affixPlPS3)
- (mkFromAffix r affixSgPP2 affixPlPP2) (root +"ea") (mkAdjReg (r + "ut"))
- (root + "ând") (root + "ea") ;
-
---subGroup 4
-
- mkV74 : Str -> Verbe = \vrea ->
- let root = Predef.tk 2 vrea ;
- r = root + "o"
- in
- verbAffixes vrea (mkTab root (root+"eau") (root+"ei")(root +"ea") (init root + "or") affixPlGr24)
- (mkFromAffix r affixSgII affixPlII) (mkFromAffix root affixSgPS3 affixPlPS3)
- (mkFromAffix root affixSgPP4 affixPlPP4) (root +"ea") (mkAdjReg (r + "ut"))
- (root + "ând") (root + "ei") ;
-
- ----------------------------------------------------------------------
- -------Group 3 -- verbs ending in -e
- -------------------------------------------------------------------------
- -----------------------
- --Present
- -----------------------
---subGroups 1-6
---affixSgGr21 + affixPlGr21
-
---subGroup 7-8
-affixSgGr31 : Affixe = afixe "u" "i" "e" ;
-affixPlGr31 : Affixe = afixe "em" "eți" "u" ;
-
-----------------
---Imperfect
-----------------
---subGroups 1-6 affixSgII affixPlII
-
---subGroups 7-8 affixSgI affixPlI
-
-----------------
---Past Simple
-----------------
---subGroups 1-4,8
-affixSgPS5 : Affixe = afixe "sei" "seși" "se" ;
-affixPlPS5 : Affixe = afixe "serăm" "serăți" "seră" ;
-
---subGroups 5-7 affixSgPS3 + affixPlPS3
-
----------------
---P Perfect
----------------
---subGroups 1-4,8
-affixSgPP5 : Affixe = afixe "sesem" "seseși" "sese" ;
-affixPlPP5 : Affixe = afixe "seserăm" "seserăți" "seseră" ;
-
---subGroups 5-7
---affixSgPP2 and affixPlPP2
-
---subGroup 1
-
-mkV76 : Str -> Verbe = \pune ->
- let root = init pune ;
- r = init root
- in
-verbAffixes pune (changeP2 (r+"i") (mkFromAffix root affixSgGr21 affixPlGr21) )
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix r affixSgPS5 affixPlPS5)
- (mkFromAffix r affixSgPP5 affixPlPP5) (root +"ă") (mkAdjReg (r + "s"))
- (root + "ând") (root + "e") ;
-
-mkV77 : Str -> Verbe = \atinge ->
- let root = init atinge ;
- r = init root
- in
-verbAffixes atinge (mkFromAffix root affixSgGr21 affixPlGr21)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix r affixSgPS5 affixPlPS5)
- (mkFromAffix r affixSgPP5 affixPlPP5) (root +"ă") (mkAdjReg (r + "s"))
- (root + "ând") (root + "e") ;
-
-mkV78 : Str -> Verbe = \trage ->
- let root = init trage ;
- rad1 = genMut root "a" "ă" ;
- r = init root ;
- rad2 = genMut r "a" "ă"
- in
-verbAffixes trage (mkFromAffix root affixSgGr21 affixPlGr21)
- (mkFromAffix rad1 affixSgII affixPlII)
- (mkTab rad2 (r + "ei") (r + "seși") (rad2 + "e") (rad2 + "eră") affixPlPS5)
- (mkFromAffix rad2 affixSgPP5 affixPlPP5) (root +"ă") (mkAdjReg (r + "s"))
- (rad1 + "ând") (root + "e") ;
-
-mkV79 : Str -> Verbe = \decide ->
- let root = init decide ;
- r = init root
- in
-verbAffixes decide (changeP2 (mkStemPlReg root) (mkFromAffix root affixSgGr21 affixPlGr21))
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix r affixSgPS5 affixPlPS5)
- (mkFromAffix r affixSgPP5 affixPlPP5) (root +"ă") (mkAdjReg (r + "s"))
- (r + "zând") (root + "e") ;
-
-mkV80 : Str -> Verbe = \rade ->
- let root = init rade ;
- rad1 = genMut root "a" "ă" ;
- r = init root ;
- rad2 = genMut r "a" "ă"
- in
-verbAffixes rade (changeP2 (mkStemPlReg root) (mkFromAffix root affixSgGr21 affixPlGr21))
- (mkFromAffix rad1 affixSgII affixPlII)
- (mkTab rad2 (r + "ei") (r + "seși") (rad2 + "e") (rad2 + "eră") affixPlPS5)
- (mkFromAffix rad2 affixSgPP5 affixPlPP5) (root +"ă") (mkAdjReg (r + "s"))
- (rad2 + "zând") (root + "e") ;
-
-mkV81 : Str -> Verbe = \ucide ->
- let root = init ucide ;
- r = init root
- in
-verbAffixes ucide (changeP2 (mkStemPlReg root) (mkFromAffix root affixSgGr21 affixPlGr21))
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix r affixSgPS5 affixPlPS5)
- (mkFromAffix r affixSgPP5 affixPlPP5) (root +"ă") (mkAdjReg (r + "s"))
- (r + "gând") (root + "e") ;
-
-mkV82 : Str -> Verbe = \admite ->
- let root = init admite ;
- r = init root
- in
-verbAffixes admite (changeP2 (mkStemPlReg root) (mkFromAffix root affixSgGr21 affixPlGr21))
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix r affixSgPS5 affixPlPS5)
- (mkFromAffix r affixSgPP5 affixPlPP5) (root +"ă") (mkAdjReg (r + "s"))
- (r + "țând") (root + "e") ;
-
-mkV83 : Str -> Verbe = \alege ->
- let root = init alege ;
- r = init root ;
- newP = mkMutE root
- in
-verbAffixes alege (mkFromAffix root affixSgGr21 affixPlGr21)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix r affixSgPS5 affixPlPS5)
- (mkFromAffix r affixSgPP5 affixPlPP5) (newP +"ă") (mkAdjRegE (r + "s"))
- (root + "ând") (root + "e") ;
-
-mkV84 : Str -> Verbe = \sumete ->
- let root = init sumete ;
- r = init root ;
- newP = mkMutE root
- in
-verbAffixes sumete (changeP2 (mkStemPlReg root) (mkAffixSpec2 root newP affixSgGr21 affixPlGr21))
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix r affixSgPS5 affixPlPS5)
- (mkFromAffix r affixSgPP5 affixPlPP5) (newP +"ă") (mkAdjRegE (r + "s"))
- (r + "țând") (root + "e") ;
-
-mkV85 : Str -> Verbe = \scoate ->
- let root = init scoate ;
- r = mkStemMutOa root ;
- rad = init r ;
- rad1 = init root
- in
-verbAffixes scoate (mkTab root r (mkStemPlReg r) scoate r affixPlGr21)
- (mkFromAffix r affixSgII affixPlII)
- (mkTab rad1 (rad + "sei") (rad + "seși") (rad1 + "se") (rad1 + "eră") affixPlPS5)
- (mkFromAffix rad affixSgPP5 affixPlPP5) (root +"ă") (mkAdjRegO (rad + "s"))
- (rad + "țând") (root + "e") ;
-
-
-mkV86 : Str -> Verbe = \roade ->
- let root = init roade ;
- r = mkStemMutOa root ;
- rad = init r ;
- rad1 = init root
- in
-verbAffixes roade (mkTab root r (mkStemPlReg r) roade r affixPlGr21)
- (mkFromAffix r affixSgII affixPlII)
- (mkTab rad1 (rad + "sei") (rad + "seși") (rad1 + "se") (rad1 + "eră") affixPlPS5)
- (mkFromAffix rad affixSgPP5 affixPlPP5) (root +"ă") (mkAdjRegO (rad + "s"))
- (rad + "zând") (root + "e") ;
-
-
-mkV87 : Str -> Verbe = \purcede ->
- let root = init purcede ;
- r = init root ;
- newP = mkMutE root
- in
-verbAffixes purcede (changeP2 (mkStemPlReg root) (mkFromAffix root affixSgGr21 affixPlGr21))
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix r affixSgPS5 affixPlPS5)
- (mkFromAffix r affixSgPP5 affixPlPP5) (newP +"ă") (mkAdjRegE (r + "s"))
- (r + "zând") (root + "e") ;
-
-
-mkV88 : Str -> Verbe = \toarce ->
- let root = init toarce ;
- r = mkStemMutOa root ;
- rad = init r ;
- rad1 = init root
- in
-verbAffixes toarce (mkTab root r (mkStemPlReg r) toarce r affixPlGr21)
- (mkFromAffix r affixSgII affixPlII)
- (mkTab rad1 (rad + "sei") (rad + "seși") (rad1 + "se") (rad1 + "eră") affixPlPS5)
- (mkFromAffix rad affixSgPP5 affixPlPP5) (root +"ă") (mkAdjRegO (rad + "s"))
- (rad + "când") (root + "e") ;
-
---subGroup 2
-
-mkV89 : Str -> Verbe = \curge ->
- let root = init curge ;
- r = init root
- in
- verbAffixes curge (mkFromAffix root affixSgGr21 affixPlGr21)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix r affixSgPS5 affixPlPS5)
- (mkFromAffix r affixSgPP5 affixPlPP5) (root +"ă") (mkAdjReg (r + "s"))
- (root + "ând") (root + "i") ;
-
-mkV90 : Str -> Verbe = \merge ->
-let root = init merge ;
- r = init root ;
- newP = mkMutE root
- in
-verbAffixes merge (mkFromAffix root affixSgGr21 affixPlGr21)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix r affixSgPS5 affixPlPS5)
- (mkFromAffix r affixSgPP5 affixPlPP5) (newP +"ă") (mkAdjRegE (r + "s"))
- (root + "ând") (root + "i") ;
-
-mkV91 : Str -> Verbe = \ride ->
-let root = init ride ;
- r = init root
- in
-verbAffixes ride (changeP2 (mkStemPlReg root) (mkFromAffix root affixSgGr21 affixPlGr21))
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix r affixSgPS5 affixPlPS5)
- (mkFromAffix r affixSgPP5 affixPlPP5) (root +"ă") (mkAdjReg (r + "s"))
- (r + "zând") (mkStemPlReg root) ;
-
-
-mkV92 : Str -> Verbe = \ramane ->
-let root = init ramane ;
- r = init root ;
- r1 = genMut root "â" "ă" ;
- r2 = genMut root "â" "a"
- in
-verbAffixes ramane (changeP2 (r + "i") (mkFromAffix root affixSgGr21 affixPlGr21))
- (mkFromAffix root affixSgII affixPlII)
- (mkTab (init r2) (init r1 + "sei") (init r1 + "seși") (init r2 + "se") (init r2 + "seră") affixPlPS5)
- (mkFromAffix (init r1) affixSgPP5 affixPlPP5) (root +"ă") (mkAdjReg (init r2 + "s"))
- (root + "ând") (r + "i") ;
-
---subGroup 3 :
-
-mkV93 : Str -> Verbe = \zice ->
- let root = init zice ;
- r = init root
- in
-verbAffixes zice (mkFromAffix root affixSgGr21 affixPlGr21)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix r affixSgPS5 affixPlPS5)
- (mkFromAffix r affixSgPP5 affixPlPP5) (root +"ă") (mkAdjReg (r + "s"))
- (root + "ând") r ;
-
---subGroup 4 :
-
-mkV94 : Str -> Verbe = \rupe ->
- let root = init rupe
- in
-verbAffixes rupe (mkFromAffix root affixSgGr21 affixPlGr21)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS5 affixPlPS5)
- (mkFromAffix root affixSgPP5 affixPlPP5) (root +"ă") (mkAdjReg (root + "t"))
- (root + "ând") rupe ;
-
-mkV95 : Str -> Verbe = \frige ->
- let root = init frige ;
- r = init root + "p"
- in
-verbAffixes frige (mkFromAffix root affixSgGr21 affixPlGr21)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix r affixSgPS5 affixPlPS5)
- (mkFromAffix r affixSgPP5 affixPlPP5) (root +"ă") (mkAdjReg (r + "t"))
- (root + "ând") frige ;
-
-
-mkV96 : Str -> Verbe = \frange ->
- let root = init frange ;
- r = init root
- in
-verbAffixes frange (mkFromAffix root affixSgGr21 affixPlGr21)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix r affixSgPS5 affixPlPS5)
- (mkFromAffix r affixSgPP5 affixPlPP5) (root +"ă") (mkAdjReg (r + "t"))
- (root + "ând") frange ;
-
-mkV97 : Str -> Verbe = \sparge ->
- let root = init sparge ;
- r = init root ;
- r1 = genMut root "a" "ă";
- r2 = genMut r "a" "ă"
- in
-verbAffixes sparge (mkFromAffix root affixSgGr21 affixPlGr21)
- (mkFromAffix r1 affixSgII affixPlII)
- (mkTab r2 (init r1 + "sei") (init r1 + "seși") (r2 + "se") (r2 + "seră") affixPlPS5)
- (mkFromAffix r2 affixSgPP5 affixPlPP5) (root +"ă") (mkAdjReg (r + "t"))
- (r1 + "ând") sparge ;
-
-mkV98 : Str -> Verbe = \fierbe ->
- let root = init fierbe ;
- r = init root ;
- r1 = genMut root "e" "a"
- in
-verbAffixes fierbe (mkFromAffix root affixSgGr21 affixPlGr21)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix r affixSgPS5 affixPlPS5)
- (mkFromAffix r affixSgPP5 affixPlPP5) (r1 +"ă") (mkAdjRegE (r + "t"))
- (root + "ând") fierbe ;
-
-mkV99 : Str -> Verbe = \coace ->
- let root = init coace ;
- r = genMut2 root "oa" "o" ;
- r1 = init r + "p"
- in
-verbAffixes coace (mkTab root r1 (r1+"i") (root+"e") r1 affixPlGr21)
- (mkFromAffix r affixSgII affixPlII) (mkFromAffix r1 affixSgPS5 affixPlPS5)
- (mkFromAffix r1 affixSgPP5 affixPlPP5) (root +"ă") (mkAdjRegO (r1 + "t"))
- (r + "ând") coace ;
---subGroup 5 :
-
-mkV100 : Str -> Verbe = \cere ->
- let root = init cere ;
- r = mkMutE root
- in
-verbAffixes cere (mkFromAffix root affixSgGr21 affixPlGr21)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS3 affixPlPS3)
- (mkFromAffix r affixSgPP2 affixPlPP2) (r +"ă") (mkAdjReg (root + "ut"))
- (root + "ând") cere ;
-
-
-mkV101 : Str -> Verbe = \crede ->
- let root = init crede ;
- newP = init (mkStemPlReg root) ;
- r = mkMutE root
- in
-verbAffixes crede (changeP2 (newP + "i") (mkFromAffix root affixSgGr21 affixPlGr21))
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix newP affixSgPS3 affixPlPS3)
- (mkFromAffix newP affixSgPP2 affixPlPP2) (r +"ă") (mkAdjReg (newP + "ut"))
- (newP + "ând") crede ;
-
-mkV102 : Str -> Verbe = \tese ->
- let root = init tese ;
- newP = init (mkStemPlReg root) ;
- r = mkMutE root
- in
-verbAffixes tese (changeP2 (newP + "i") (mkFromAffix root affixSgGr21 affixPlGr21))
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS3 affixPlPS3)
- (mkFromAffix root affixSgPP2 affixPlPP2) (r +"ă") (mkAdjReg (root + "ut"))
- (root + "ând") tese ;
-
-mkV103 : Str -> Verbe = \creste ->
- let root = init creste ;
- r = Predef.tk 2 root + "sc" ;
- newC = mkMutE r
- in
-verbAffixes creste (changeP1 r (mkFromAffix root affixSgGr21 affixPlGr21))
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix r affixSgPS3 affixPlPS3)
- (mkFromAffix r affixSgPP2 affixPlPP2) (newC +"ă") (mkAdjReg (r + "ut"))
- (r + "ând") creste ;
-
-
-mkV104 : Str -> Verbe = \investe ->
- let root = init investe ;
- r = Predef.tk 2 root + "sc" ;
- newC = mkMutE r ;
- rad = genMut r "e" "ă"
- in
-verbAffixes investe (changeP1 r (mkFromAffix root affixSgGr21 affixPlGr21))
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix rad affixSgPS3 affixPlPS3)
- (mkFromAffix rad affixSgPP2 affixPlPP2) (newC +"ă") (mkAdjReg (rad + "ut"))
- (rad + "ând") investe ;
-
-
-mkV105 : Str -> Verbe = \bate ->
- let root = init bate ;
- r = genMut root "a" "ă"
- in
-verbAffixes bate (changeP2 (mkStemPlReg root) (mkFromAffix root affixSgGr21 affixPlGr21))
- (mkFromAffix r affixSgII affixPlII) (mkFromAffix r affixSgPS3 affixPlPS3)
- (mkFromAffix r affixSgPP2 affixPlPP2) (root +"ă") (mkAdjReg (r + "ut"))
- (r + "ând") bate ;
-
-mkV106 : Str -> Verbe = \naste ->
- let root = init naste ;
- r = Predef.tk 2 root + "sc" ;
- rad = genMut r "a" "ă"
- in
-verbAffixes naste (changeP1 r (mkFromAffix root affixSgGr21 affixPlGr21))
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix rad affixSgPS3 affixPlPS3)
- (mkFromAffix rad affixSgPP2 affixPlPP2) (r +"ă") (mkAdjReg (rad + "ut"))
- (rad + "ând") naste ;
-
---mkV107 : Str -> Verbe = \rage ->
-
-
-mkV108 : Str -> Verbe = \tine ->
-let root = init tine ;
- r = init root + "i"
- in
-verbAffixes tine (changeP2 r (mkFromAffix root affixSgGr21 affixPlGr21))
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS3 affixPlPS3)
- (mkFromAffix root affixSgPP2 affixPlPP2) (root +"ă") (mkAdjReg (root + "ut"))
- (root + "ând") tine ;
-
-mkV109 : Str -> Verbe = \cunoaste ->
-let root = init cunoaste ;
- newC = Predef.tk 2 root + "sc" ;
- r = mkStemMutOa newC ;
- rad = mkStemMutOa root
- in
-verbAffixes cunoaste (mkTab root r (mkStemPlReg r) cunoaste r affixPlGr21)
- (mkFromAffix rad affixSgII affixPlII) (mkFromAffix r affixSgPS3 affixPlPS3)
- (mkFromAffix r affixSgPP2 affixPlPP2) (newC +"ă") (mkAdjReg (r + "ut"))
- (r + "ând") cunoaste ;
-
-mkV110 : Str -> Verbe = \coase ->
-let root = init coase ;
- r = mkStemMutOa root ;
- rad = genMut2 root "oa" "u"
- in
-verbAffixes coase (mkTab root r (mkStemPlReg r) coase r affixPlGr21)
- (mkFromAffix r affixSgII affixPlII) (mkFromAffix rad affixSgPS3 affixPlPS3)
- (mkFromAffix rad affixSgPP2 affixPlPP2) (root +"ă") (mkAdjReg (rad + "ut"))
- (r + "ând") coase ;
-
-mkV111 : Str -> Verbe = \divide ->
-let root = init divide ;
- newP = mkStemPlReg root
- in
-verbAffixes divide (changeP2 newP (mkFromAffix root affixSgGr21 affixPlGr21))
- empty empty empty (root +"ă") (variants{})
- (root + "ând") divide ;
-
-mkV112 : Str -> Verbe = \vinde ->
-let root = init vinde ;
- r = genMut root "i" "â" ;
- in
-verbAffixes vinde (mkTab root r (mkStemPlReg root) vinde r affixPlGr21)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix r affixSgPS3 affixPlPS3)
- (mkFromAffix r affixSgPP2 affixPlPP2) (root +"ă") (mkAdjReg (r + "ut"))
- (init r + "zând") vinde ;
-
-mkV113 : Str -> Verbe = \pierde ->
-let root = init pierde ;
- r = mkMutE root ;
- rad = init (mkStemPlReg root)
- in
-verbAffixes pierde (changeP2 (rad + "i") (mkFromAffix root affixSgGr21 affixPlGr21))
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS3 affixPlPS3)
- (mkFromAffix root affixSgPP2 affixPlPP2) (r +"ă") (mkAdjReg (root + "ut"))
- (rad + "ând") pierde ;
-
---mkV114 : Str -> Verbe = \exige ->
-
-
---subGroup 6
-
-mkV115 : Str -> Verbe = \face ->
-let root = init face ;
- r = genMut root "a" "ă"
- in
-verbAffixes face (mkFromAffix root affixSgGr21 affixPlGr21)
- (mkFromAffix r affixSgII affixPlII) (mkFromAffix r affixSgPS3 affixPlPS3)
- (mkFromAffix r affixSgPP2 affixPlPP2) (root +"ă") (mkAdjReg (r + "ut"))
- (r + "ând") (init r) ;
---subGroup 7
-mkV116 : Str -> Verbe = \umple ->
-let root = init umple
- in
-verbAffixes umple (mkFromAffix root affixSgGr31 affixPlGr31)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS3 affixPlPS3)
- (mkFromAffix root affixSgPP2 affixPlPP2) (root +"e") (mkAdjReg (root + "ut"))
- (root + "ând") umple ;
-
---subGroup 8
-mkV117 : Str -> Verbe = \scrie ->
-let root = init scrie
- in
-verbAffixes scrie (mkFromAffix root affixSgGr31 affixPlGr31)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS5 affixPlPS5)
- (mkFromAffix root affixSgPP5 affixPlPP5) (root +"e") (mkAdjReg (root + "s"))
- (root + "ind") scrie ;
-
-------------------------------------
----GROUP 4 -- verbs ending in -i/-î
-------------------------------------
---------------
---Present
---------------
-
---subGroups 1-2
-affixSgGr41 : Affixe = afixe "esc" "ești" "ește" ;
-affixPlGr41 : Affixe = afixe "im" "iți" "esc" ;
-
---subGroup 3
-
-affixSgGr43 : Affixe = afixe "iesc" "iești" "iește" ;
-affixPlGr43 : Affixe = afixe "im" "iți" "iesc" ;
-
---subGroup 4
-
-affixSgGr44 : Affixe = afixe "iu" "ii" "ie" ;
-affixPlGr44 : Affixe = afixe "im" "iți" "iu" ;
-
---subGroup 5
-
-affixSgGr45 : Affixe = afixe "i" "i" "ie" ;
-affixPlGr45 : Affixe = afixe "im" "iți" "ie" ;
-
---subGroups 6 -8
-
-affixSgGr468 : Affixe = afixe "" "i" "e" ;
-affixPlGr468 : Affixe = afixe "im" "iți" "" ;
-
---subGroup 9
-
-affixSgGr49 : Affixe = afixe "" "i" "ă" ;
-affixPlGr49 : Affixe = afixe "im" "iți" "ă" ;
-
---subGroup 10
-
-affixSgGr410 : Affixe = afixe "" "i" "e" ;
-affixPlGr410 : Affixe = afixe "im" "iți" "e" ;
-
---subGroup 11
-
-affixSgGr411 : Affixe = afixe "" "" "ie" ;
-affixPlGr411 : Affixe = afixe "" "" "ie" ;
-
---subGroup 12
-
-affixSgGr412 : Affixe = afixe "ăsc" "ăști" "ăște" ;
-affixPlGr412 : Affixe = afixe "âm" "âți" "ăsc" ;
-
---subGroup 13
-
-affixSgGr413 : Affixe = afixe "" "i" "ă" ;
-affixPlGr413 : Affixe = afixe "âm" "âți" "ă" ;
-
-
--------------------------
---Imperfect
--------------------------
-
---subGroup 1,6-10
---affixSgII + affixPlII
-
---subGroup 2, 12-13
---affixSgI + affixPlI
-
---subGroups 3-5
---affixSgI2 + affixPlI2
-
---subGroup 11
-affixSgI4 : Affixe = afixe "" "" "ia" ;
-affixPlI4 : Affixe = afixe "" "" "iau" ;
-
-------------------------
---Past Simple
-------------------------
---subGroups 1-3,5-10
-affixSgPS6 : Affixe = afixe "ii" "iși" "i" ;
-affixPlPS6 : Affixe = afixe "irăm" "irăți" "iră" ;
-
---subGroup 4
-affixSgPS7 : Affixe = afixe "iui" "iuși" "iu" ;
-affixPlPS7 : Affixe = afixe "iurăm" "iurăți" "iură" ;
-
---subGroup 11
-affixSgPS8 : Affixe = afixe "" "" "i" ;
-affixPlPS8 : Affixe = afixe "" "" "iră" ;
-
---subGroup 12-13
-affixSgPS9 : Affixe = afixe "âi" "âși" "î" ;
-affixPlPS9 : Affixe = afixe "ârăm" "ârăți" "âră" ;
-
------------------------
---Past Perfect
------------------------
---subGroups 1-3,5 + 10
-affixSgPP6 : Affixe = afixe "isem" "iseși" "ise" ;
-affixPlPP6 : Affixe = afixe "iserăm" "iserăți" "iseră" ;
-
---subGroup 4
-
-affixSgPP7 : Affixe = afixe "iusem" "iuseși" "iuse" ;
-affixPlPP7 : Affixe = afixe "iuserăm" "iuserăți" "iuseră" ;
-
---subGroup 11
-affixSgPP8 : Affixe = afixe "" "" "ise" ;
-affixPlPP8 : Affixe = afixe "" "" "iseră" ;
-
---subGroup 12-13
-affixSgPP9 : Affixe = afixe "âsem" "âseși" "âse" ;
-affixPlPP9 : Affixe = afixe "âserăm" "âserăți" "âseră" ;
-
-
---subGroup 1
-
-
-
-mkV119 : Str -> Verbe = \povesti ->
- let root = init povesti
- in
-verbAffixes povesti (mkFromAffix root affixSgGr41 affixPlGr41)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS6 affixPlPS6)
- (mkFromAffix root affixSgPP6 affixPlPP6) (root +"ească") (mkAdjReg (root + "it"))
- (root + "ind") (root + "ește") ;
---subGroup 2
-mkV120 : Str -> Verbe = \pustii ->
-let root = init pustii
-in
-verbAffixes pustii (mkFromAffix root affixSgGr41 affixPlGr41)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS6 affixPlPS6)
- (mkFromAffix root affixSgPP6 affixPlPP6) (root +"ască") (mkAdjReg (root + "it"))
- (root + "ind") (root + "ește") ;
---subGroup 3
-mkV121 : Str -> Verbe = \locui ->
-let root = init locui
-in
-verbAffixes locui (mkFromAffix root affixSgGr43 affixPlGr44)
- (mkFromAffix root affixSgI2 affixPlI2) (mkFromAffix root affixSgPS6 affixPlPS6)
- (mkFromAffix root affixSgPP6 affixPlPP6) (root +"iască") (mkAdjReg (root + "it"))
- (root + "ind") (root + "ește") ;
---subGroup 4
-mkV122 : Str -> Verbe = \sti ->
-let root = init sti
-in
-verbAffixes sti (mkFromAffix root affixSgGr44 affixPlGr44)
- (mkFromAffix root affixSgI2 affixPlI2) (mkFromAffix root affixSgPS7 affixPlPS7)
- (mkFromAffix root affixSgPP7 affixPlPP7) (root +"ie") (mkAdjReg (root + "iut"))
- (root + "iind") (variants{}) ;
---subGroup 5
-mkV123 : Str -> Verbe = \sui ->
-let root = init sui
-in
-verbAffixes sui (mkFromAffix root affixSgGr45 affixPlGr45)
- (mkFromAffix root affixSgI2 affixPlI2) (mkFromAffix root affixSgPS6 affixPlPS6)
- (mkFromAffix root affixSgPP6 affixPlPP6) (root +"ie") (mkAdjReg (root + "it"))
- (root + "ind") (sui+"e") ;
-
-mkV124 : Str -> Verbe = \indoi ->
-let root = init indoi ;
- r = init (mkMutO indoi)
- in
-verbAffixes indoi (mkAffixSpec1 root r affixSgGr45 affixPlGr45)
- (mkFromAffix root affixSgI2 affixPlI2) (mkFromAffix root affixSgPS6 affixPlPS6)
- (mkFromAffix root affixSgPP6 affixPlPP6) (r +"ie") (mkAdjReg (root + "it"))
- (root + "ind") (r+"ie") ;
-
-mkV125 : Str -> Verbe = \jupui ->
-let root = init jupui ;
- r1 = genMut jupui "u" "o" ;
- r2 = genMut jupui "u" "oa"
-in
-verbAffixes jupui (mkTab root r1 r1 (r2+"e") (r2+"e") affixPlGr45)
- (mkFromAffix root affixSgI2 affixPlI2) (mkFromAffix root affixSgPS6 affixPlPS6)
- (mkFromAffix root affixSgPP6 affixPlPP6) (r2 +"e") (mkAdjReg (root + "it"))
- (root + "ind") (r2+"e") ;
-
---subGroup 6
-mkV126 : Str -> Verbe = \fugi ->
-let root = init fugi
-in
-verbAffixes fugi (mkFromAffix root affixSgGr468 affixPlGr468)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS6 affixPlPS6)
- (mkFromAffix root affixSgPP6 affixPlPP6) (root +"ă") (mkAdjReg (root + "it"))
- (root + "ind") fugi ;
-
-mkV127 : Str -> Verbe = \auzi ->
-let root = init auzi ;
- r = init root + "d"
- in
-verbAffixes auzi (mkTab root r auzi (r+"e") r affixPlGr468)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS6 affixPlPS6)
- (mkFromAffix root affixSgPP6 affixPlPP6) (r +"ă") (mkAdjReg (root + "it"))
- (root + "ind") auzi ;
-
-mkV128 : Str -> Verbe = \dormi ->
-let root = init dormi ;
- r = mkMutO root
- in
-verbAffixes dormi (mkAffixSpec2 root r affixSgGr468 affixPlGr468)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS6 affixPlPS6)
- (mkFromAffix root affixSgPP6 affixPlPP6) (r +"ă") (mkAdjReg (root + "it"))
- (root + "ind") dormi ;
-
-mkV129 : Str -> Verbe = \muri ->
-let root = init muri ;
- r1 = modU root ;
- r2 = mkStemMutO r1
- in
-verbAffixes muri (mkTab root r1 (r1 + "i") (r2 + "e") r1 affixPlGr468)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS6 affixPlPS6)
- (mkFromAffix root affixSgPP6 affixPlPP6) (r2 +"ă") (mkAdjReg (root + "it"))
- (root + "ind") (r1 + "i") ;
---subGroup 7
-mkV130 : Str -> Verbe = \simti ->
-let root = init simti ;
- r = init root + "t"
- in
-verbAffixes simti (mkTab root r (mkStemPlReg r) (r+"e") r affixPlGr468)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS6 affixPlPS6)
- (mkFromAffix root affixSgPP6 affixPlPP6) (r +"ă") (mkAdjReg (root + "it"))
- (root + "ind") (r+"e") ;
-
-mkV131 : Str -> Verbe = \sorbi ->
-let root = init sorbi ;
- r = mkMutO root
- in
-verbAffixes sorbi (mkAffixSpec2 root r affixSgGr468 affixPlGr468)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS6 affixPlPS6)
- (mkFromAffix root affixSgPP6 affixPlPP6) (r +"ă") (mkAdjReg (root + "it"))
- (root + "ind") (r + "e") ;
-
-mkV132 : Str -> Verbe = \slobozi ->
-let root = init slobozi ;
- rad = init root + "d" ;
- r = mkMutO rad
- in
-verbAffixes slobozi (mkTab root rad root (r+"e") rad affixPlGr468)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS6 affixPlPS6)
- (mkFromAffix root affixSgPP6 affixPlPP6) (r +"ă") (mkAdjReg (root + "it"))
- (root + "ind") (r+"e") ;
-
-mkV133 : Str -> Verbe = \mirosi ->
-let root = init mirosi ;
- r = mkMutO root
- in
-verbAffixes mirosi (mkAffixSpec2 root r affixSgGr468 affixPlGr468)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS6 affixPlPS6)
- (mkFromAffix root affixSgPP6 affixPlPP6) (r +"ă") (mkAdjReg (root + "it"))
- (root + "ind") (r+"e") ;
-
-mkV134 : Str -> Verbe = \imparti ->
-let root = init imparti ;
- rad = init root + "t" ;
- r = genMut rad "ă" "a"
- in
-verbAffixes imparti (mkFromAffixes1 r root affixSgGr468 affixPlGr468)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS6 affixPlPS6)
- (mkFromAffix root affixSgPP6 affixPlPP6) (r +"ă") (mkAdjReg (root + "it"))
- (root + "ind") (r+"e") ;
-
-mkV118 : Str -> Verbe = \sari ->
-let root = init sari ;
- r = genMut root "ă" "a"
- in
-verbAffixes sari (mkFromAffixes2 r root affixSgGr468 affixPlGr468)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS6 affixPlPS6)
- (mkFromAffix root affixSgPP6 affixPlPP6) (r +"ă") (mkAdjReg (root + "it"))
- (root + "ind") (r+"i") ;
-
-
-mkV135 : Str -> Verbe = \repezi ->
-let root = init repezi ;
- rad = init root + "d" ;
- r = mkMutE rad
- in
-verbAffixes repezi (mkTab root rad repezi (rad + "e") r affixPlGr468)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS6 affixPlPS6)
- (mkFromAffix root affixSgPP6 affixPlPP6) (r +"ă") (mkAdjReg (root + "it"))
- (root + "ind") (rad + "e") ;
-
---subGroup 8
-mkV136 : Str -> Verbe = \veni ->
-let root = init veni ;
- rad = init root ;
- r = genMut root "e" "i"
- in
-verbAffixes veni (mkTab root r (init r + "i") (r + "e") r affixPlGr468)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS6 affixPlPS6)
- (mkFromAffix root affixSgPP6 affixPlPP6) (r +"ă") (mkAdjReg (root + "it"))
- (root + "ind") (r + "o") ;
---subGroup 9
-mkV137 : Str -> Verbe = \oferi ->
-let root = init oferi
-in
-verbAffixes oferi (mkFromAffix root affixSgGr49 affixPlGr49)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS6 affixPlPS6)
- (mkFromAffix root affixSgPP6 affixPlPP6) (root +"e") (mkAdjReg (root + "it"))
- (root + "ind") (root + "ă") ;
-
-mkV138 : Str -> Verbe = \acoperi ->
-let root = init acoperi;
- r = genMut root "e" "ă"
- in
-verbAffixes acoperi (mkTab root r acoperi (root + "ă") (root + "ă") affixPlGr49)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS6 affixPlPS6)
- (mkFromAffix root affixSgPP6 affixPlPP6) (root +"e") (mkAdjReg (root + "it"))
- (root + "ind") (root + "ă") ;
-
---subGroup 10
-mkV139 : Str -> Verbe = \bombani ->
-let root = init bombani
-in
-verbAffixes bombani (mkFromAffix root affixSgGr410 affixPlGr410)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS6 affixPlPS6)
- (mkFromAffix root affixSgPP6 affixPlPP6) (root +"e") (mkAdjReg (root + "it"))
- (root + "ind") (root + "e") ;
-
---subGroup 11 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-mkV140 : Str -> Verbe = \trebui ->
-let root = init trebui
-in
-verbAffixes trebui (mkFromAffix root affixSgGr411 affixPlGr411)
- (mkFromAffix root affixSgI4 affixPlI4) (mkFromAffix root affixSgPS8 affixPlPS8)
- (mkFromAffix root affixSgPP8 affixPlPP8) (root +"iască") (mkAdjReg (root + "it"))
- (root + "ind") nonExist ;
-
---subGroup 12
-mkV141 : Str -> Verbe = \uri ->
-let root = init uri
-in
-verbAffixes uri (mkFromAffix root affixSgGr412 affixPlGr412)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS9 affixPlPS9)
- (mkFromAffix root affixSgPP9 affixPlPP9) (root +"ască") (mkAdjReg (root + "ât"))
- (root + "ând") (root + "ăște") ;
---subGroup 13
-
-mkV142 : Str -> Verbe = \vari ->
-let root = init vari
-in
-verbAffixes vari (mkFromAffix root affixSgGr413 affixPlGr413)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS9 affixPlPS9)
- (mkFromAffix root affixSgPP9 affixPlPP9) (root +"e") (mkAdjReg (root + "ât"))
- (root + "ând") (root + "ă") ;
-
-mkV143 : Str -> Verbe = \cobori ->
-let root = init cobori ;
- r = mkMutO root
- in
-verbAffixes cobori (mkAffixSpec1 root r affixSgGr413 affixPlGr413)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS9 affixPlPS9)
- (mkFromAffix root affixSgPP9 affixPlPP9) (r +"e") (mkAdjReg (root + "ât"))
- (root + "ând") (r + "ă") ;
-
-mkV144 : Str -> Verbe = \tabari ->
-let root = init tabari ;
- rad = modAFirst root ;
- r = mkStemPlReg rad
- in
-verbAffixes tabari (mkTab root rad r (rad + "ă") (rad + "ă") affixPlGr413)
- (mkFromAffix root affixSgI affixPlI) (mkFromAffix root affixSgPS9 affixPlPS9)
- (mkFromAffix root affixSgPP9 affixPlPP9) (init r +"e") (mkAdjReg (root + "ât"))
- (root + "ând") (rad + "ă") ;
-
-
----------------------------------------
---Special verbs :
-
---to have :
-
-mkV1 : Str -> Verbe = \avea ->
-let root = Predef.tk 2 avea
- in
-verbAffixes avea (mkTab root "am" "ai" "are" "au" affixPlGr21)
- (mkFromAffix root affixSgII affixPlII) (mkFromAffix root affixSgPS3 affixPlPS3)
- (mkFromAffix root affixSgPP2 affixPlPP2) "aibă" (mkAdjReg (root + "ut"))
- (root + "ând") "ai" ;
-
---to be :
-{-
-mkV2 : Str -> Verbe = \fi ->
-let root = init fi ;
- pres : Number => Person => Str = table {Sg => table {P1 => "sunt"; P2 => "ești"; P3 => "este"};
- Pl => table {P1 => "suntem"; P2 => "sunteți"; P3 => "sunt"}
- };
- ps : Number => Person => Str = table {Sg => table {P1 => "fusei"; P2 => "fuseși"; P3 => "fuse"};
- Pl => table {P1 => "fuserăm"; P2 => "fuserăți"; P3 => "fuseră"}
- };
- pp : Number => Person => Str = table {Sg => table {P1 => "fusesem"; P2 => "fuseseși"; P3 => "fusese"};
- Pl => table {P1 => "fuseserăm"; P2 => "fuseserăți"; P3 => "fuseseră"}
- }
- in
- verbAffixes fi pres (mkFromAffix "er" affixSgI affixPlI) ps pp
-
--}
-} ; \ No newline at end of file