diff --git a/core/composer.lock b/core/composer.lock index 536389885055c7fbe744f614f3c197376db55b31..83f7e0365f5cab883de831e5e2c6d0124aeace0a 100644 --- a/core/composer.lock +++ b/core/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "61a2b6dec8252d78e904d37fbf1637d7", + "hash": "9e0763598519826fa345ed30454ca14b", "packages": [ { "name": "behat/mink", @@ -570,22 +570,27 @@ }, { "name": "doctrine/lexer", - "version": "v1.0", + "version": "v1.0.1", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "v1.0" + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/2f708a85bb3aab5d99dab8be435abd73e0b18acb", - "reference": "v1.0", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", "shasum": "" }, "require": { "php": ">=5.3.2" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { "psr-0": { "Doctrine\\Common\\Lexer\\": "lib/" @@ -596,20 +601,17 @@ "MIT" ], "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, { "name": "Roman Borschel", "email": "roman@code-factory.org" }, { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } ], "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", @@ -618,7 +620,7 @@ "lexer", "parser" ], - "time": "2013-01-12 18:59:04" + "time": "2014-09-09 13:34:57" }, { "name": "easyrdf/easyrdf", diff --git a/core/vendor/composer/installed.json b/core/vendor/composer/installed.json index 457c12ec125a9f142f93766cb8020f795b621d0d..9be9d41037efd2ddb908bb8db96fd1fe7d759ca1 100644 --- a/core/vendor/composer/installed.json +++ b/core/vendor/composer/installed.json @@ -1,58 +1,4 @@ [ - { - "name": "doctrine/lexer", - "version": "v1.0", - "version_normalized": "1.0.0.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "v1.0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/2f708a85bb3aab5d99dab8be435abd73e0b18acb", - "reference": "v1.0", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "time": "2013-01-12 18:59:04", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-0": { - "Doctrine\\Common\\Lexer\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" - } - ], - "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "lexer", - "parser" - ] - }, { "name": "doctrine/inflector", "version": "v1.0", @@ -3397,5 +3343,61 @@ ], "description": "Symfony BrowserKit Component", "homepage": "https://symfony.com" + }, + { + "name": "doctrine/lexer", + "version": "v1.0.1", + "version_normalized": "1.0.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "time": "2014-09-09 13:34:57", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-0": { + "Doctrine\\Common\\Lexer\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "lexer", + "parser" + ] } ] diff --git a/core/vendor/doctrine/lexer/LICENSE b/core/vendor/doctrine/lexer/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..5e781fce4bb504715ba0ec0188715b18a198ca6b --- /dev/null +++ b/core/vendor/doctrine/lexer/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2006-2013 Doctrine Project + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/core/vendor/doctrine/lexer/composer.json b/core/vendor/doctrine/lexer/composer.json index 5e6e83a1ac9c11b4c9fa9d020830e57351efe151..8cd694c6525462fb0189392c3862c1f0d22a8cdf 100644 --- a/core/vendor/doctrine/lexer/composer.json +++ b/core/vendor/doctrine/lexer/composer.json @@ -15,5 +15,10 @@ }, "autoload": { "psr-0": { "Doctrine\\Common\\Lexer\\": "lib/" } + }, + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } } } diff --git a/core/vendor/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php b/core/vendor/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php index eb6cf7c022ebf9b35c9b70f7bfdf6e6a1afb874b..399a55230b0871e19fea7c5d2a6466a08d6fcd43 100644 --- a/core/vendor/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php +++ b/core/vendor/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php @@ -22,35 +22,58 @@ /** * Base class for writing simple lexers, i.e. for creating small DSLs. * - * @since 2.0 - * @author Guilherme Blanco <guilhermeblanco@hotmail.com> - * @author Jonathan Wage <jonwage@gmail.com> - * @author Roman Borschel <roman@code-factory.org> + * @since 2.0 + * @author Guilherme Blanco <guilhermeblanco@hotmail.com> + * @author Jonathan Wage <jonwage@gmail.com> + * @author Roman Borschel <roman@code-factory.org> */ abstract class AbstractLexer { /** - * @var array Array of scanned tokens + * Lexer original input string. + * + * @var string + */ + private $input; + + /** + * Array of scanned tokens. + * + * Each token is an associative array containing three items: + * - 'value' : the string value of the token in the input string + * - 'type' : the type of the token (identifier, numeric, string, input + * parameter, none) + * - 'position' : the position of the token in the input string + * + * @var array */ private $tokens = array(); /** - * @var integer Current lexer position in input string + * Current lexer position in input string. + * + * @var integer */ private $position = 0; /** - * @var integer Current peek of current lexer position + * Current peek of current lexer position. + * + * @var integer */ private $peek = 0; /** - * @var array The next token in the input. + * The next token in the input. + * + * @var array */ public $lookahead; /** - * @var array The last matched/seen token. + * The last matched/seen token. + * + * @var array */ public $token; @@ -61,16 +84,22 @@ abstract class AbstractLexer * Any unprocessed tokens from any previous input are lost. * * @param string $input The input to be tokenized. + * + * @return void */ public function setInput($input) { + $this->input = $input; $this->tokens = array(); + $this->reset(); $this->scan($input); } /** * Resets the lexer. + * + * @return void */ public function reset() { @@ -82,6 +111,8 @@ public function reset() /** * Resets the peek pointer to 0. + * + * @return void */ public function resetPeek() { @@ -91,17 +122,32 @@ public function resetPeek() /** * Resets the lexer position on the input to the given position. * - * @param integer $position Position to place the lexical scanner + * @param integer $position Position to place the lexical scanner. + * + * @return void */ public function resetPosition($position = 0) { $this->position = $position; } + /** + * Retrieve the original lexer's input until a given position. + * + * @param integer $position + * + * @return string + */ + public function getInputUntilPosition($position) + { + return substr($this->input, 0, $position); + } + /** * Checks whether a given token matches the current lookahead. * * @param integer|string $token + * * @return boolean */ public function isNextToken($token) @@ -110,9 +156,10 @@ public function isNextToken($token) } /** - * Checks whether any of the given tokens matches the current lookahead + * Checks whether any of the given tokens matches the current lookahead. * * @param array $tokens + * * @return boolean */ public function isNextTokenAny(array $tokens) @@ -123,13 +170,7 @@ public function isNextTokenAny(array $tokens) /** * Moves to the next token in the input string. * - * A token is an associative array containing three items: - * - 'value' : the string value of the token in the input string - * - 'type' : the type of the token (identifier, numeric, string, input - * parameter, none) - * - 'position' : the position of the token in the input string - * - * @return array|null the next token; null if there is no more tokens left + * @return boolean */ public function moveNext() { @@ -145,6 +186,8 @@ public function moveNext() * Tells the lexer to skip input tokens until it sees a token with the given value. * * @param string $type The token type to skip until. + * + * @return void */ public function skipUntil($type) { @@ -154,10 +197,11 @@ public function skipUntil($type) } /** - * Checks if given value is identical to the given token + * Checks if given value is identical to the given token. * - * @param mixed $value + * @param mixed $value * @param integer $token + * * @return boolean */ public function isA($value, $token) @@ -168,7 +212,7 @@ public function isA($value, $token) /** * Moves the lookahead token forward. * - * @return array | null The next token or NULL if there are no more tokens ahead. + * @return array|null The next token or NULL if there are no more tokens ahead. */ public function peek() { @@ -194,15 +238,21 @@ public function glimpse() /** * Scans the input string for tokens. * - * @param string $input a query string + * @param string $input A query string. + * + * @return void */ protected function scan($input) { static $regex; if ( ! isset($regex)) { - $regex = '/(' . implode(')|(', $this->getCatchablePatterns()) . ')|' - . implode('|', $this->getNonCatchablePatterns()) . '/i'; + $regex = sprintf( + '/(%s)|%s/%s', + implode(')|(', $this->getCatchablePatterns()), + implode('|', $this->getNonCatchablePatterns()), + $this->getModifiers() + ); } $flags = PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_OFFSET_CAPTURE; @@ -224,6 +274,7 @@ protected function scan($input) * Gets the literal for a given token. * * @param integer $token + * * @return string */ public function getLiteral($token) @@ -241,6 +292,16 @@ public function getLiteral($token) return $token; } + /** + * Regex modifiers + * + * @return string + */ + protected function getModifiers() + { + return 'i'; + } + /** * Lexical catchable patterns. * @@ -259,6 +320,7 @@ abstract protected function getNonCatchablePatterns(); * Retrieve token type. Also processes the token value if necessary. * * @param string $value + * * @return integer */ abstract protected function getType(&$value);