PHP Language Recognition Tool
possibleTokensSearching
parser's option.array_is_list
function polyfill in phplrt/compiler
package for old PHP versions.Full Changelog: https://github.com/phplrt/phplrt/compare/3.6.3...3.6.4
Full Changelog: https://github.com/phplrt/phplrt/compare/3.6.2...3.6.3
Full Changelog: https://github.com/phplrt/phplrt/compare/3.6.1...3.6.2
$lexer = new Lexer(..., eoi: 'CUSTOM_EOI_NAME');
Full Changelog: https://github.com/phplrt/phplrt/compare/3.6.0...3.6.1
phplrt/compiler
phplrt/lexer
phplrt/lexer-contracts
LexerInterface::lex($source)
signature has been updated to LexerInterface::lex(ReadableInterface $source)
phplrt/parser-contracts
ParserInterface::parse($source)
signature has been updated to ParserInterface::parse(ReadableInterface $source)
phplrt/source
phplrt/source-contracts
SourceFactoryInterface
has been simplified to one method create($source): ReadableInterface
...and something more.
Deprecations:
phplrt/compiler
-- Compiler::getAnalyzer()
will be renamed to Compiler::getContext()
.phplrt/exception-contracts
-- RuntimeExceptionInterface
will be removed.phplrt/lexer-contracts
-- TokenInterface::END_OF_INPUT
will be deprecated (suggest vendor-specific token name).phplrt/lexer
-- Lexer::disableUnrecognizedTokenException()
will be replaced to Lexer::withUnknownTokenHandler()
.phplrt/lexer
-- Lexer::getDriver()
will be deleted.phplrt/lexer
-- Lexer::setDriver()
will be deleted.phplrt/lexer
-- Lexer\Compiler\CompilerInterface
will be deleted.phplrt/lexer
-- Lexer\Compiler\Markers
will be deleted.phplrt/lexer
-- Lexer\Compiler\PCRECompiler
will be deleted.phplrt/lexer
-- Lexer\Driver\Driver
will be deleted.phplrt/lexer
-- Lexer\Driver\DriverInterface
will be deleted.phplrt/lexer
-- Lexer\Driver\Markers
will be deleted.Full Changelog: https://github.com/phplrt/phplrt/compare/3.5.2...3.6.0
Parser::getLastExecutionContext()
method (typically used with "tolerant" parsing mode).