Aller au contenu

Module:conjugaisons/group3-templates/Documentation

Définition, traduction, prononciation, anagramme et synonyme sur le dictionnaire libre Wiktionnaire.

Ceci est la page de documentation pour Module:conjugaisons/group3-templates

 Documentation[voir] [modifier] [historique] [purger]

Ce module est une dépendance du module conjugaisons/group3-templates. Il définit des modèles de verbes français du troisième groupe.

La table retournée par ce module contient des modèles de conjugaisons sous la forme suivante. Chaque clé représente le nom du modèle. La table associée contient deux entrées : ending et endings. La première définit la terminaison qu’un verbe doit posséder pour que ce modèle soit utilisé. La seconde est une table qui contient les terminaisons du modèle en question pour tous les temps simples. Sa structure est la suivante :

{
  participe = {
    present = { "" },
    passe = { "" },
  },
  indicatif = {
    present = { "", "", "", "", "", "" },
    imparfait = { "", "", "", "", "", "" },
    passeSimple = { "", "", "", "", "", "" },
    futur = { "", "", "", "", "", "" },
  },
  subjonctif = {
    present = { "", "", "", "", "", "" },
    imparfait = { "", "", "", "", "", "" },
  },
  conditionnel = {
    present = { "", "", "", "", "", "" },
  },
  imperatif = {
    present = { "", "", "" },
  },
}

Chaque chaîne "" de cette table doit être remplacée par la terminaison correspondante.

Par exemple, les verbes se terminant en « -clure » se conjuguent de la même manière que « inclure ». L’entrée correspondante serait donc la suivante :

["inclure"] = {
  ending = "clure", -- Terminaison de l’infinitif pour la détection automatique
  endings = { -- Terminaisons pour chaque flexion simple
    participe = {
      present = { "cluant" },
      passe = { "clus" },
    },
    indicatif = {
      present = { "clus", "clus", "clut", "cluons", "cluez", "cluent" },
      imparfait = { "clais", "cluais", "clait", "cluions", "cluiez", "cluaient" },
      passeSimple = { "clus", "clus", "clut", "clûmes", "clûtes", "clurent" },
      futur = { "clurai", "cluras", "clura", "clurons", "clurez", "cluront" },
    },
    subjonctif = {
      present = { "clue", "clues", "clue", "cluions", "cluiez", "cluent" },
      imparfait = { "clusse", "clusses", "clût", "clussions", "clussiez", "clussent" },
    },
    conditionnel = {
      present = { "clurais", "clurais", "clurait", "clurions", "cluriez", "cluraient" },
    },
    imperatif = {
      present = { "clus", "cluons", "cluez" },
    },
  },
}

La terminaison de l’infinitif est générée automatiquement à partir de la valeur de ending.

Certains modèles représentent des variantes d’un autre et présentent donc la même valeur de ending. Dans ce cas, pour éviter les ambigüités, il faut ajouter une propriété ignore_auto = true dans la table pour le rendre inaccessible à la détection automatique. Le modèle ne pourra alors être utilisé uniquement avec le paramètre modèle de la fonction p.conj() dans Module:conjugaisons. Un exemple est disponible dans le modèle "ouïr-oirai". Plusieurs variantes de modèles sont définies après la table data, en copiant un modèle existant et en modifiant certaines flexions.

La fonction stripICirc() permet de créer un nouveau modèle à partir d’un modèle préexistant en y remplaçant les ‹ î › par des ‹ i ›. Cette fonction est utile par exemple pour générer rapidement les terminaisons d’une forme rectifée de 1990 à partir de la forme historique. Par exemple, le modèle "paitre" est généré ainsi à partir du modèle "paître". alt = attention Cette fonction est très basique et remplacera aussi les ‹ î › des terminaisons du passé simple et du subjonctif, qu’il faudra donc corriger après appel (cf. modèle "naitre" par exemple).

La boucle for située avant la fonction stripICirc() génère la terminaison de l’infinitif à partir de la valeur de ending pour chaque modèle défini avant.