不知道問題出在哪
只要是那種很複雜尤其是有 ^ 的算式 一定會出錯@@
我的寫法是
前面
%left '+' '-'
%left '*' '/'
%left '^'
%right UMINUS
後面
expr 部份
expr : expr '+' expr { $$ = $1 + $3; }
| expr '-' expr { $$ = $1 - $3; }
| expr '*' expr { $$ = $1 * $3; }
| expr '/' expr { $$ = $1 / $3; }
| expr '^' expr { $$ = $1 ^ $3; }
| '(' expr ')' { $$ = $2; }
| '-' expr %prec UMINUS { $$ = - $2; }
| NUMBER { $$ = atoi(yytext); printf("this is number\n"); }
| a
;
(a是各種變數名)
這樣哪裡有寫錯啊@@
一直找不出來~"~