バイソンでif-then文を実行しようとしています。問題は、誰もがそれが機能していると言っている解決策に取り組んでいるということですが、そうではありません:(私のコードは:
ステートメント:matchedstmt
| 一致しないstmt
; 一致したstmt : if '(' expression ')' 一致したstmt else 一致したstmt
| otherstmt
;
unmatchedstmt : if '(' 式 ')' ステートメント
| if '('expression ')' matchedstmt else unmatchedstmt
;
otherstmt : 式stmt
| compoundstmt
| iterationstmt
| returnstmt
;
...
ここで、「if」と「else」は %token です
!! ターミナルでは、シフト/リデュースが1つあると表示されます。
%nonassoc と %left も試しました
私に何ができる??