amorriscode / amorriscode/axolotl

Develop compiler

Open
#4 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.