Преглед изворни кода

Implement multiplication without priority

DricomDragon пре 5 година
родитељ
комит
90b088d22f
2 измењених фајлова са 2 додато и 1 уклоњено
  1. 1 1
      eval.l
  2. 1 0
      eval.y

+ 1 - 1
eval.l

@@ -19,7 +19,7 @@ BLANC [ \n\t]
 [0-9]+      yylval = atoi(yytext); return nombre; /* atoi = ascii to integer; yylval est la 
                                                      valeur sémantique (par défaut un int) 
                                                      associée au token */
-[-+()=]     return yytext[0];   /* caracteres unites lexicales */
+[*-+()=]     return yytext[0];   /* caracteres unites lexicales */
 {BLANC}+    ;
 .           fprintf(stderr, "Caractere (%c) non reconnu\n", yytext[0]); /* tout le reste (les règles sont évaluées de haut en bas */
 

+ 1 - 0
eval.y

@@ -34,6 +34,7 @@ EXPR_CALC : EXPR '='               { printf("%d\n", $1); }
 EXPR     : FACTEUR                  
          | EXPR '+' FACTEUR        {$$ = $1 + $3;}
          | EXPR '-' FACTEUR        {$$ = $1 - $3;}
+	 | EXPR '*' FACTEUR	   {$$ = $1 * $3;}
          ;
 
 FACTEUR  : nombre                  {$$ = $1;}