Пример #1
0
        private static bool DoBlock(Interpreter interpreter, SourceReader reader, State state)
        {
            var items   = reader.ReadMultiItemScope(TokenType.LeftCurly, TokenType.RightCurly, TokenType.Pipe, BracketPairs.All).ToArray();
            var attribs = interpreter.NextAttribs;

            interpreter._blockAttribs = new BlockAttribs();

            if (!items.Any() || !interpreter.TakeChance())
            {
                return(false);
            }

            var rep = new Repeater(items, attribs);

            interpreter.PushRepeater(rep);
            state.AddPreBlueprint(new RepeaterBlueprint(interpreter, rep));
            return(true);
        }