typescript-jit

Crates.iotypescript-jit
lib.rstypescript-jit
version0.0.1
sourcesrc
created_at2022-09-28 09:40:27.362902
updated_at2022-10-06 13:20:38.936151
descriptionA native Typescript parser and JIT runner.
homepage
repositoryhttps://github.com/void-dragon/typescript
max_upload_size
id675574
size45,669
Arne Simon (void-dragon)

documentation

https://docs.rs/typescript-jit

README

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'
Commit count: 0

cargo fmt