Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
D
drupal
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Custom Issue Tracker
Custom Issue Tracker
Labels
Merge Requests
229
Merge Requests
229
Requirements
Requirements
List
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Analytics
Analytics
Code Review
Insights
Issue
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
project
drupal
Commits
0dad9be9
Commit
0dad9be9
authored
Jul 02, 2015
by
webchick
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Issue
#2516078
by cilefen, naveenvalecha: Upgrade doctrine/lexer to v1.0.1
parent
79c2dc4c
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
183 additions
and
93 deletions
+183
-93
core/composer.lock
core/composer.lock
+17
-15
core/vendor/composer/installed.json
core/vendor/composer/installed.json
+56
-54
core/vendor/doctrine/lexer/LICENSE
core/vendor/doctrine/lexer/LICENSE
+19
-0
core/vendor/doctrine/lexer/composer.json
core/vendor/doctrine/lexer/composer.json
+5
-0
core/vendor/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php
...octrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php
+86
-24
No files found.
core/composer.lock
View file @
0dad9be9
...
...
@@ -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": "201
3-01-12 18:59:04
"
"time": "201
4-09-09 13:34:57
"
},
{
"name": "easyrdf/easyrdf",
...
...
core/vendor/composer/installed.json
View file @
0dad9be9
[
{
"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"
]
}
]
core/vendor/doctrine/lexer/LICENSE
0 → 100644
View file @
0dad9be9
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.
core/vendor/doctrine/lexer/composer.json
View file @
0dad9be9
...
...
@@ -15,5 +15,10 @@
},
"autoload"
:
{
"psr-0"
:
{
"Doctrine\\Common\\Lexer\\"
:
"lib/"
}
},
"extra"
:
{
"branch-alias"
:
{
"dev-master"
:
"1.0.x-dev"
}
}
}
core/vendor/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php
View file @
0dad9be9
...
...
@@ -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 @@ public function getLiteral($token)
* Retrieve token type. Also processes the token value if necessary.
*
* @param string $value
*
* @return integer
*/
abstract
protected
function
getType
(
&
$value
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment