0

次のような2つのルールがあるとしましょう。

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

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

ここで、という新しいルールを作成するとしprintable_no_newlinesます。newline_characters私はそうから引くことによってこれをしたいと思いますprintable_characters

printable_no_newlines : printable_characters - newline_characters ;

その構文はANTLR3では機能しませんが、ルール全体を再入力せずにこれをエミュレートするための最良の方法を知っている人はいますか?

4

1 に答える 1

1

これは不可能だと思います。また、それがあなたの望むことをするのではないかと疑っています。たとえば、は一致しますが、一致しないため(1文字の文字列のみに一致するため) 、printable_new_newlinesインクルードを含めます。"foo\nbar"printable_charactersnewline_characters

于 2009-09-19T19:26:26.073 に答える