php-extended / php-parser-lexer
This library is an implementation of the php-extended/php-parser-interface based on a lexer for handling its data
Requires
- php: >=8.0
- php-extended/php-lexer-object: ^7
- php-extended/php-parser-object: ^7
Requires (Dev)
This package is auto-updated.
Last update: 2024-12-08 15:20:02 UTC
README
This library is an implementation of the php-extended/php-parser-interface based on a lexer for handling its data.
Installation
The installation of this library is made via composer and the autoloading of all classes of this library is made through their autoloader.
- Download
composer.phar
from their website. - Then run the following command to install this library as dependency :
php composer.phar php-extended/php-parser-lexer ^7
Basic Usage
This library provide a single class, the AbstractParserLexer
which is
made to be implemented. Its parseLexer
method must return a single object
from the whole string that its given, and throw a ParseException
if it is
impossible to do so.
It is advised that the parseLexer
method use a combination of :
public function parseLexer(LexerInterface $lexer)
{
$lexer->rewind(); // do not forget !
$token = $this->expectOneOf($lexer, [<tokenids>]);
$this->expectEof($lexer, $token);
return MyObject($token->getData());
}
As the LexerInterface
is an \Iterable
, you may as well use it
into a foreach loop.
License
MIT (See license file).