public override object VisitDeclaration([NotNull] CalculatorParser.DeclarationContext context) { var varName = context.Id().Accept(this) as string; object varValue = null; if (context.expression() != null) { varValue = context.expression().Accept(this); } m_iterName = varName; m_stack.Declare(varName, varValue); return(varValue); }
/// <summary> /// Visit a parse tree produced by <see cref="CalculatorParser.declaration"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitDeclaration([NotNull] CalculatorParser.DeclarationContext context) { return(VisitChildren(context)); }