Tiger est un langage informatique, et non l'animal correspondant!

FAQ Tiger Compiler Project

FAQ Tiger T2

Gestion des erreurs dans le parseur

Q:
par exemple, ici on sait quoi faire :
| LPAREN exps RPAREN {$$ = new SeqExp (@$, *$2)}

mais alors la que lui dire de faire ? :
| LPAREN error RPAREN {????????????????}

R:
Tu fais pareil que si ça s'était bien passé, i.e., tu dois lui donner un $$ qui va bien (sinon les phases suivantes se prendront une merde genre NULL).
Donc comme il veut une Exp, t'as le choix entre une SeqExp vide, un Int(0), une boucle while de la mort qui tue etc.
T'as le droit à tout du moment que c'est une Exp valide. Mais évidemment passer un While c'est tordu.



Merci à tous les participants de cette FAQ sur Tiger: notre professeur Akim Demaille,
Sébastien Moncel et Arnaud Meyer, ingénieur informatique EPITA promo 2003.

Valid XHTML 1.0!   Valid CSS!