示例#1
0
文件: Calculator .cs 项目: dongtx/D7
        public Result Evaluate(string formula)
        {
            var stream = new AntlrInputStream(formula);
            var lexer  = new ExpressionLexer(stream);
            var tokens = new CommonTokenStream(lexer);
            var parser = new ExpressionParser(tokens);
            var tree   = parser.program();

            Result result = Visit(tree);

            return(result);
        }
示例#2
0
文件: Traveler.cs 项目: dongtx/D7
        internal Result Execute(string formula, out IParseTree tree)
        {
            ErrorListener listener = new ErrorListener();

            listener.Owner        = Owner;
            listener.ErrorOutput += ErrorOutput;

            var stream = new AntlrInputStream(formula);
            var lexer  = new ExpressionLexer(stream);
            var tokens = new CommonTokenStream(lexer);
            var parser = new ExpressionParser(tokens);

            parser.AddErrorListener(listener);

            tree = parser.program();

            return(Visit(tree));
        }