1

文法のこの部分がエラーの原因であることはわかっていますが、それを修正する方法がわかりません。%left と right も使用していますが、役に立ちませんでした。この文法の何が問題なのか、誰か教えてください。よろしくお願いします。

%token VARIABLE NUM
%right '='
%left '+' '-' 
%left '*' '/' 
%left '^'
%start S_PROOP

EQUATION_SEQUENCE 
    : FORMULA '=' EQUATION   
    ;
EQUATION 
    : FORMULA
    | FORMULA '=' EQUATION
    ;
FORMULA 
    : SUM EXPRESSION 
    | PRODUCT EXPRESSION 
    | EXPRESSION '+' EXPRESSION 
    | EXPRESSION '*' EXPRESSION
    | EXPRESSION '/' EXPRESSION
    | EXPRESSION '^' EXPRESSION
    | EXPRESSION '-' EXPRESSION 
    | EXPRESSION
    ;
EXPRESSION 
    : EXPRESSION EXPRESSION
    | '(' EXPRESSION ')'
    | NUM
    | VARIABLE         
    ;
4

1 に答える 1