StackOverflow 文档 ANTLR 教程 V4 中的 Lexer 规则 动作和语义谓词 动作和语义谓词 Created: November-22, 2018 词法分析器动作是由 { … } 包围的目标语言中的任意代码块,在匹配期间执行: IDENTIFIER: [A-Z]+ { log("matched rule"); }; 语义谓词是由 { … }? 包围的目标语言中的任意代码块,其评估为布尔值。如果返回的值为 false,则跳过词法分析器规则。 IDENTIFIER: [A-Z]+ { identifierIsValid() }?; 出于性能原因,应尽可能在规则末尾定义语义谓词。 简单的规则隐含词法规则