| Crates.io | backyard-parser |
| lib.rs | backyard-parser |
| version | 0.1.10 |
| created_at | 2024-11-27 13:54:34.426434+00 |
| updated_at | 2024-12-17 03:40:28.729961+00 |
| description | Parse PHP code to AST node. |
| homepage | |
| repository | https://github.com/Alzera/backyard |
| max_upload_size | |
| id | 1463096 |
| size | 624,575 |
Parse PHP code to AST node.
fn main() {
let arena = bumpalo::Bump::new();
let code = r#"<?php
function hello_world($foo) {
var_dump($foo);
}"#;
let parsed = backyard_parser::parse(&arena, code).unwrap();
println!("{:?}", parsed.print(false, false));
}
Notice this output is not including leadings, trailings and location because we print it with print(false, false), more on backyard-nodes.
ProgramNode
└-children[]
╙-FunctionNode
├-is_ref: false
├-name
│ └-IdentifierNode
│ └-name: "hello_world"
├-parameters[]
│ ╙-ParameterNode
│ ├-variable_type: -
│ ├-is_ref: false
│ ├-is_ellipsis: false
│ ├-name
│ │ └-IdentifierNode
│ │ └-name: "foo"
│ └-value: -
├-return_type: -
└-body
└-BlockNode
└-statements[]
╙-CallNode
├-name
│ └-IdentifierNode
│ └-name: "var_dump"
└-arguments[]
╙-CallArgumentNode
├-name: -
└-value
└-VariableNode
└-name
└-IdentifierNode
└-name: "foo"