1
私は解析中にコメントを避ける方法を探しています。ここに私の問題がある。コメントのないラスカルフェッチメソッド
まず、私はそうのように、M3モデルからすべてのメソッドをフェッチ:
public set[loc] getMethodLocations(M3 model){
locations = { <x,y> | <x,y> <- [email protected],
x.scheme=="java+class",
y.scheme=="java+method" ||
y.scheme=="java+constructor" };
set[loc] methodLocations = { a | a <- range(locations) };
return methodLocations;
}
は、それから私は、フェッチされた場所を反復そうようにしたい:
set[loc] AllMethodsAsLoc = getMethodLocations(model);
for(methodAsLoc <- AllMethodsAsLoc) {
MethodDec m = parse(#MethodDec, methodAsLoc);
};
私の問題は、構文解析ということですフェッチされたメソッドがその場所にコメントを持つとき、ParseErrorで失敗するようです。フェッチ時にコメントを挿入しないでください。また、解析中にコメントを無視する方法はありますか?
私はこれで新しいですし、学ぶので、私の無知を許してください。
何か助けていただければ幸いです。
ロブ
はjurgnvありがとうございます。これはまさに私が必要とした解決策でした。素晴らしい。 – Rob
これは読んだり読んだりしたりするのに使う。このソリューションはメソッドに対してのみ機能することに注意してください。コードサンプルもコンストラクタをフェッチするので、コンストラクタも処理するために次のコードを追加する必要がありました: 'syntax MyMethod = MethodDec | ConstrDec; ' @jurgenvによる問題の解決法: 'MyTop = MyMethod method;を開始する '変数を宣言し、それを次のように解析する:' MyMethod m = parse(#start [MyTop]、method).top.method; ' – Rob