mirror of
https://github.com/danog/parser.git
synced 2024-11-30 04:29:13 +01:00
.. | ||
src | ||
Cargo.toml | ||
README.md |
Trunk Parser
A handwritten recursive-descent parser for PHP code.
Overview
The parser produces an abstract syntax tree containing Statement
and Expression
types describing the PHP code provided.
Usage
use trunk_lexer::*;
use trunk_parser::*;
let mut lexer = Lexer::new(None);
let tokens = lexer.tokenize(&source_code[..]).unwrap();
let mut parser = Parser::new(None);
let ast = parser.parse(tokens).unwrap();
The resulting ast
is a Vec<trunk_parser::Statement>
and can easily be iterated or converted into a dedicated iterator type.