https://github.com/mnikander/ir
interpreter for an intermediate representation based on three-address code (3AC) and static single-assignment (SSA) form
https://github.com/mnikander/ir
interpreter ssa-form static-single-assignment three-address-code
Last synced: 1 day ago
JSON representation
interpreter for an intermediate representation based on three-address code (3AC) and static single-assignment (SSA) form
- Host: GitHub
- URL: https://github.com/mnikander/ir
- Owner: mnikander
- License: mit
- Created: 2025-12-06T12:13:45.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-01-31T16:23:47.000Z (15 days ago)
- Last Synced: 2026-01-31T22:24:16.516Z (15 days ago)
- Topics: interpreter, ssa-form, static-single-assignment, three-address-code
- Language: TypeScript
- Homepage:
- Size: 88.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Intermediate Representation
An interpreter for an intermediate representation (IR).
This IR is based on three-address code (3AC aka TAC) and static single-assignment (SSA) form.
Like all IRs, it sits between high-level languages such as C or TypeScript on one end, and Assembly on the other end.
## Getting Started
This project is implemented in TypeScript, using [Deno](https://deno.com/).
After setting up deno, navigate into the directory of this repository and install the required dependencies using:
```
cd ir/
deno install
```
Build and run the tests with:
```
deno test
```
## More Information
- [IR design](./design.md)
- [Log of design decisions for the interpreter and IR](./decisions.md)
---
**Copyright (c) 2026 Marco Nikander**