use*_*081 3 antlr context-free-grammar
我无法理解为什么这个简单的语法 -
grammar Test;
file : ID;
ID : .*;
Run Code Online (Sandbox Code Playgroud)
导致此错误 -
Test.g:3:6: The following alternatives can never be matched: 1
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
使用.*和.+在词法分析器结尾处在ANTLR中是非法的:
ID : .*; // illegal
ID : 'bar' .*; // illegal
ID : .* 'bar'; // legal
Run Code Online (Sandbox Code Playgroud)
在解析器规则中,情况并非如此.