0

ルールの例:

%token TOKEN
%%
foo: TOKEN;

%%

TOKEN が語彙トークンであると考えると、解析すると:

tokken

これを変更する方法があることが示されるSyntax error expected TOKEN recive tokkenので、 TOKEN 名が語彙に挿入されたとは言いSyntax error expected token recive tokkenません。

4

1 に答える 1

0

いくつかの深い調査の後、私はそれを見つけました。

トークンの宣言について:

パーサー.y:

%token TOKEN "token"

%%

foo : TOKEN

tokkenエラーメッセージの代わりに書くと、この maketokenは、tokken 宣言の文字列 ( %token TOKEN "token" ) で見つかったものを示します。私はより良い例を作ります:

パーサー.y:

%token TOKEN "token"   
%token PYC   ";"


%%

foo : TOKEN PYC

プログラムが次の場合token.、エラーはunexpected "." expecting ";"次のようになります。「;」なし 行で %token PYC ";"は、エラーはunexpected "." expecting PYC理解しにくいものになります。

于 2013-05-06T07:30:53.410 に答える