public override Calc_node VisitNode([NotNull] CalcParser.NodeContext context) { Value_node node = new Value_node(); string text = context.GetText(); if (text.ToLower() == "pi" || text == "π") { node.isint = false; node.fresult = Math.PI; } else if (text.ToLower() == "e") { node.isint = false; node.fresult = Math.E; } else { try { node.isint = true; node.result = Convert.ToInt32(text); } catch { node.isint = false; node.fresult = Convert.ToDouble(text); } } return(node); }
public override Calc_node VisitConstE([NotNull] CalcParser.ConstEContext context) { Value_node node = new Value_node { isint = false, fresult = Math.E }; return(node); }