monoclex / jssat

Compile JS into LLVM IR - JavaScript Static Analysis Tool

Home Page:https://sirjosh3917.com/posts/jssat-compiling-javascript-to-llvm-ir

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JSSAT

JSSAT is a compiler that turns JavaScript into LLVM IR, without sacrificing performance or size as traditional methods do. To do this, it primarily utilizes symbolic execution to explore a program along all possible paths, and generates the corresponding LLVM IR. A much more in-depth explanation can be found here (please do read it, it's everything this README should be and more).

⚠️ JSSAT is in an early stage of development.

The infrastructure is being reworked, but there is a substantial amount of work that has already been done. There have been prototypes of this project compiling simple print("Hello, World"); programs.

Usage

At this time, the JavaScript program is hardcoded as a string, and there is currently no support for node-like programs yet.

Contributing

See CONTRIBUTING.md for information on contributing.

License

The license is the same as Rust/LLVMs (MIT + Apache), so you should be able to use this freely.

About

Compile JS into LLVM IR - JavaScript Static Analysis Tool

https://sirjosh3917.com/posts/jssat-compiling-javascript-to-llvm-ir

License:Apache License 2.0


Languages

Language:Rust 77.6%Language:Common Lisp 19.5%Language:TypeScript 2.0%Language:JavaScript 0.7%Language:Less 0.2%