質問
のは、私は以下のような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
と一致していません。
所属していません StackOverflow