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.
75 lines
5.2 KiB
EmacsLisp
75 lines
5.2 KiB
EmacsLisp
;;; lang_profile_fr.el — French language profile for ELP.
|
|
;;; Mirrors lang_profile_it / lang_profile_es; keys the realizer's construction
|
|
;;; switches. French is a Romance sibling (~54% of the realizer code and the whole
|
|
;;; clause-engine architecture reused), but carries the family's biggest surface
|
|
;;; deltas: NOT pro-drop, DISCONTINUOUS negation, and an orthography/phonology
|
|
;;; mismatch (elision, liaison) that makes exact-match genuinely hard.
|
|
|
|
(lang_profile_fr
|
|
(language "French")
|
|
(iso639 "fr")
|
|
(family "Romance")
|
|
|
|
;; ── core typology flags ────────────────────────────────────────────────
|
|
(pro-drop no) ; << French-specific: subject clitic OBLIGATORY
|
|
(obligatory-subject yes) ; je/tu/il/elle/nous/vous/ils/elles always overt
|
|
(grammatical-gender yes) ; m/f; full NP agreement (art + adj + participle)
|
|
(do-support no)
|
|
(subject-aux-inversion optional) ; est-ce que (default) OR clitic inversion (vas-tu)
|
|
(article-selection "le/la/l'/les ; un/une/des ; PARTITIVE du/de la/de l'/des")
|
|
(article-drives-contraction yes) ; à+le=au, de+le=du feed off article choice
|
|
(adjective-position "postnominal-default + prenominal-BAGS") ; beau/bon/grand/
|
|
; petit/jeune/vieux/nouveau + ordinals prenominal
|
|
; (beau->bel, nouveau->nouvel, vieux->vieil / vowel)
|
|
(question-punct "space-before") ; French typography: ' ?' ' !' (no ¿¡)
|
|
|
|
;; ── elision (orthography/phonology mismatch — French-specific) ──────────
|
|
(elision ((le l') (la l') (je j') (ne n') (de d') (que qu')
|
|
(me m') (te t') (se s') (ce c'))) ; before vowel / h-muet
|
|
(elision-h-muet yes) ; l'homme, l'hôpital (h-aspiré exception list kept)
|
|
(liaison noted-not-modeled) ; phonological, not written in surface
|
|
|
|
;; ── MANDATORY prep+article contractions ────────────────────────────────
|
|
(contractions ((à le au) (à les aux) (de le du) (de les des)))
|
|
(contraction-mandatory yes) ; *à le -> au obligatory; à la / à l' uncontracted
|
|
(partitive ((m-sg du) (f-sg "de la") (vowel "de l'") (pl des)))
|
|
(partitive-under-neg "de") ; << gap in current build: 'ne … pas de pain'
|
|
|
|
;; ── clitic system ──────────────────────────────────────────────────────
|
|
(clitics yes)
|
|
(clitic-order (me te se nous vous | le la les | lui leur | y | en))
|
|
(clitic-placement ((finite proclitic) ; je le lui donne
|
|
(imperative-affirmative enclitic-hyphen) ; donne-le-moi
|
|
(imperative-negative "ne+proclitic+verb+pas") ; ne le donne pas
|
|
(infinitive enclitic))) ; PARTIAL: clitic-climbing
|
|
; onto infinitive under modal
|
|
(clitic-imperative-shift ((me moi) (te toi))) ; final me/te -> moi/toi (donne-moi)
|
|
(clitic-particles (y en)) ; locative y, partitive/genitive en
|
|
|
|
;; ── verb / aspect system ───────────────────────────────────────────────
|
|
(finite-agreement "person+number (written; many homophones)")
|
|
(tenses (présent imparfait passé-simple futur conditionnel
|
|
subjonctif-présent subjonctif-imparfait impératif))
|
|
(compound-past "passé-composé = aux(present) + participe passé")
|
|
(perfect-aux "être/avoir (LEXICAL selection)") ; << French-specific
|
|
(etre-aux-class "intransitive motion/change (aller venir arriver partir
|
|
entrer sortir monter descendre naître mourir rester
|
|
tomber retourner passer devenir revenir rentrer) + ALL
|
|
pronominal verbs")
|
|
(participle-agreement ((être subject) ; elle est allée / elles venues
|
|
(avoir preceding-direct-object))) ; je les ai vus
|
|
(progressive "être en train de + infinitif") ; no dedicated aux
|
|
(copula "être (single; no ser/estar, no essere/stare)")
|
|
(passive-aux "être (+ par-agent)")
|
|
(future inflectional) ; parlera, sera
|
|
(comparative "plus/moins ADJ que")
|
|
(superlative "le/la plus ADJ (de …)") ; PARTIAL word-order in build
|
|
|
|
;; ── SACRED safety bar (shared with es/pt/it/en) ────────────────────────
|
|
(negation-faithful yes) ; polarity never dropped/inverted; unplaceable -> FLAG
|
|
(negation "DISCONTINUOUS: ne (preverbal) … pas/jamais/rien/personne/
|
|
plus/guère/que (postverbal)") ; << biggest structural delta
|
|
(negation-ne-elides yes) ; ne -> n' before vowel (n'ai pas vu)
|
|
(negation-passe-composé "ne + aux + pas + participe") ; n'ai pas vu
|
|
(negative-concord partial)) ; personne/rien as arguments post-participle
|