Initial commit with Symfony 2.1+Vendors

Signed-off-by: Gergely POLONKAI (W00d5t0ck) <polesz@w00d5t0ck.info>
This commit is contained in:
Polonkai Gergely
2012-07-01 09:52:20 +02:00
commit 082a0130c2
5381 changed files with 416709 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
<?php
/*
* This file is part of Twig.
*
* (c) 2010 Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Twig_Extensions_Grammar_Arguments extends Twig_Extensions_Grammar
{
public function __toString()
{
return sprintf('<%s:arguments>', $this->name);
}
public function parse(Twig_Token $token)
{
return $this->parser->getExpressionParser()->parseArguments();
}
}

View File

@@ -0,0 +1,22 @@
<?php
/*
* This file is part of Twig.
*
* (c) 2010 Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Twig_Extensions_Grammar_Array extends Twig_Extensions_Grammar
{
public function __toString()
{
return sprintf('<%s:array>', $this->name);
}
public function parse(Twig_Token $token)
{
return $this->parser->getExpressionParser()->parseArrayExpression();
}
}

View File

@@ -0,0 +1,39 @@
<?php
/*
* This file is part of Twig.
*
* (c) 2010 Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Twig_Extensions_Grammar_Body extends Twig_Extensions_Grammar
{
protected $end;
public function __construct($name, $end = null)
{
parent::__construct($name);
$this->end = null === $end ? 'end'.$name : $end;
}
public function __toString()
{
return sprintf('<%s:body>', $this->name);
}
public function parse(Twig_Token $token)
{
$stream = $this->parser->getStream();
$stream->expect(Twig_Token::BLOCK_END_TYPE);
return $this->parser->subparse(array($this, 'decideBlockEnd'), true);
}
public function decideBlockEnd($token)
{
return $token->test($this->end);
}
}

View File

@@ -0,0 +1,24 @@
<?php
/*
* This file is part of Twig.
*
* (c) 2010 Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Twig_Extensions_Grammar_Boolean extends Twig_Extensions_Grammar
{
public function __toString()
{
return sprintf('<%s:boolean>', $this->name);
}
public function parse(Twig_Token $token)
{
$this->parser->getStream()->expect(Twig_Token::NAME_TYPE, array('true', 'false'));
return new Twig_Node_Expression_Constant('true' === $token->getValue() ? true : false, $token->getLine());
}
}

View File

@@ -0,0 +1,37 @@
<?php
/*
* This file is part of Twig.
*
* (c) 2010 Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Twig_Extensions_Grammar_Constant extends Twig_Extensions_Grammar
{
protected $type;
public function __construct($name, $type = null)
{
$this->name = $name;
$this->type = null === $type ? Twig_Token::NAME_TYPE : $type;
}
public function __toString()
{
return $this->name;
}
public function parse(Twig_Token $token)
{
$this->parser->getStream()->expect($this->type, $this->name);
return $this->name;
}
public function getType()
{
return $this->type;
}
}

View File

@@ -0,0 +1,22 @@
<?php
/*
* This file is part of Twig.
*
* (c) 2010 Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Twig_Extensions_Grammar_Expression extends Twig_Extensions_Grammar
{
public function __toString()
{
return sprintf('<%s>', $this->name);
}
public function parse(Twig_Token $token)
{
return $this->parser->getExpressionParser()->parseExpression();
}
}

View File

@@ -0,0 +1,22 @@
<?php
/*
* This file is part of Twig.
*
* (c) 2010 Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Twig_Extensions_Grammar_Hash extends Twig_Extensions_Grammar
{
public function __toString()
{
return sprintf('<%s:hash>', $this->name);
}
public function parse(Twig_Token $token)
{
return $this->parser->getExpressionParser()->parseHashExpression();
}
}

View File

@@ -0,0 +1,24 @@
<?php
/*
* This file is part of Twig.
*
* (c) 2010 Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Twig_Extensions_Grammar_Number extends Twig_Extensions_Grammar
{
public function __toString()
{
return sprintf('<%s:number>', $this->name);
}
public function parse(Twig_Token $token)
{
$this->parser->getStream()->expect(Twig_Token::NUMBER_TYPE);
return new Twig_Node_Expression_Constant($token->getValue(), $token->getLine());
}
}

View File

@@ -0,0 +1,69 @@
<?php
/*
* This file is part of Twig.
*
* (c) 2010 Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Twig_Extensions_Grammar_Optional extends Twig_Extensions_Grammar
{
protected $grammar;
public function __construct()
{
$this->grammar = array();
foreach (func_get_args() as $grammar) {
$this->addGrammar($grammar);
}
}
public function __toString()
{
$repr = array();
foreach ($this->grammar as $grammar) {
$repr[] = (string) $grammar;
}
return sprintf('[%s]', implode(' ', $repr));
}
public function addGrammar(Twig_Extensions_GrammarInterface $grammar)
{
$this->grammar[] = $grammar;
}
public function parse(Twig_Token $token)
{
// test if we have the optional element before consuming it
if ($this->grammar[0] instanceof Twig_Extensions_Grammar_Constant) {
if (!$this->parser->getStream()->test($this->grammar[0]->getType(), $this->grammar[0]->getName())) {
return array();
}
} elseif ($this->grammar[0] instanceof Twig_Extensions_Grammar_Name) {
if (!$this->parser->getStream()->test(Twig_Token::NAME_TYPE)) {
return array();
}
} elseif ($this->parser->getStream()->test(Twig_Token::BLOCK_END_TYPE)) {
// if this is not a Constant or a Name, it must be the last element of the tag
return array();
}
$elements = array();
foreach ($this->grammar as $grammar) {
$grammar->setParser($this->parser);
$element = $grammar->parse($token);
if (is_array($element)) {
$elements = array_merge($elements, $element);
} else {
$elements[$grammar->getName()] = $element;
}
}
return $elements;
}
}

View File

@@ -0,0 +1,24 @@
<?php
/*
* This file is part of Twig.
*
* (c) 2010 Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Twig_Extensions_Grammar_Switch extends Twig_Extensions_Grammar
{
public function __toString()
{
return sprintf('<%s:switch>', $this->name);
}
public function parse(Twig_Token $token)
{
$this->parser->getStream()->expect(Twig_Token::NAME_TYPE, $this->name);
return new Twig_Node_Expression_Constant(true, $token->getLine());
}
}

View File

@@ -0,0 +1,56 @@
<?php
/*
* This file is part of Twig.
*
* (c) 2010 Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class Twig_Extensions_Grammar_Tag extends Twig_Extensions_Grammar
{
protected $grammar;
public function __construct()
{
$this->grammar = array();
foreach (func_get_args() as $grammar) {
$this->addGrammar($grammar);
}
}
public function __toString()
{
$repr = array();
foreach ($this->grammar as $grammar) {
$repr[] = (string) $grammar;
}
return implode(' ', $repr);
}
public function addGrammar(Twig_Extensions_GrammarInterface $grammar)
{
$this->grammar[] = $grammar;
}
public function parse(Twig_Token $token)
{
$elements = array();
foreach ($this->grammar as $grammar) {
$grammar->setParser($this->parser);
$element = $grammar->parse($token);
if (is_array($element)) {
$elements = array_merge($elements, $element);
} else {
$elements[$grammar->getName()] = $element;
}
}
$this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
return $elements;
}
}