4 * This file is part of Twig.
6 * (c) 2010 Fabien Potencier
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
11 class Twig_Extensions_Grammar_Body
extends Twig_Extensions_Grammar
15 public function __construct($name, $end = null)
17 parent
::__construct($name);
19 $this->end
= null === $end ? 'end'.$name : $end;
22 public function __toString()
24 return sprintf('<%s:body>', $this->name
);
27 public function parse(Twig_Token
$token)
29 $stream = $this->parser
->getStream();
30 $stream->expect(Twig_Token
::BLOCK_END_TYPE
);
32 return $this->parser
->subparse(array($this, 'decideBlockEnd'), true);
35 public function decideBlockEnd(Twig_Token
$token)
37 return $token->test($this->end
);