#typescript #typescript-parser #ts #js #awesome #javascript

已删除 typescript-ast

原生 Typescript 解析器

0.0.1 2022年10月6日

#21 in #typescript-parser

MIT 许可证

26KB
708 代码行

typescript

这是一个 Rust 原生 Typescript 解析器和 JIT 执行引擎的实现。

该项目包含两个包

  • [typescript-ast]: 将 Typescript 解析为 AST。
  • [typescript-jit]: 将 AST 表示转换为可执行脚本。

状态

  • 解析器:缺少 Async/Await。
  • JIT:为函数创建功能二进制代码。

为什么?

  • 因为 V8 太复杂,难以“直接集成”。
  • rquickjs 在多线程环境中存在问题。
  • Lua 虽然速度快,但适用于大型脚本则不够美观。

特性

  • 通过 Pest 解析 Typescript。
  • 基于 LLVM 的 JIT 执行引擎。

typescript-jit 使用

信息

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'

依赖

~2–2.8MB
~56K SLoC