amorriscode / amorriscode/axolotl
Develop compiler
- Dominant language
- Rust
- Stars
- 16
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
We currently have the [scaffolding](https://github.com/amorriscode/axolotl/tree/main/src/compiler) for the compiler. It uses [`swc_ecma_parser`](https://rustdoc.swc.rs/swc_ecma_parser) to turn TypeScript into an AST in Rust.
We need to take that AST and transform it into Anchor-compatible Rust. For the "Hello World" proof, we will be _heavily_ inspired by the [Seahorse compiler](https://github.com/ameliatastic/seahorse-lang/tree/main/src/core).
Because we are using TypeScript, we can create [custom TypeScript ESLint rules](https://typescript-eslint.io/docs/development/custom-rules) to enforce any custom compiler rules in the developer's editor.
## Compiler steps
- [x] Parse TypeScript source into an AST
- [ ] Compile TypeScript source to Rust
- [ ] Type-check to ensure all code can be valid Rust
- [ ] Convert TypeScript into Anchor-compativle Rust
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.