0.0.1 |
|
---|
#21 in #typescript-parser
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