Go to file
Ryan Chandler 9a0bf0db19
wip
2022-11-25 18:07:55 +00:00
.github/workflows chore: only run pull_request on opened/reopened 2022-09-16 14:22:00 +01:00
blog wip 2022-08-01 14:14:17 +01:00
meta meta: remove old scripts 2022-09-12 00:15:22 +01:00
trunk_interpreter wip 2022-11-25 17:22:52 +00:00
trunk_lexer interpreter: do enough to get recursive fib working 2022-11-24 01:43:52 +00:00
trunk_parser interpreter: do enough to get recursive fib working 2022-11-24 01:43:52 +00:00
.gitignore rs: experiment with a PHP to Rust to binary compiler 2022-07-29 16:32:25 +01:00
Cargo.toml chore: use hashbrown 2022-11-25 16:32:50 +00:00
flamegraph.svg chore: use hashbrown 2022-11-25 16:32:50 +00:00
README.md wip 2022-11-25 18:07:55 +00:00

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.

  1. Create a pull request from a non-main branch on your fork.
  2. Provide a short, but clear, description of your changes.
  3. Have fun and don't take it all too seriously!

Credits