文字列を扱うとき(コメントのような独自の状態があります)、次の文字が "であるかどうか"を調べる必要があります。私の文字列の状態で文字列を終了しないでください(私は<STRING_STATE>.
を使用し、手紙で手紙を処理します)。だから、最後の文字列があれば "とマークし、現在のisnt状態最後の文字をunputします。bison/flex:次の文字またはトークンを覗きます
これは奇妙な効果があります。文字列の行にエラーが発生すると、文字(通常は '、'または '))が2回表示されます。それが行の最後にある場合、副作用は2行としてカウントされます。 (エラーがない場合でも)。
どうすればこの問題を解決できますか?グローバル変数を作成し、文字列状態を残してYY_USerをハックして自分自身を修正するときにそれをマークする唯一のオプションですか?私はそれを避けたいと思っています。私はちょうど次の手紙やトークンを見ることができるクリーナーになることは可能ですか?
こんにちは、フレックスタグはAdobeプログラミング言語に関連しているので削除し、より適切なgnu-flexタグを追加しました。 –
@Andrea Spadaccini:今日はgnu-flexタグを見たのは初めてです –
初めてのことです:)私はバイソンタグの近くのadobeアイコンを見たのでエラーに気付きました。少し疑わしい;) –