This file documents all notable changes to PHPeggy.
Released: 2023-03-21
- Downgrade package-lock.json to lockfile version 2
- use typescript 5
Released: 2023-03-20
- node ≥14 is required
- PHP ≥8.0 is required
- The initializer code is not added to Parser->parse() anymore. Instead the code will be added to Parser and a method initialize() will be called if it is provided:
class Parser { + initializer code block + it may contain + function initialize() {...} + public function parse() { ... - initializer code block + if (method_exists($this, 'initialize')) { + $this->initialize(); + } ... } }
- Use types in PHP wherever possible.
- Keep up with Peggy development up to version 3.0.0: Implementation of global initializer blocks, plucking (see Peggy 1.1.0 changelog), and repetition operator (see Peggy 3.0.0 changelog).
- Add custom header to generated parser via PHPeggyOptions
phpeggy: { header: '/* My custom header */' }
.
- Switch form Travis to GitHub Actions
- Added ESLint
- Use PHP-CS-Fixer to check generated PHP parsers
- Use Psalm and PHPStan for static analysis
- Split generate-php.js into several files
- Cleanup bytecode generator, PHP code is now exclusively in
generate-php.js
. - The attempt to use
mbstring
extension-dependent features with optionmbstringAllowed: false
will now throw an error inpasses.check
and notpasses.generate
.
Released: 2022-02-25
Fix php string concatenation (#1)
Released: 2021-10-11
First release
There has not been a change log for phpegjs
PHP PEG.js.