Fix build (7.2) CI failure: point apt to archive.debian.org for EOL buster (#426)
- Fix php:7.2 CI build by using archive.debian.org for buster
Co-authored-by: rzhao271 7199958+rzhao271@users.noreply.github.com
- Remove EOL PHP 7.2 from CI matrix instead of patching apt sources
Co-authored-by: rzhao271 7199958+rzhao271@users.noreply.github.com
Co-authored-by: copilot-swe-agent[bot] 198982749+Copilot@users.noreply.github.com Co-authored-by: rzhao271 7199958+rzhao271@users.noreply.github.com
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802047560号
Tolerant PHP Parser
This is an early-stage PHP parser designed, from the beginning, for IDE usage scenarios (see Design Goals for more details). There is still a ton of work to be done, so at this point, this repo mostly serves as an experiment and the start of a conversation.
This is the v0.1 branch, which changes data structures to support syntax added after the initial 0.0.x release line.
Get Started
After you’ve configured your machine, you can use the parser to generate and work with the Abstract Syntax Tree (AST) via a friendly API.
Design Goals
Current Status and Approach
To ensure a sufficient level of correctness at every step of the way, the parser is being developed using the following incremental approach:
Additional notes
A few of the PHP grammatical constructs (namely yield-expression, and template strings) are not yet supported and there are also other miscellaneous bugs. However, because the parser is error-tolerant, these errors are handled gracefully, and the resulting tree is otherwise complete. To get a more holistic sense for where we are, you can run the “validation” test suite (see Contributing Guidelines for more info on running tests). Or simply, take a look at the current validation test results.
Even though we haven’t yet begun the performance optimization stage, we have seen promising results so far, and have plenty more room for improvement. See How It Works for details on our current approach, and run the Performance Tests on your own machine to see for yourself.
Learn more
📈 Current Status and Approach - how much of the grammar is supported? Performance? Memory? API stability?
🔧 How it works - learn about the architecture, design decisions, and tradeoffs.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.