typescript-ast

Crates.iotypescript-ast
lib.rstypescript-ast
version0.0.1
sourcesrc
created_at2022-10-06 13:15:33.874473
updated_at2022-10-06 13:15:33.874473
descriptionA native Typescript parser.
homepage
repositoryhttps://github.com/void-dragon/typescript
max_upload_size
id681326
size25,242
Arne Simon (void-dragon)

documentation

https://docs.rs/typescript-ast

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