当为applicationScopeName
提供有效数据时,我有以下解析器规则可以正常工作:
application_scope_declaration
: TOKEN_APPLICATION_SCOPE applicationScopeName=namespace
;
namespace
: NAMESPACE ~EOF
;
有效代码如下所示,因为::Name::Space
是有效的名称空间:
Application Scope ::Name::Space
但这不会:
Application Scope ::Name->Space
第二个表示类型为Name
的{{1}}命名空间。
但是,当Space
无法解析时,ANTLR4在输出中放置applicationScopeName
令牌,并且不会在上下文中放置异常以传递给<missing NAMESPACE>
。
Visitor
中编写特定代码的情况下我应该怎么做才能确定这种情况?