Go to file
2022-09-11 22:06:20 +01:00
.github/workflows Fix --all flag 2022-09-12 08:32:45 +12:00
blog wip 2022-08-01 14:14:17 +01:00
meta parser: support double/float cast 2022-08-10 00:46:27 +01:00
trunk_compiler compiler/runtime: support var_dump 2022-09-03 16:35:17 +01:00
trunk_go compiler/runtime: support var_dump 2022-09-03 16:35:17 +01:00
trunk_lexer rustfmt the rest of files 2022-09-12 07:45:05 +12:00
trunk_parser Add support for block statements 2022-09-12 09:00:32 +12:00
.gitignore rs: experiment with a PHP to Rust to binary compiler 2022-07-29 16:32:25 +01:00
Cargo.toml feature: basic PoC for compiling PHP to a Go-based runtime and custom IR 2022-09-02 23:38:05 +01:00
README.md docs: README 2022-07-20 20:36:39 +01:00

Trunk

A set of libraries for working with PHP in Rust.

Overview

I originally started with this repository as an experiment. I wanted to see how feasible a handwritten PHP parser would be.

The goal was to have a set of tools that I could use to write my own utilities. The folders and crates in this repository serve as a guideline and target for the project.

Goals

  • A full-featured lexer and parser for PHP 8.1+
  • An experimental runtime for PHP (excl. extensions)
  • A static-analyser for PHP code.

Bold text indicates the current goal.

Contributing

All contributions are welcome. Please open a pull request with a descriptive title and description.

Please ensure all tests are passing on your pull request and that you add tests to cover your new feature or bug fix.

Credits