protected internal override void Accept(ASTVisitor visitor) => visitor.VisitAST(this);
protected internal override void Accept(ASTVisitor visitor) { }
public static void Compile(this List <BaseAST> exprASTs, ASTVisitor visitor) => exprASTs.ForEach(e => visitor.Visit(e));
protected internal abstract void Accept(ASTVisitor visitor);
public static void Compile(this BaseAST exprAST, ASTVisitor visitor) => visitor.Visit(exprAST);