0

假设我有两个规则,如下所示:

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

我不认为这是可能的。我也怀疑它会做你想做的事:例如,你printable_new_newlines会 include "foo\nbar",因为它匹配printable_characters,但不匹配newline_characters(因为它只匹配一个字符的字符串)。

于 2009-09-19T19:26:26.073 回答