Catrobat.IDE.Core.Formulas.FormulaInterpreter.Interpret C# (CSharp) Method

Interpret() public static method

public static Interpret ( IList tokens, ParsingError &parsingError ) : FormulaTree
tokens IList
parsingError ParsingError
return Catrobat.IDE.Core.Models.Formulas.Tree.FormulaTree
        public static FormulaTree Interpret(IList<IFormulaToken> tokens, out ParsingError parsingError)
        {
            // TODO: split to InterpretNumber and InterpretLogic
            //var sw = new Stopwatch();
            //sw.Start();

            // interpret tokens
            var instance = new FormulaInterpreter();
            var result = instance.Interpret2(tokens);
            parsingError = instance.ParsingError;

            //sw.Stop();
            // Debug.WriteLine("Interpreter.Interpret needed " + sw.ElapsedMilliseconds + "ms");

            return result;
        }

Usage Example

Example #1
0
        public FormulaTree Parse(string input, out ParsingError parsingError)
        {
            var tokens = _tokenizer.Tokenize(input, out parsingError);

            if (parsingError != null)
            {
                return(null);
            }

            return(tokens == null ? null : FormulaInterpreter.Interpret(tokens.ToList(), out parsingError));
        }