-1

「通常の」表現言語と型注釈の言語の2つのサブ言語で構成される言語のパーサーをPLYで作成しています。問題は、それらがいくつかのトークンを共有し、その優先順位が2つの言語間で異なることです。

たとえば、式言語では(Pythonと同じ意味で)とa | b, c同等である必要がありますが、型言語では(typeまたはtypeのいずれか、つまりtypeとtypeのメンバーを持つタプル)と同等である必要があります。(a | b), ca | (b, c)ab, cbc

実際の問題はそれよりも少し複雑ですが、それでも基本的には同じです。

PLYで一時的に優先順位を変更することは可能でしょうか?そうでない場合、私が適用できる別の解決策はありますか?

4

1 に答える 1

0

生産の最後に異なる優先順位で使用し、優先順位リストの適切な場所に%prec fakeToken挿入できることがわかりました。facetoken

于 2013-03-19T14:32:48.593 に答える