Download the PHP package smuuf/php-peg without Composer
On this page you can find all versions of the php package smuuf/php-peg. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Table of contents
Download smuuf/php-peg
More information about smuuf/php-peg
Files in smuuf/php-peg
Download smuuf/php-peg
More information about smuuf/php-peg
Files in smuuf/php-peg
Please rate this library. Is it a good library?
Informations about the package php-peg
PEG parser-generator for PHP
Disclaimer
This is a somehow opinionated continuation of combyna/php-peg, which was "a minimally invasive fork" of the original hafriedlander/php-peg.
From the several originally available types of PEG parsers only Basic
and Packrat
(recommended) remain now.
Notable features of this fork:
- Fix, Optimization: Packrat parser overhaul. Simplified logic using arrays instead of a string. Arrays ultimately seemed to be more fit for the job, memory-wise. This also fixed occasional problem with accessing undefined indexes in packrat cache.
- Modern code style: Codebase uses new (PHP7+) language features and code format more familiar to current modern PHP.
- CLI interface is removed: Just call
\hafriedlander\Peg\Compiler::compile($grammarDefinitionFile)
directly however you like. - Testing: Test suite is rewritten to use
Nette Tester
instead of PHPUnit. - Fixed: Catastrophic backtracking problem (sometimes happening when compiling a larger grammar) avoided by simplifying regex that searches for grammar definitions.
- Optimization: Using native PHP constants and functions with absolute namespace is slightly faster (changed in generated code, too).
- Optimization: Use strict comparisons where possible (even in generated code).
Documentation
All versions of php-peg with dependencies
PHP Build Version
Package Version
Requires
php Version
>=8.0
The package smuuf/php-peg contains the following files
Loading the files please wait ....