Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
アクティブな %glr-parser ディレクティブと組み合わせて、アクションから bison-rule を受け入れることは可能ですか?
次のようなもの:
aRule : 'a' 'b' 'c' { /* いくつかの計算を行い、それらに応じてこのルールを許可/禁止し、yyparse 関数から戻らずに解析を続行します。*/};
AFAICSグラマーの一部を動的に有効または無効にする方法はありません。ハックとして、特別なトークンをブランチのガードとして追加し、何らかの条件が満たされたときにトークナイザーがこの追加のトークンを生成できるようにすることができます (私は時々、解析エラーを強制するために追加の FORCE_ERROR トークンを使用します)。はい、これは醜いです。