0.0.1 |
|
---|
#41 in #ts
26KB
708 lines
typescript
This is a Rust native implementation of a Typescript Parser and a JIT execution engine.
This project comes in two crates:
- [typescript-ast]: Parses Typescript into an AST.
- [typescript-jit]: Takes an AST representation and creates an executable script.
State:
- Parser: Async/Await are missing.
- JIT: Creates functional binary code for functions.
Why?
- Because V8 is to compllicated to "just integrate it".
- rquickjs makes problems in an multi threaded environment.
- And lua is fast, but ugly for larger scripts.
Features
- Parses Typescript via Pest.
- A LLVM based JIT execution engine.
typescript-jit usage
Info:
A native Typescript parser and JIT runner.
Usage: typescript-jit [OPTIONS] <FILENAME>
Arguments:
<FILENAME>
Options:
-l, --log <LOG> show a execution log. This for debugging
-i, --ir <IR> shows the LLVM IR code. This for debugging
-h, --help Print help information
-V, --version Print version information
cargo run -- -l typescript.log --ir main.ir 'samples/sample.ts'
Dependencies
~2.1–2.8MB
~57K SLoC