Linux |
CentOS 5.3 |
|
yacc(1) |
yacc − un générateur d’analyseurs syntaxiques LALR(1) |
yacc [-dlrtv] [-b préfixe_fichier ] [-o nomfichier_sortie ] [-p préfixe_symbole ] nom_fichier |
yacc lit la spécification de la grammaire à partir du fichier nom_fichier et génère un analyseur syntaxique (parser) LR(1) lui correspondant. Les analyseurs syntaxiques sont constitués d’un ensemble de tables d’analyse LALR(1) et d’une routine de pilotage écrite dans le langage de programmation C. yacc écrit normalement les tables d’analyse et la routine de pilotage dans le fichier y.tab.c. Les options suivantes sont disponibles : |
-b préfixe_fichier |
Remplacer le préfixe utilisé par les noms de fichiers de sortie par la chaîne de caractères préfixe_fichier. Le préfixe par défaut est le caractère y. |
-d |
Ãcrire le fichier d’en-tête y.tab.h. |
||
-l |
Si l’option -l n’est pas spécifiée, yacc insérera des directives #line dans le code généré. Elles permettent au compilateur C d’associer des erreurs présentes à l’intérieur du code généré avec le code original de l’utilisateur. Si l’option -l est spécifiée, yacc n’insérera pas de directive #line. Les directives #line spécifiées par l’utilisateur seront maintenues. |
-o nomfichier_sortie |
Ãcrire le code généré dans nomfichier_sortie, au lieu du fichier par défaut, à savoir y.tab.c. |
-p préfixe_symbole |
Remplacer le préfixe qu’utilisent les symboles générés par yacc par la chaîne de caractères préfixe_symbole. Le préfixe par défaut est la chaîne de caractères yy. |
-r |
Produire des fichiers séparés pour le code et les tables. Le fichier de code est nommé y.code.c ; le fichier de tables est nommé y.tab.c. |
||
-t |
Modifier les directives de prétraitement générées par yacc afin que les instructions de débogage soient incorporées dans le code compilé. |
||
-v |
Ãcrire une description (lisible par un humain) de l’analyseur généré dans le fichier y.output. |
Si la variable d’environnement TMPDIR est définie, la chaîne de caractères qu’elle désigne indiquera le nom du répertoire où sont créés les fichiers temporaires. |
y.code.c |
S’il y a des règles qui ne sont jamais réduites, leur nombre sera rapporté sur la sortie d’erreur standard. S’il y a des conflits LALR(1), leur nombre y sera également indiqué. |
Frédéric Delanoy <delanoy_f at yahoo.com>, 2002. |
yacc(1) |