tysonandre/tolerant-php-parser-to-php-ast

使用 Microsoft/tolerant-php-parser 的纯 PHP 替代品,用于 nikic/php-ast。也可以用于生成带有某些类型语法错误的文件的 php-ast 树。

1.0.1 2020-10-04 17:14 UTC

This package is auto-updated.

Last update: 2024-09-05 02:36:11 UTC


README

Build Status Latest Stable Version License

该项目使用 Microsoft/tolerant-php-parser 生成具有容错性的树,然后将该树转换为从 php-ast 的 ast\Node。

此版本支持 AST 版本 70。

使用方法

将其用作 php-ast 的慢速替代品

将其用作 php-ast 的容错替代品(例如,用于 IDE 中)

  • 目前有两种模式:忽略错误和添加占位符(例如 __INCOMPLETE_VARIABLE__)。
  • 忽略错误仅处理在编辑文件时出现的某些常见情况。
  • 占位符可能会在未来更改。
  • tests/ASTConverter/ErrorTolerantConversionTest.php
  • Phan's 语言服务器使用此代码来完成。

运行单元测试

要运行单元测试,您必须安装 nikic/php-ast 1.0.1+(以创建预期的结果)。如果您还没有这样做,还必须运行 composer install

  • 对于 php 7.4,必须安装 php-ast 1.0.3+。
  • 对于 php 8.0,必须安装 php-ast 1.0.10+。
  • 然后运行 vendor/bin/phpunit

可能未来的增强

  • 添加一个模式,永远不接受无效的 PHP(为了完整性)