2017 © Pedro Peláez
 

library php-peg

PEG parser generator for PHP.

image

smuuf/php-peg

PEG parser generator for PHP.

  • Thursday, March 8, 2018
  • by smuuf
  • Repository
  • 1 Watchers
  • 0 Stars
  • 173 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 45 Forks
  • 0 Open issues
  • 7 Versions
  • 7 % Grown

The README.md

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., (*1)

From the several originally available types of PEG parsers only Basic and Packrat (recommended) remain now., (*2)

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

See the documentation of the original library., (*3)

The Versions

08/03 2018

dev-master

9999999-dev https://github.com/smuuf/php-peg

PEG parser generator for PHP.

  Sources   Download

MIT

The Requires

  • php >=7.0

 

The Development Requires

by Hamish Friedlander
by Dan Phillimore

parser dsl compiler peg

08/03 2018

2.1

2.1.0.0 https://github.com/smuuf/php-peg

PEG parser generator for PHP.

  Sources   Download

MIT

The Requires

  • php >=7.0

 

The Development Requires

by Hamish Friedlander
by Dan Phillimore

parser dsl compiler peg

03/03 2017

2.0.1

2.0.1.0 https://github.com/combyna/php-peg

PEG parser-generator for PHP

  Sources   Download

MIT BSD-3-Clause GPL-2.0

The Requires

  • php >=5.3.0

 

by Hamish Friedlander
by Dan Phillimore

parser dsl compiler peg

03/03 2017

2.0.0

2.0.0.0 https://github.com/combyna/php-peg

PEG parser-generator for PHP

  Sources   Download

MIT BSD-3-Clause GPL-2.0

The Requires

  • php >=5.3.0

 

by Hamish Friedlander
by Dan Phillimore

parser dsl compiler peg

03/03 2017

1.0.2

1.0.2.0 https://github.com/combyna/php-peg

PEG parser-generator for PHP

  Sources   Download

MIT BSD-3-Clause GPL-2.0

The Requires

  • php >=5.3.0

 

by Hamish Friedlander
by Dan Phillimore

parser dsl compiler peg

01/11 2014

1.0.1

1.0.1.0 https://github.com/hnesk/php-peg

Minimally invasive fork of hafriedlander/php-peg with support for composer autoloading

  Sources   Download

MIT BSD-3-Clause GPL-2.0

The Requires

  • php >=5.3.0

 

by Hamish Friedlander

parser dsl compiler peg

01/11 2014

1.0.0

1.0.0.0 https://github.com/hnesk/php-peg

Minimally invasive fork of hafriedlander/php-peg with support for composer autoloading

  Sources   Download

MIT BSD-3-Clause GPL-2.0

The Requires

  • php >=5.3.0

 

by Hamish Friedlander

parser dsl compiler peg