java ANTLR标签异构替代方案?
我想用板条箱装一个语法来定义 活动的备选方案
这个
time:
type='at ' date
| type='before ' date
| type='vor ' date
;
date:
SIMPLEDATE
;
DAY: ('0'[1-9]|[12][0-9]|'3'[01]);
MONTH: ('0' [1-9]|'1'[012]);
YEAR: [0-2] [890] NUMBER NUMBER;
SIMPLEDATE: DAY [- /.] MONTH [- /.] YEAR;
看起来很好用
但是我想减少第一个 类似这样的替代方案:
time:
type='' date
| type='before' date
| type='after' date
;
我尝试了空字符串,因为 不接受任何类型
经过这一修改,就有了一个简单的日期 再也认不出来了
是否有一种方法可以将(异质性)标记为更一致
# 1 楼答案
对。只是不要在不合格的备选方案中提供标签。Antlr将在
time
上下文中生成一个type
令牌变量;对于非限定备选方案,令牌type
的值将为null或者更好: