A handwritten recursive-descent parser for PHP written in Rust.
Warning: This crate is not ready for any form of production use yet. There are still a lot of things missing from the parser, so please use at your own risk.
Add php-parser-rs
in your Cargo.toml
's dependencies
section
toml
[dependencies]
php-parser-rs = "0.0.0-b3"
or use cargo add
sh
cargo add php-parser-rs
```rust use phpparserrs::parse; use phpparserrs::lexer::Lexer;
fn main() -> ParseResult<()> { let lexer = Lexer::new();
let code = "
function hello(): void { echo 'Hello, World!'; }
hello(); ";
let tokens = lexer.tokenize(code.as_bytes())?;
let ast = parse(tokens)?;
dbg!(ast);
Ok(())
} ```
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.