ANTLR - 永远无法匹配以下替代方案

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)

为什么会这样?

Bar*_*ers 6

使用.*.+在词法分析器结尾处在ANTLR中是非法的:

ID : .*;       // illegal
ID : 'bar' .*; // illegal
ID : .* 'bar'; // legal
Run Code Online (Sandbox Code Playgroud)

在解析器规则中,情况并非如此.