Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ethanuppal/cs3110_compiler
Optimizing compiler to x86
https://github.com/ethanuppal/cs3110_compiler
compiler cs3110
Last synced: 24 days ago
JSON representation
Optimizing compiler to x86
- Host: GitHub
- URL: https://github.com/ethanuppal/cs3110_compiler
- Owner: ethanuppal
- Created: 2024-02-28T14:17:34.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-05-19T18:04:34.000Z (8 months ago)
- Last Synced: 2024-05-19T19:22:19.577Z (8 months ago)
- Topics: compiler, cs3110
- Language: OCaml
- Homepage:
- Size: 408 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# x86ISTMB v1.1.0
![CI Status](https://github.com/ethanuppal/cs3110_compiler/actions/workflows/ci.yaml/badge.svg)
> "x86 is simple trust me bro"
> Last updated: 2024-05-19 14:04:20.689701```
$ ./main -h
CS 3110 final projectUsage: ./main [-h|-v]
or: ./main FILE [-g][-O]-h,--help prints this info
-v,--version prints version info
-g,--gen only produces IR
-O,--optimize runs optimizations
```
```
$ ./main -v
x86ISTMB v1.1.0Written by: Utku Melemeti, Ethan Uppal, Jeffrey Huang, Vijay Shanmugam, Jason Klein
```## Group
- Utku Melemetci (um44)
- IR generation
- Control flow graph and register allocation
- Data structures
- Randomized testing
- Ethan Uppal (eu55)
- Static analysis
- Types and type checking
- Control flow
- Live variable analysis
- IR representation and abstraction for x86 assembly
- Emission to executables following Sys V ABI, integrating C runtime
- CLI/user interface and program driver
- Jeffrey Huang (jrh382)
- Parser and lexer
- Abstract syntax tree
- Type checking
- Jason Klein (jak532)
- Vijay Shanmugam (vrs29)## Usage
The `Makefile` in the project root directory enables easy usage.
Simply run `make` to build the project executable, `./main`.
`make clean` will clear all build and executable files.
Documentation is available online at the [wiki](https://github.com/ethanuppal/cs3110_compiler/wiki).
Installation instructions are in [INSTALL.md](INSTALL.md).
A full user manual is in [user_manual.md](docs/user_manual.md).