%{ #include int main (void) { return yyparse() ; } void yyerror (const char * s) { printf("Erreur (%s)\n", s) ; } %} %token NAME NUMBER PLUS MINUS %% S: NAME '=' EXPR | EXPR { printf("= %d\n", $1) ; } ; EXPR: EXPR PLUS NUMBER { $$ = $1 + $3 ; } | EXPR MINUS NUMBER { $$ = $1 - $3 ; } | NUMBER { $$ = $1 ; } ; %%