Phplrt Versions Save

PHP Language Recognition Tool

3.6.5

1 month ago
  • Actualize dev dependecies.
  • Apply new PER-2.0 ruleset.
  • Remove deprecated possibleTokensSearching parser's option.

3.6.4

2 months ago
  • Add simple 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

3.6.3

2 months ago
  • Improve grammar code generation formatting.

Full Changelog: https://github.com/phplrt/phplrt/compare/3.6.2...3.6.3

3.6.2

2 months ago
  • EOI token now prints "end of input" message.
  • Undefined token now prints only value.

Full Changelog: https://github.com/phplrt/phplrt/compare/3.6.1...3.6.2

3.6.1

2 months ago
  • Added support for custom "end of input" token names:
$lexer = new Lexer(..., eoi: 'CUSTOM_EOI_NAME');

Full Changelog: https://github.com/phplrt/phplrt/compare/3.6.0...3.6.1

3.6.0

3 months ago

phplrt/compiler

  • Optimize code generator.
  • Removed zend (laminas) dependency.
  • Add basic support for non-PHP grammar.
  • Hide "internal" classes from global scope.

phplrt/lexer

  • Added support for error, eoi and unknown tokens interception.
  • Added support lexer-aware exception interfaces support.

phplrt/lexer-contracts

  • LexerInterface::lex($source) signature has been updated to LexerInterface::lex(ReadableInterface $source)
  • Added exception interfaces.

phplrt/parser-contracts

  • ParserInterface::parse($source) signature has been updated to ParserInterface::parse(ReadableInterface $source)
  • Added exception interfaces.

phplrt/source

  • Added the ability to add own source creators.

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

3.5.2

3 months ago
  • Upgrade and fix composer dependencies

3.5.1

3 months ago
  • Minor PER2.0 codestyle and type fixes.

3.5.0

5 months ago
  • Semver typo fix for previous 3.4.3 release.

3.4.3

5 months ago
  • Added Parser::getLastExecutionContext() method (typically used with "tolerant" parsing mode).