Пример #1
0
        private static bool DoMath(Interpreter interpreter, Token <R> firstToken, PatternReader reader, State state)
        {
            bool isStatement = reader.Take(R.At);
            var  tokens      = reader.ReadToScopeClose(R.LeftParen, R.RightParen, Brackets.All);

            interpreter.PushState(State.CreateSub(reader.Source, tokens, interpreter));
            state.AddPreBlueprint(new DelegateBlueprint(interpreter, _ =>
            {
                var v = Parser.Calculate(_, _.PopResultString());
                if (!isStatement)
                {
                    _.Print(_.FormatNumber(v));
                }
                return(false);
            }));
            return(true);
        }