Skip to content

ethanuppal/cs3110_compiler

Repository files navigation

x86ISTMB v1.1.0

CI Status

"x86 is simple trust me bro"
Last updated: 2024-05-19 14:04:20.689701

$ ./main -h
CS 3110 final project

Usage: ./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.0

Written 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. Installation instructions are in INSTALL.md. A full user manual is in user_manual.md.