public override Value VisitInt_stat(calculatorParser.Int_statContext context) { Value value = Visit(context.expr()); int ret; if (value.isDouble()) { ret = (int)Math.Truncate(value.asDouble()); return(new Value(ret)); } else { throw new Exception("INT(not a number)"); } }
/// <summary> /// Visit a parse tree produced by <see cref="calculatorParser.int_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 VisitInt_stat([NotNull] calculatorParser.Int_statContext context) { return(VisitChildren(context)); }
/// <summary> /// Exit a parse tree produced by <see cref="calculatorParser.int_stat"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitInt_stat([NotNull] calculatorParser.Int_statContext context) { }