public override TResult Accept <TResult>(IParseTreeVisitor <TResult> visitor) { IQtVisitor <TResult> typedVisitor = visitor as IQtVisitor <TResult>; if (typedVisitor != null) { return(typedVisitor.VisitExpr(this)); } else { return(visitor.VisitChildren(this)); } }