Changes between Version 32 and Version 33 of CaoCourseTme3


Ignore:
Timestamp:
Feb 26, 2007, 11:27:07 AM (18 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CaoCourseTme3

    v32 v33  
    3636de façon à conserver les résultats intermédiaires.
    3737
    38 Peut-être ne connaissez-vous pas, ou pas bien, les outils lex et yacc, les liens ci-dessous pourront vous aider à comprendre.
     38Si vous ne connaissez pas bien les outils lex (flex) et yacc (bison), les liens ci-dessous pourront vous aider à comprendre.
    3939  [http://www-128.ibm.com/developerworks/library/l-lex.html "Lex & Yacc Essentiel"]::
    4040    L'essentiel des outils est rappelé ici, à lire absolument.
     
    6565  1. Etablir la règle permettant d'absorber les caractères d'espace et les caractères de tabulation.
    6666
     67A chaque règle reconnaissant un token particulier, on peut associer une séquence de code qui sera exécutée par
     68l'analyseur lexical chaque fois que ce token est reconnu. Dans cette première étape, on se contente d'utiliser
     69la fonction printf() pour afficher un message définissant le type de token reconnu, ainsi que la chaîne de
     70caractère correspondante. On rappelle que la variable globale {{{yytext}}} contient un pointeur sur la chaîne
     71de caractère constituant le dernier token reconnu.
     72
    6773On donne ci-dessous une partie du fichier ''vst.l'' que vous devez écrire. Comme vous pouvez le constater,
    68 ce fichier se termine par la définition du programme main() qui appelle à la fonction yylex().
    69 La variable globale yyin est un pointeur sur le fichier à analyser. La variable globale yytext est un
    70 pointeur sur la chaîne de caractère correspondant au token reconnu.
     74ce fichier se termine par la définition du programme main() qui appelle la fonction {{{yylex() }}}.
     75La variable globale yyin est un pointeur sur le fichier à analyser.
    7176{{{
    7277%{
     
    98103    exit(1);
    99104  }
    100 
    101105  yylex();
    102106  return 0;