例如图中的表达式 “SP =100;" ,ANTLR 自带的语言识别器 LEXER 会生成四个 token,再各自进行解析生成 Parse-Tree。 其中比较重要的功能是给生成的 Parse-Tree 提供了 WALKER 的机制,通过 WALKER 对这解析数进行遍历。比如每个节点是否符合文法规则、单词有无涉及敏感词汇,都可以得到合法性检查。 从右边列出的 Parse-Tree 遍历的 API 可以看出,ANTLR 从 根节点一直到最末端的子节点,是按照一种深度遍历的顺序来进行遍历的,由此也不需要人为区分多叉树的前序、中序、后序,直接看API
默认情况下,ANTLR 使用内建的遍历器访问生成的语法分析树,并为每个遍历时可能触发的事件生成一个语法分析树监听器接口(parse-tree listener interface)。