smuuf/php-peg 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

smuuf/php-peg

最新稳定版本:3.1.0

Composer 安装命令:

composer require smuuf/php-peg

包简介

PEG parser generator for PHP.

README 文档

README

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

See the documentation of the original library.

统计信息

  • 总下载量: 112.05k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 11
  • 点击次数: 1
  • 依赖项目数: 3
  • 推荐数: 0

GitHub 信息

  • Stars: 11
  • Watchers: 4
  • Forks: 53
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-03-08