PEG Parser Generator
This project is still unstable. Some features like case-insensitive literals are stil missing. The rest should work, though.
Install this tool as a dev requirement:
"require-dev": {
"scato/phpeg": "1.*"
}
You can now generate (and regenerate) parsers using the command line tool:
$ vendor/bin/phpeg generate <input-file> [<output-file>]
Read the grammar section in the documentation for help on the grammar syntax. Read the usage section for more details on both basic and advanced usage.
PHPeg is a PEG parser generator.
The generated parser is a PEG parser that uses memoization. This effectively makes it a Packrat Parser, or so I'm told.
PHPeg is heavily inspired by PEG.js. The grammar section contains details on the differences.