Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works
Anything · Lazarus or Delphi
Random projectRandom project

CORRECTEUR-0

Suite de commande écrit en Turbo Pascal/Free Pascal pour la correction linguistique

View on GitHub

Member rating

No ratings yet.

Sign in to rate this project.

README

CORRECTEUR-0

Suite de commandes écrites en Pascal (Turbo Pascal ou Free Pascal) pour la correction linguistique.

Liste des fichiers

Voici la liste des différentes commandes proposées dans CORRECTEUR-0 :

Nom Description
GRAMMALECTE-CLI.PAS Cette commande permet de vérifier l'orthographe et certaines règles de grammaire d'un fichier de texte français, avec des suggestions et un rapport texte ou JSON.
HUNSPELL.PAS Cette commande permet de repérer les mots suspects dans un texte français, anglais, allemand, espagnol ou italien, de proposer des corrections et de produire un texte corrigé par la première suggestion.

Remarques

  • HUNSPELL.PAS : correcteur orthographique autonome avec des lexiques français, anglais, allemand, espagnol et italien embarqués. Syntaxe : HUNSPELL -d fr_FR document.txt pour afficher les mots suspects avec leurs positions et jusqu'à cinq suggestions ; HUNSPELL -d fr_FR -l document.txt pour afficher seulement les mots suspects ; HUNSPELL -d fr_FR -U document.txt pour écrire le texte corrigé sur la sortie standard. Le fichier source reste intact. Pour enregistrer le résultat : HUNSPELL -d fr_FR -U document.txt > corrige.txt (utiliser un fichier de destination différent).
  • HUNSPELL.PAS : fr_FR est le lexique par défaut. Pour corriger l'anglais, utiliser -d en_US (anglais américain) ou -d en_GB (anglais britannique). Pour l'allemand, utiliser -d de_DE ; pour l'espagnol, -d es_ES ; pour l'italien, -d it_IT. Un seul lexique est chargé à la fois ; les variantes comme color/colour et favorite/favourite suivent le lexique choisi. Les paramètres /?, -h, --help, -v, --version et -D sont également disponibles. Un seul fichier est traité par invocation ; -l et -U sont incompatibles. Les mots sont vérifiés sans distinction de casse, mais les accents sont significatifs. Les suggestions tiennent compte des insertions, suppressions, substitutions, transpositions et de certaines fautes courantes ; la casse est conservée lors du remplacement.
  • HUNSPELL.PAS : implémentation indépendante et partielle de l'interface de Hunspell, sans interface interactive ni chargement de fichiers .aff ou .dic. Les lexiques réduits peuvent signaler des mots français, anglais, allemands, espagnols ou italiens corrects, ainsi que des noms propres. Les règles d'affixes et de mots composés du moteur Hunspell complet ne sont pas reproduites. Les mots sans suggestion restent inchangés avec -U. Les contractions et mots avec trait d'union sont vérifiés par composants.
  • Correction de l'anglais : HUNSPELL -d en_US document.txt pour les suggestions, HUNSPELL -d en_US -l document.txt pour les mots suspects et HUNSPELL -d en_US -U document.txt pour le texte corrigé. Remplacer en_US par en_GB pour l'anglais britannique. Aucun téléchargement de dictionnaire n'est nécessaire.
  • Correction de l'allemand : HUNSPELL -d de_DE document.txt pour les suggestions, HUNSPELL -d de_DE -l document.txt pour les mots suspects et HUNSPELL -d de_DE -U document.txt pour le texte corrigé. Le lexique allemand est embarqué, avec les umlauts et les caractères ß et ẞ. Des suggestions courantes comprennent fuer vers für et Gruesse vers Grüße. En majuscules, SS est accepté pour ß et utilisé dans les suggestions. La vérification reste sans distinction de casse : elle ne contrôle pas les majuscules obligatoires des noms allemands. Les mots composés absents du lexique peuvent être signalés ; aucun moteur de composition allemand complet n'est inclus.
  • Correction de l'espagnol : HUNSPELL -d es_ES document.txt pour les suggestions, HUNSPELL -d es_ES -l document.txt pour les mots suspects et HUNSPELL -d es_ES -U document.txt pour le texte corrigé. Le lexique espagnol est embarqué, avec les accents, ñ et ü. Exemples de suggestions : espanol vers español, telefono vers teléfono et pinguino vers pingüino. La ponctuation ¿…? et ¡…! est conservée. Les formes valides comme si/sí et el/él restent inchangées : le correcteur ne choisit pas entre elles selon le contexte grammatical. Le lexique reste réduit et ne couvre pas toutes les formes conjuguées ni les variantes régionales.
  • Correction de l'italien : HUNSPELL -d it_IT document.txt pour les suggestions, HUNSPELL -d it_IT -l document.txt pour les mots suspects et HUNSPELL -d it_IT -U document.txt pour le texte corrigé. Le lexique italien est embarqué, avec les accents graves et aigus. Exemples de suggestions : perche vers perché, caffe vers caffè et citta vers città. Les apostrophes droites et typographiques sont conservées ; les élisions sont vérifiées par composants. Les formes valides comme e/è et si/sì restent inchangées : leur choix selon le contexte grammatical et les apostrophes manquantes ne sont pas contrôlés. Le lexique reste réduit et ne couvre pas toutes les flexions.
  • HUNSPELL.PAS : source ASCII avec codes numériques pour les accents, lignes de source limitées à 120 octets et seule unité Dos. Les fichiers sont lus en UTF-8, avec ou sans BOM ; -U conserve le BOM, les espaces, la ponctuation et les fins de ligne. Aucune limite de longueur de ligne n'est imposée ; les mots sont limités à 80 octets. Le code de sortie est 0 pour une analyse terminée, même avec des mots suspects, et 2 pour une erreur. Une erreur de lecture, d'encodage ou de longueur de mot peut laisser une sortie partielle.
  • GRAMMALECTE-CLI.PAS : implémentation indépendante et partielle de l'interface de Grammalecte, avec un lexique embarqué et des règles de conjugaison, d'accord, d'homophones, de répétition et de ponctuation. Elle ne contient pas le moteur complet de Grammalecte. Les mots inconnus peuvent être des mots français corrects ou des noms propres ; les suggestions ne garantissent pas la correction du texte.
  • Vérification d'un fichier : GRAMMALECTE-CLI -f texte.txt. Création d'un rapport avec suggestions : GRAMMALECTE-CLI -ff texte.txt, qui produit texte.res.txt. Le fichier source n'est pas modifié.
  • Rapport JSON : GRAMMALECTE-CLI -f texte.txt -j pour l'afficher, ou GRAMMALECTE-CLI -ff texte.txt -j pour créer texte.res.json. Les suggestions disponibles sont incluses dans les deux formats.
  • Paramètres disponibles : -f ou --file, -ff ou --file_to_file, -j ou --json, -owe ou --only_when_errors pour omettre les lignes sans erreurs, ainsi que --help et --version.
  • Les fichiers d'entrée et les rapports utilisent UTF-8, avec ou sans BOM en entrée. Le source Pascal est entièrement ASCII : les caractères accentués des chaînes sont représentés par leurs octets UTF-8 sous forme de codes numériques. La recherche orthographique neutralise la casse et plusieurs accents ; seules certaines omissions d'accents sont explicitement détectées.
  • Chaque ligne physique correspond à un paragraphe. Dans le JSON, data contient iParagraph, lGrammarErrors et lSpellingErrors. Les positions nStart et nEnd sont exprimées en caractères Unicode à partir de zéro, avec une borne de fin exclue. Le rapport texte utilise des colonnes à partir de un.
  • Limites par ligne : 16 000 octets UTF-8, 500 mots et 500 diagnostics. Un mot peut occuper au plus 80 octets. Le code de sortie est 0 pour une analyse terminée, même avec des diagnostics, et 2 pour une erreur d'arguments, d'ouverture ou de limite de traitement. Une erreur de traitement peut laisser un rapport incomplet.
  • La seule unité utilisée est Dos. Aucun dictionnaire externe ni fichier d'inclusion n'est nécessaire. La compilation et les tests ont été effectués avec Free Pascal en mode Turbo Pascal ; Turbo Pascal 7 reste à vérifier directement. Sous DOS, copier le source sous un nom au format 8.3 avant compilation.

Compilation

Pour compiler GRAMMALECTE-CLI.PAS avec Free Pascal en mode Turbo Pascal :

fpc -Mtp GRAMMALECTE-CLI.PAS

Pour compiler HUNSPELL.PAS avec Free Pascal en mode Turbo Pascal :

fpc -Mtp HUNSPELL.PAS

Pour essayer la compilation de HUNSPELL.PAS avec Turbo Pascal :

tpc HUNSPELL.PAS

Pour essayer la compilation avec Turbo Pascal, après avoir copié le source sous le nom GRAMCLI.PAS :

tpc GRAMCLI.PAS

Licence

  • Le code source est publié sous la licence [MIT](https://github.com/gladir/CORRECTEUR-0/blob/HEAD/LICENSE).