/* * Απλό πρόγραμμα συντακτικής αναγνώρισης αριθμητικών εκφράσεων * με προτεραιότητες και προσεταιριστικότητες τελεστών. * Συντακτικός αναλυτής. * * URL: http://courses.softlab.ntua.gr/compilers/ * * Νικόλαος Σ. Παπασπύρου (nickie@softlab.ntua.gr) * 22 Μαρτίου 2005. */ %token T_plus "+" %token T_times "*" %token T_lparen "(" %token T_rparen ")" %token T_num %{ void yyerror (const char * msg); %} %left "+" %left "*" %% E : E "+" E | E "*" E | "(" E ")" | T_num ; %% void yyerror (const char * msg) { printf("Error: %s\n", msg); } int main () { int result = yyparse(); if (result == 0) printf("Success!\n"); else printf("Failure!\n"); return result; }