public override Value VisitIf_stat(calculatorParser.If_statContext context) { Value evaluated = this.Visit(context.condition_block().expr()); if (evaluated.asBoolean() == true) { return(new Value(Visit(context.leftstat_block()))); } else if (evaluated.asBoolean() == false) { return(new Value(Visit(context.rightstat_block().expr()))); } return(new Value(false)); }
/// <summary> /// Visit a parse tree produced by <see cref="calculatorParser.if_stat"/>. /// <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 VisitIf_stat([NotNull] calculatorParser.If_statContext context) { return(VisitChildren(context)); }
/// <summary> /// Exit a parse tree produced by <see cref="calculatorParser.if_stat"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitIf_stat([NotNull] calculatorParser.If_statContext context) { }