2011-12-26 7 views
0

bison文法で文字列をどのように一致させることができますか? "polySphere"のように自分自身を表す文字列を言いましょう。 POLYSPHEREのような.lexファイルにトークンを作成し、それをバイソンで使用する必要がありますか?文字列を直接使用することはできませんか?bison文法の文字列とはどのように一致しますか?

あなたgrammar.you内の文字列を識別することはできませんおかげ

答えて

1

bisonの文字列を文字で認識できます。例:

polysphere: 'p' 'o' 'l' 'y' 'S' 'p' 'h' 'e' 'r' 'e' 

が、それはむしろineffecientある - レクサー内の文字列を認識し、単一のトークン

を返すために、一般的にそのはるかに良いです
1

は、このようなエラーがあります:

multicharacter literal tokens not supported

あなたは、単にあなたのlexに

"polySphere" { return POLYSPHERE; }

を追加する必要があります
関連する問題