Пример #1
0
        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);
        }
Пример #2
0
        public override Calc_node VisitConstE([NotNull] CalcParser.ConstEContext context)
        {
            Value_node node = new Value_node
            {
                isint   = false,
                fresult = Math.E
            };

            return(node);
        }