Flex と Bison でインポートされたモジュールの個別のコンパイルを実装する標準的なアプローチはありますか? 私の場合、パーサーがインポート宣言で識別子に遭遇すると、何らかの形で現在の状態をプッシュして、インポートされたモジュールのコンパイルを開始し、状態をポップして、以前にプッシュされたモジュールのコンパイルを続行する必要があります。手がかりはありますか?
1 に答える
1
再入可能なパーサーとスキャナーを構築する必要があります。
Bison には、「純粋な」API を使用してこれを行うための実験的なサポートがいくつか%define api.pure
あります。.y ファイルの先頭セクションに配置します。同様に、flex の%option reentrant
最初のセクションには、リエントラント スキャナーを構築するために使用できる があります。詳細については、bison のドキュメントとflex のドキュメントを参照してください。
于 2012-10-15T21:59:22.350 に答える