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); }