--# -path=.:../abstract:../romance:../common:prelude concrete StructuralRon of Structural = CatRon ** open MorphoRon, ParadigmsRon, BeschRon, Prelude,(X = ConstructX) in { flags optimize=all ; coding=utf8 ; lin above_Prep = mkPrep "deasupra" Ge ; after_Prep = mkPrep "după" Ac True; all_Predet = { s = \\a => table { AGenDat => aagrForms nonExist nonExist "tuturor" "tuturor" ! a ; _ => aagrForms "tot" "toată" "toţi" "toate" ! a }; c = No } ; almost_AdA, almost_AdN = ss "aproape" ; always_AdV = ss "mereu" ; although_Subj = ss "deşi" ; and_Conj = {s1 = [] ; s2 = "şi" ; n = Pl} ; because_Subj = ss "deoarece" ; before_Prep = mkPrep "înaintea" Ge ; behind_Prep = mkPrep "înapoia" Ge ; between_Prep = mkPrep "între" Ac True ; both7and_DConj = {s1,s2 = "şi" ; n = Pl} ; but_PConj = ss "dar" ; by8agent_Prep = mkPrep "de către" Ac True; by8means_Prep = mkPrep "de" Ac True; can8know_VV = mkVV (v_besch68 "putea") ; can_VV = mkVV (v_besch68 "putea") ; during_Prep = mkPrep "în timpul" Ge ; either7or_DConj = {s1,s2 = "sau" ; n = Pl} ; everybody_NP = mkNP "toţi" "tuturor" Pl Masc True; -- form for Fem needed also ! every_Det = mkDet "orice" "orice" "oricărui" "oricărei" "orice" "orice" "oricăruia" "oricăreia" Sg ; everything_NP = mkNP "totul" nonExist Sg Masc False; everywhere_Adv = ss "pretutindeni" ; few_Det = mkDet "câţiva" "câteva" "câtorva" "câtorva" Pl ; for_Prep = mkPrep "pentru" Ac True; from_Prep = mkPrep "de la" Ac True; he_Pron = mkPronoun "el" "el" "lui" "lui" [] "său" "sa" "săi" "sale" Masc Sg P3 ; here7from_Adv = ss "de aici" ; here7to_Adv = ss "până aici" ; here_Adv = ss "aici" ; how_IAdv = ss "cum" ; how8much_IAdv = ss "cât" ; ---- ? AR how8many_IDet = {s = \\g,c => case of { => "câtor"; => "câte" ; => "câtor" ; _ => "câţi" }; n = Pl } ; if_Subj = ss "dacă" ; in8front_Prep = mkPrep "în faţa" Ge ; i_Pron = mkPronoun "eu" "mine" "mie" [] [] "meu" "mea" "mei" "mele" Masc Sg P1 ; in_Prep = mkPrep "în" Ac True; it_Pron = mkPronoun "" "el" "lui" "lui" [] "său" "sa" "săi" "sale" Masc Sg P3 ; have_V2 = dirV2 (v_have) ; less_CAdv = {s = "mai puţin" ; sNum = ""; p = conjThan ; lock_CAdv = <> } ; many_Det = mkDet "mulţi" "multe" "multor" "multor" "mulţi" "multe" "multora" "multora" Pl; more_CAdv = {s = "mai" ; sNum = "mult" ; p =conjThan ; lock_CAdv = <>}; most_Predet = { s = \\a => table { AGenDat => "marii parţi a" ; ANomAcc => "marea parte a"; AVoc => "mare parte a" }; c = Ge }; much_Det = mkDet "mult" "multă" nonExist nonExist Sg ; must_VV = mkVV (v_besch140 "trebui") ; no_Utt = ss "nu" ; on_Prep = mkPrep "pe" Ac True; only_Predet = {s = \\_,c => "doar" ; c = No} ; or_Conj = {s1 = [] ; s2 = "sau" ; n = Sg} ; otherwise_PConj = ss "altfel" ; part_Prep = mkPrep "din" Ac True; please_Voc = ss ["vă rog"] ; possess_Prep = mkPrep "" Ge ; -- required forms for Fem Sg, Masc Pl and Fem Pl - maybe variants quite_Adv = ss "chiar" ; she_Pron = mkPronoun "ea" "ea" "ei" "ei" [] "său" "sa" "săi" "sale" Fem Sg P3 ; so_AdA = ss "aşa" ; somebody_NP = mkNP "cineva" "cuiva" Sg Masc True; somePl_Det = mkDet "unii" "unele" "unor" "unor" "unii" "unele" "unora" "unora" Pl ; someSg_Det = mkDet "nişte" "nişte" "la nişte" "la nişte" Sg ; something_NP = mkNP "ceva" "a ceva" Sg Masc False; somewhere_Adv = ss ["undeva"] ; --- ne - pas that_Quant = { s = \\_ => table { Sg => table {Masc => table { AGenDat => "acelui"; _ => "acel" }; Fem => table {AGenDat => "acelei"; _ => "acea" } }; Pl => table { Masc => table {AGenDat => "acelor"; _ => "acei" }; Fem => table {AGenDat => "acelor"; _ => "acele" } } } ; sp = table { Sg => table {Masc => table { AGenDat => "aceluia"; _ => "acela" }; Fem => table {AGenDat => "aceleia"; _ => "aceea" } }; Pl => table {Masc => table {AGenDat => "acelora"; _ => "aceia" }; Fem => table {AGenDat => "acelora"; _ => "acelea" } } }; isDef = False ; isPost = False ; hasRef = False }; that_Subj = ss "că" ; there7from_Adv = ss ["de acolo"] ; there7to_Adv = ss "până acolo" ; there_Adv = ss "acolo" ; therefore_PConj = ss "astfel" ; --these_NP = mkNP "aceştia" "acestora" Masc Pl True; --form for Fem needed also ! they_Pron = mkPronoun "ei" "ei" "lor" "lor" [] "lor" "lor" "lor" "lor" Masc Pl P3 ; this_Quant = { s = \\_ => table { Sg => table {Masc => table { AGenDat => "acestui"; _ => "acest" }; Fem => table {AGenDat => "acestei"; _ => "această" } }; Pl => table { Masc => table {AGenDat => "acestor"; _ => "aceşti" }; Fem => table {AGenDat => "acestor"; _ => "aceste" } } } ; sp = table { Sg => table {Masc => table { AGenDat => "acestuia"; _ => "acesta" }; Fem => table {AGenDat => "acesteia"; _ => "aceasta" } }; Pl => table {Masc => table {AGenDat => "acestora"; _ => "aceştia" }; Fem => table {AGenDat => "acestora"; _ => "acestea" } } } ; isDef = False ; isPost = False ; hasRef = False }; through_Prep = mkPrep "prin" Ac True; too_AdA = ss "prea" ; to_Prep = mkPrep "la" Ac True; under_Prep = mkPrep "sub" Ac True; very_AdA = ss "foarte" ; want_VV = mkVV (v_besch74 "vrea") ; we_Pron = mkPronoun "noi" "noi" "nouă" [] [] "nostru" "noastră" "noştri" "noastre" Masc Pl P1 ; whatSg_IP = {s = \\c => case c of { Da => "căruia" ; Ge => "a căruia" ; _ => "ce" }; a = aagr Masc Sg; hasRef = False }; whatPl_IP = {s = \\c => case c of { Da => "cărora" ; Ge => "a cărora" ; _ => "ce" }; a = aagr Masc Pl; hasRef = False }; when_IAdv = ss "când" ; when_Subj = ss "când" ; where_IAdv = ss "unde" ; which_IQuant = {s = table { Sg => table {Masc => table { AGenDat => "cărui"; _ => "care" }; Fem => table {AGenDat => "cărei"; _ => "care" } }; Pl => \\g => table {AGenDat => "căror"; _ => "care" } }; isDef = False }; whoPl_IP = {s = \\c => case c of { Da => "cui" ; Ge => "a cui" ; _ => "cine" }; a = aagr Masc Pl; hasRef = True }; whoSg_IP = {s = \\c => case c of { Da => "cui" ; Ge => "a cui" ; _ => "cine" }; a = aagr Masc Sg; hasRef = True }; why_IAdv = ss "de ce" ; without_Prep = mkPrep "fără" Ac True; with_Prep = mkPrep "cu" Ac ; yes_Utt = ss "da" ; youSg_Pron = mkPronoun "tu" "tine" "ţie" [] "tu" "tău" "ta" "tăi" "tale" Masc Sg P2 ; youPl_Pron = mkPronoun "voi" "voi" "vouă" [] "voi" "vostru" "voastră" "voştri" "voastre" Masc Pl P2 ; youPol_Pron = let dvs = mkPronoun "dumneavoastră" "dumneavoastră" "dumneavoastră" [] "dumneavoastră" "dumneavoastră" "dumneavoastră" "dumneavoastră" "dumneavoastră" Masc Pl P2 in {s = dvs.s; c1 = dvs.c1; c2 = dvs.c2; a = dvs.a; isPol = True; poss = dvs.poss} ; not_Predet = {s = \\a,c => "nu" ; c = No} ; no_Quant = { s = \\_ => table { Sg => table {Masc => table { AGenDat => "niciunui"; _ => "niciun" }; Fem => table {AGenDat => "niciunei"; _ => "nicio" } }; Pl => table { Masc => table {AGenDat => "niciunor"; _ => "niciunii" }; Fem => table {AGenDat => "niciunor"; _ => "niciunele" } } } ; sp = table { Sg => table {Masc => table { AGenDat => "nimănui"; _ => "nimeni" }; Fem => table {AGenDat => "nimănui"; _ => "nimeni" } }; Pl => table {Masc => table {AGenDat => "niciunora"; _ => "niciunii" }; Fem => table {AGenDat => "niciunora"; _ => "niciunele" } } } ; isDef = False ; isPost = False ; hasRef = False }; if_then_Conj = {s1 = "dacă" ; s2 = "atunci" ; n = Sg ; lock_Conj = <>} ; nobody_NP = mkNP "nimeni" "nimănui" Sg Masc True; nothing_NP = mkNP "nimic" "nimicului" Sg Masc False; at_least_AdN = ss "cel puţin" ; at_most_AdN = ss "cel mult" ; except_Prep = mkPrep "cu excepţia" Ge ; as_CAdv = { s = "la fel de"; sNum = "mult"; p = "ca" ; lock_CAdv = <> }; }