Tag: 访客

如何使用antlr4访客

我是antlr的初学者。 我试图在我的代码中使用访问者并遵循网络上的说明。 但是,我发现访问者没有进入我创建的方法。 愿谁有人告诉我我做错了什么? 这是我的访客: import java.util.LinkedList; import org.antlr.v4.runtime.misc.NotNull; /* * To change this template, choose Tools | Templates * and open the template in the editor. */ /** * * @author Sherwood */ public class ExtractMicroBaseVisitor extends MicroBaseVisitor { //LinkedList ll = new LinkedList(); //MicroParser parser; //System.out.println(“11”); @Override public Integer visitPgm_body(@NotNull MicroParser.Pgm_bodyContext ctx){ System.out.println(ctx.getText()); […]

Java访问者模式而不是instanceof开关

在这个问题中 ,据说我可以使用访问者模式而不是一堆instanceof 。 Jmg说:“如果你不能自由改变A,B和C,你可以应用访客模式来实现同样的目标。” 据我所知,我仍然需要制作A,B和C支持访问者(例如,有一个accept()方法)。 我的问题是我绝对没有可能改变A,B和C.我只是从外国图书馆获得Car对象并且必须调用特定于卡车,赛车和公共汽车的wash()方法。 我想我还需要一个带有instanceof的if-else-if构造。 我对吗?