在标记块中定义标记和将标记定义为词法分析器之间有什么区别?
答案 0 :(得分:3)
词法分析器是antlr通过解析特定字符组合生成的标记,例如:
fragment
F_W : (' '|'\t'|'\r'|'\n'|'\f')*
;
但是,令牌块中的令牌是用户为解析的好处而创建的可视令牌;他们没有直接映射到一组角色系列。例如,
tokens { BLOCK; }
为您提供了一个可视标记BLOCK,您可以将其置于阻止规则之前或之上,以标记子请求会话是这样的阻止规则:
block:
'{' expression* '}' ->
BLOCK^ expression*
;