parser
parser copied to clipboard
A handwritten fault-tolerant, recursive-descent parser for PHP written in Rust.
Introduce support for [anonymous readonly classes](https://stitcher.io/blog/new-in-php-83#anonymous-readonly-classes-upgrading)
Add support for [typed class constants](https://wiki.php.net/rfc/typed_class_constants) coming with php 8.3 This is my first rust contribution so if there's some basic stuff that I missed please tell me 🙂
Could you please provide a short example for how to use `traverser::Visitor`? I'm not sure how to match for `&mut dyn Node` cases when traversing the AST
Run with `cargo fuzz run parse` https://github.com/php-rust-tools/parser/issues/136
currently comments are skipped everywhere, however, we should instead: 1. collect comments on every `state.next()` call 2. retrieve comments and place them on the next statement.
An AST printer should be able to take an AST generated by the parser and reconstruct the original PHP source code. This will be especially useful for some tools I...