Collatinus > programmes > FlexF-Conj-fr

FlexF - bibliothèque Delphi de flexion morphologique en français

Téléchargement :

FlexF est une bibliothèque écrite en Pascal objet qui permettra à terme de synthétiser toutes les formes fléchies du français. En clair, elle sera capable :

  1. De conjuguer tout verbe à partir de son infinitif, si on lui donne la personne, le temps, le mode et la voix ;
  2. De calculer le pluriel d'un nom ;
  3. De calculer toutes les formes d'un pronom ou d'un adjectif.

Pour l'instant, FlexF.pas se limite à la conjugaison. L'unité est autonome : pas de fichier de données. Je me suis inpiré du travail d'Eric Gobler, StrMan ( www.geocities.com/ericdelphi/StrMan.html ), mais j'ai préféré récrire les cinq ou six fonctions appelées, et obtenir une unité FlexF qui se suffise à elle-même.

L'unité a été développée sous Delphi 4 pro sous Windows, et le programme d'exemple est un dpr au format Delphi. Il doit être possible de l'utiliser avec Kylix et FreePascal. J'essaierai de faire prochainement un portage.

La programmation objet m'a permis de limiter considérablement la taille du code : La conjugaison française est très proche des principes d'héritage et de polymorphisme.

Pour conjuguer un verbe, il suffit de déclarer dans Uses l'unité FlexF, et d'utiliser l'un de ces deux appels :

  1. function Conjugue( Inf, P, T, M, V : string; Pr : boolean) : string;
    Conjugue le verbe à l'infinitif Inf à la personne P, au temps T, au mode M et à la voix V.
    Le pronom sujet est retourné si Pr est à true.
    Codes numériques pour la morphologie :
    actif = 1; passif = 2;
    indicatif = 1; subjonctif = 2; conditionnel = 3; impératif = 4; infinitif = 5; participe = 6;
    présent = 1; futur = 2; imparfait = 3; passé simple = 4; passé compose = 5; futur antérieur = 6; plus-que-parfait = 7; passé antérieur = 8;
  2. function conjugue (Inf : string; P, T, M, V : integer; Pr : boolean) : string;
    Dans cette version, la fonction attend un appel sous forme de chaînes : exemple conjugue ('avoir', 'nous', 'présent', 'subjonctif', 'actif', true );
    liste des chaînes reconnues :
    personne : 'je', 'tu', 'il', 'nous', 'vous', 'ils'
    temps : 'présent', 'futur', 'imparfait', 'passé simple', 'passé [composé]', 'futur antérieur', 'plus-que-parfait', 'passé antérieur'
    mode : 'indicatif', 'subjonctif', 'conditionnel', 'impératif', 'infinitif', 'participe'
    voix : 'actif', 'passif'.

Yves Ouvrard
yves.ouvrard@wanadoo.fr