parser/trunk_parser/README.md
2022-09-12 00:45:42 +01:00

633 B

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.