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 ```rust 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` and can easily be iterated or converted into a dedicated iterator type.