私は現在、C#のANTLR4にプリプロセッサを実装しようとしていますが、これに関する情報を見つけるのにかなりの手間があります。 私はC#プロジェクトのGitHubのソースを掘りすると、本当に悲しいことに成功していたしませんでした...トークンのオフセットを除去せずにANTLR4に前処理レイヤーを追加する
私の目標は、トークン・オフセットを保持することである(したがって、その列と行は、前処理ストリームでのスローされません) おおよその例を説明:あなたは正しいドキュメントに私を指すか、簡単な例ソリューションどこか
親切によろしくを提供することができます
#define foo(bar) foobar(bar + bar * bar/0.2)
int smthng = 2;
smthng += foo(12); //the ; should be at the same spot like the macro was a function
希望、マルコ
PSそれに注意してください:私は、ANTLR4に既にプリプロセスされたストリームを渡すソリューションを探しません。
それはマクロを展開するときにテキストの場所を変更する – X39