Je te propose d'écrire une mini calculatrice. Pour cela, la grammaire utilisée n'est pas compliquée. Nous évaluons des expressions, qui peuvent être soit un nombre, soit une expression entourée de parenthèses, soit une expression plus une autre expression, etc... Ainsi, tu le vois, la grammaire utilisée est récursive.
L'analyse du texte source se réalise en fait en deux étapes. La
première est ce que l'on appelle l'analyse lexicale, qui fait partie du
domaine de compétences de Lex, par l'intermédiaire de la fonction
yylex()
, qui se charge de consommer les terminaux (voir plus bas).
Elle va les signaler à l'analyseur syntaxique, rôle de Yacc, grâce à la
fonction yyparse()
.