a816b119e7
Backfill ELP vocabulary from FULL lexicons (UniMorph + kaikki.org Wiktionary, real gender/inflections) for 8 languages, 812,894 entries total, in the proven seed-fn format matching the 18 ancient vocabularies: es 72,032 | fr 130,517 | de 144,692 | la 22,590 | it 193,675 | pt 115,772 | ro 86,504 | ca 47,112 4 of these (es fr de la) backfill ELP languages that had morphology but no vocabulary; it/pt/ro/ca are new Romance (need morphology-*.el ports next). Adds lang_profile_* for all 8 + reproducible generators under tests/lang-gen. Vocab is runtime seed data (not in build manifest, like the 18 ancients); seed-fn format validated to compile to C via elc.
72 lines
4.7 KiB
EmacsLisp
72 lines
4.7 KiB
EmacsLisp
;;; lang_profile_ro.el — Romanian language profile for ELP.
|
|
;;; Romanian is the BIG typological delta of the Romance family. The verb/clause
|
|
;;; engine and the SACRED negation contract mirror the ES/PT/IT core, but the
|
|
;;; NOMINAL system is genuinely new: a SUFFIXED definite article, preserved CASE,
|
|
;;; a NEUTER gender, and a VOCATIVE. Those flags mark where the shared engine was
|
|
;;; extended rather than reused.
|
|
|
|
(lang_profile_ro
|
|
(language "Romanian")
|
|
(iso639 "ro")
|
|
(family "Romance (Eastern / Balkan)")
|
|
|
|
;; ── core typology flags ────────────────────────────────────────────────
|
|
(pro-drop yes) ; null subjects default; overt pronoun = emphatic
|
|
(obligatory-subject no)
|
|
(grammatical-gender yes) ; m / f / NEUTER (n)
|
|
(neuter-gender yes) ; << ROMANIAN-SPECIFIC: masc-agreeing SG, fem-agreeing PL
|
|
; (un tren nou / două trenuri noi)
|
|
(do-support no)
|
|
(subject-aux-inversion no) ; yes/no Q = declarative order + '?'
|
|
(question-punct plain) ; ? and ! only
|
|
|
|
;; ── SUFFIXED DEFINITE ARTICLE (the headline engine extension) ───────────
|
|
(definite-article suffixed) ; << UNIQUE IN ROMANCE: enclitic on the noun
|
|
(definite-forms ((m/n sg "-ul / -le / -l : om->omul, câine->câinele, codru->codrul")
|
|
(f sg "-a / -ea / -ua : casă->casa, carte->cartea, stea->steaua")
|
|
(m pl "-i : oameni->oamenii")
|
|
(f/n pl "-le : case->casele, trenuri->trenurile")))
|
|
(article-host ((no-prenom-adj noun) ; omul bun
|
|
(prenom-adj adjective))) ; bunul om (adj carries the article)
|
|
(indefinite-article ((m/n "un") (f "o") (pl "niște") (gen/dat-pl "unor")))
|
|
|
|
;; ── CASE (preserved; NOM/ACC vs GEN/DAT) ────────────────────────────────
|
|
(case (nom/acc gen/dat vocative)) ; << ROMANIAN-SPECIFIC
|
|
(case-syncretism "nom=acc ; gen=dat")
|
|
(genitive-marking "gen/dat definite: -lui (m/n), -ei/-i (f), -lor (pl)")
|
|
(genitival-article ((m sg "al") (f sg "a") (m pl "ai") (f/n pl "ale"))) ; o carte a lui
|
|
(possession "definite-head + gen/dat possessor: casa băiatului")
|
|
(vocative ((m sg "-ule/-e : omule, băiete") (f sg "-o : Mario, fato")
|
|
(pl "-lor")))
|
|
|
|
;; ── verb / aspect system ────────────────────────────────────────────────
|
|
(finite-agreement "person+number (6-way)")
|
|
(tenses (prezent imperfect perfect-simplu conjunctiv-prezent
|
|
imperativ (periphrastic: perfect-compus viitor conditional)))
|
|
(compound-past "perfectul compus = a-avea-clitic + INVARIABLE participle")
|
|
(perfect-aux "a avea (am/ai/a/am/ați/au) — ONE auxiliary for ALL verbs")
|
|
(perfect-aux-split no) ; << SIMPLER than Italian: no essere/avere selection
|
|
(participle-agreement none) ; invariable in the perfect compus (agrees only as
|
|
; an adjective / in the passive)
|
|
(future "voi/vei/va/vom/veți/vor + infinitive (viitor literar)")
|
|
(conditional "aș/ai/ar/am/ați/ar + infinitive")
|
|
(subjunctive "conjunctiv: particle 'să' + subjunctive present")
|
|
(modal-complement "modal + să + subjunctive (vreau să merg, poți să ajuți)")
|
|
(copula "a fi")
|
|
(passive "a fi + participle (participle AGREES like an adjective)")
|
|
(comparative "mai / mai puțin ADJ decât")
|
|
|
|
;; ── clitic system (partial — see honest gaps) ───────────────────────────
|
|
(clitics yes)
|
|
(clitic-set ((acc mă te îl o ne vă îi le) (dat îmi îți îi ne vă le)
|
|
(refl mă te se ne vă se)))
|
|
(clitic-placement ((finite proclitic) ; îmi place, o văd
|
|
(perfect-compus elision) ; << m-am, l-am, i-am (PARTIAL)
|
|
(imperative-affirmative enclitic))) ; dă-mi (PARTIAL)
|
|
|
|
;; ── SACRED safety bar (shared with es/pt/it/en) ─────────────────────────
|
|
(negation-faithful yes) ; polarity never dropped/inverted; unplaceable -> FLAG
|
|
(negation "nu (single preverbal marker) + concord")
|
|
(negative-concord yes) ; nu … nimic / nimeni / niciodată / niciun
|
|
(negative-imperative "nu + INFINITIVE : nu pleca! (KNOWN GAP: uses imperative stem)"))
|