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
Requires
- php: >=7.2
- microsoft/tolerant-php-parser: 0.0.23
Requires (Dev)
- phan/phan: ^3.0.4
- phpunit/phpunit: ^7.5
Suggests
- ext-ast: ^1.0.6
This package is auto-updated.
Last update: 2024-09-05 02:36:11 UTC
README
该项目使用 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(为了完整性)