.github/workflows | ||
blog | ||
meta | ||
trunk_interpreter | ||
trunk_lexer | ||
trunk_parser | ||
.gitignore | ||
Cargo.toml | ||
README.md |
Trunk
A collection of modern libraries and tools for working with PHP.
Overview
The Trunk project originally started with me (Ryan) experimenting with a handwritten recursive-descent parser for PHP written in Rust. The parser evolved very quickly and I found myself already being able to parse relatively complex programs that I had written myself.
Once I had something worth sharing, I created this GitHub repository and some people were interested in what I was doing. Since then, it's become a hobby project for myself and I tend to work on it in my spare time.
The current goal for Trunk is to get a fully functional parser up and running so that it can be used in some meaningful projects, aimed at bringing the speed and performance of modern PHP tooling closer to that of our cousins in JavaScript land.
Libraries and Tools
Contributing
All contributions to Trunk are welcome. It's the perfect project for Rust beginners since we don't use many of Rust's complex features and the core concepts in the parser are purposely simple.
If you do wish to contribute, we just ask you to follow a few simple rules.
- Create a pull request from a non-main branch on your fork.
- Provide a short, but clear, description of your changes.
- Have fun and don't take it all too seriously!