Salut à tous,
je me demande s’il existe une manière de faire ceci en Yacc-Bison :
j’ai une grammaire qui essaie de catcher quelque chose. Mais s’il le catche et qu’une certaine condition existe, refuser cette "interprétation" et relancer le syntaxeur sur ce morceau en omettant cette règle.
Une autre manière de dire cela serait de penser que j’ai un conflit "reduce/reduce", et que je veux le résoudre en fonction des attributs (et pas de la syntaxe).
Je ne sais pas si c’est très clair…
Par exemple on aurait :
X: INT_VAL '*' INT_VAL {if($1 == $3){printf("%i^2",$1);} else {relanceSansCetteRègle();}}
Y: INT_VAL '*' INT_VAL {printf("%i*%i",$1,$3);}
Bon en l’occurrence c’est stupide, mais dans mon cas ce serait utile.
Merci d’avance
+0
-0