def grid(self): """Parse a DAP grid, returning a ``GridType``.""" grid = GridType('nameless') self.consume('grid') self.consume('{') self.consume('array') self.consume(':') array = self.base() grid[array.name] = array self.consume('maps') self.consume(':') while not self.peek('}'): var = self.base() grid[var.name] = var self.consume('}') grid.name = quote(self.consume('[^;]+')) self.consume(';') return grid