function parse(PEG_IContext $context) { list($hit, list($end, $val)) = $context->cache($this); if ($hit) { $context->seek($end); return $val; } $start = $context->tell(); $val = $this->parser->parse($context); $end = $context->tell(); $context->save($this, $start, $end, $val); return $val; }