Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.
/ parser Public archive

A handwritten fault-tolerant, recursive-descent parser for PHP written in Rust.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

php-rust-tools/parser

Repository files navigation

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

About

A handwritten fault-tolerant, recursive-descent parser for PHP written in Rust.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Contributors 8