go-parser
PHP Parser
go-parser | PHP Parser | |
---|---|---|
2 | 11 | |
38 | 16,835 | |
- | - | |
3.3 | 8.3 | |
8 months ago | 14 days ago | |
PHP | PHP | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
go-parser
-
Golang Parser Written in PHP 8.1
But that raises the question of: why did you choose to use a switch statement in https://github.com/tuqqu/go-parser/blob/main/src/NodeDumper.php
PHP Parser
- PHP-Parser: A PHP parser written in PHP
-
Diff Speeding - Rector and sebastian/diff speed improvements through profiling
Interesting. One of the reasons I stopped considering Rector is because of how memory, CPU, and time intensive it is for a non-trivial project. Instead I've been using Nikita's PHP Parser directly and getting much better results even though it isn't multi-threaded out of the box.
-
PHP Skeleton for Bison
nikic/PHP-Parser uses a Bison equivalent for PHP parsing. See the grammar file https://github.com/nikic/PHP-Parser/blob/4.x/grammar/php7.y.
-
Alternative for nette/tokenizer?
Maybe nikic/PHP-Parser is an alternative. If you only need to tokenizer part, PHP has an extension too.
-
How PHP engine builds AST
nikic/PHP-Parser
-
Parsing with PHP, Bison and re2c
Code parsing. Many linters and code builders use php-parser. It uses YACC (analog Bison) to build AST.
-
Readonly classes RFC accepted
The PR in PHP-Parser is already on the way ↓ https://github.com/nikic/PHP-Parser/pull/834
-
[Question] Trying to understand, how does the PHP Parser work when it sees HTML?
I see there is the https://github.com/nikic/PHP-Parser
-
I was annoyed by some of PHP's syntax, so I decided to make a PHP transpiler (still in beta!)
It's good idea. But something strange. Php was made as language which embedded to HTML. And how will it work without open and close tags? Instead of parsing and replacing source code as string you might use parser e.g https://github.com/nikic/PHP-Parser
-
Tree-sitter: an incremental parsing system for programming tools
I wish there was a more universal format for parsers, but I just don't think there enough people who know their stuff.
Take PHP, a language that a lot of people use: the tree-sitter-php extension doesn't support features added in 2019, let alone features added towards the end of 2020.
If you want an up-to-date PHP parser, there's really only one open-source parser[0] that's accurate enough to be used on PHP codebases old and new, and it's written in PHP. Then if you want to parse in a robust fashion you have to adopt a number of hacks to get everything working.
I hadn't encountered LSIF before – can GitHub be configured to use those maps?
[0] https://github.com/nikic/PHP-Parser
What are some alternatives?
graphql-go-tools - GraphQL Router / API Gateway framework written in Golang, focussing on correctness, extensibility, and high-performance. Supports Federation v1 & v2, Subscriptions & more.
PHPStan - PHP Static Analysis Tool - discover bugs in your code without running it!
phplrt - PHP Language Recognition Tool
PHP Code Sniffer - PHP_CodeSniffer tokenizes PHP files and detects violations of a defined set of coding standards.
php-parser - :herb: NodeJS PHP Parser - extract AST or tokens
PHP CS Fixer - A tool to automatically fix PHP Coding Standards issues
tolerant-php-parser - An early-stage PHP parser designed for IDE usage scenarios.
PHPCPD - Copy/Paste Detector (CPD) for PHP code.
css - A CSS parser and minifier and sourcemap generator written in PHP
Better Reflection - :crystal_ball: Better Reflection is a reflection API that aims to improve and provide more features than PHP's built-in reflection API.
PHP Mess Detector - PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD. PHPMD can be seen as an user friendly frontend application for the raw metrics stream measured by PHP Depend.
tree-sitter - An incremental parsing system for programming tools