浏览代码

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;}