static Node ParseBlock() { CommandBlock node = new CommandBlock(); if (tokens.Current.Type == TokenTypes.LBRACE) { tokens.SelectNext(); while (tokens.Current.Type != TokenTypes.RBRACE) { node.AddChild(ParseCommand()); } tokens.SelectNext(); } else { throw new RaulException($"Expected '{{' at {tokens.Position}"); } return(node); }