Listener模式
使用ParseTreeWalker遍历树的过程中(深度优先),每次进入和退出规则节点时,触发对应的enterRule/exitRule方法。
使用示例
//step1:创建ParseTreeWalker
ParseTreeWalker walker = new ParseTreeWalker();
//step2:创建ParseTreeListener和ParseTree
ParseTreeListener listener = ...,
ParseTree tree = ...;
//step3:遍历树
walker.walk(listener, tree);
原理解析
Visitor模式
使用示例
//step1:创建visitor和tree
XXXParserVisitor visitor = ...;
ParseTree tree = ...;
//step2:遍历树
visitor.visit(tree);
原理解析
public T visi