Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我今天在 antlr 语法中看到了这一点,但不确定它是什么意思。我希望谷歌能让我搜索字符...
结果列表:(星|属性列表|)-> ^(结果属性列表?星?);
注意第二个“|” 角色没有右侧元素?这意味着什么?
谢谢,院长
它只是意味着它不匹配任何内容。以下稍微详细一点的规则完全相同:
resultList : STAR -> ^(RESULT STAR) | attributeList -> ^(RESULT attributeList) | /* nothing */ -> RESULT ;
我认为上面的版本更清晰,并且以后也更容易评估,因为没有两个可选的子节点,attributeList并且STAR您需要检查它们的存在。
attributeList
STAR