;;; 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