2011-02-03 18 views
0
stmt : expr {printf("%d\n",$1);} 
     ; 

expr : expr '+' expr {$$ = $1 + $3;} 
    | expr '-' expr {$$ = $1 - $3;} 
    | INTEGER  {$$ = $1;} 
    ; 

いつbisonがstmt非ターミナルを実行していますか。どのキャラクターが見える?bison計算機の問題

+1

私は質問をしません。 'stmp'とは何ですか? –

+0

これはタイプミスでした。今私はそれを修正した – user574183

答えて

1

と仮定すると、これらはあなたのバイソン入力、EOFに到達するようstmtが、すぐに「実行」を取得します非終端記号からすべてのルールがある(すなわち:それ以上入力し、最後のexprが減少されていません)。

ただし、文法に矛盾があります。