質問

のは、私は以下のような2つのルールがあるとしましょう。

printable_characters : '\u0020' .. '\uFFEF' ;

newline_characters : '\n' | '\r' ;

さて、私はprintable_no_newlinesと呼ばれる新しいルールを作りたいとしましょう。私はそうのようnewline_charactersからprintable_charactersを減算することにより、これを行うしたいと思います:

printable_no_newlines : printable_characters - newline_characters ;

この構文はANTLR3では動作しませんが、誰もが最善の方法を再入力して全体のルールなしでこれをエミュレートすることであろうか知っていますか?

役に立ちましたか?

解決

私はこれが可能だとは思いません。それはprintable_new_newlinesに一致するので、例えば、あなたの"foo\nbar"は、printable_charactersが含まれるであろうが、(それが唯一の1文字の文字列にマッチするよう)newline_charactersと一致していません。

:私はまた、あなたがやりたいだろうと懐疑的です。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top