Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/egnchen/SE302-Lab
Lab assignment for 2019 fall SE302 compiler course - tiger compiler implementation in C++
https://github.com/egnchen/SE302-Lab
Last synced: 8 days ago
JSON representation
Lab assignment for 2019 fall SE302 compiler course - tiger compiler implementation in C++
- Host: GitHub
- URL: https://github.com/egnchen/SE302-Lab
- Owner: egnchen
- Created: 2019-11-07T15:55:22.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-01-07T08:21:47.000Z (almost 5 years ago)
- Last Synced: 2024-05-22T03:11:34.020Z (6 months ago)
- Language: C++
- Homepage:
- Size: 175 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
Awesome Lists containing this project
- awesome-se - eyeKill-2017
README
# Tiger compiler
This repo contains my code for 2017 SE302 compiler course. Being divided int 6 separate assignments, it implements a compiler for the tiger language described in [Modern Compiler Implementation in C](https://www.cs.princeton.edu/~appel/modern/c/). The main difference is that this one is implemented in C++ and supports X86-64 architecture.
- [x] lab1: A simple straightline code analyzer & interpreter. Not part of the compiler.
- [x] lab2: Lexical analysis using `flexc++`. See `src/lex`.
- [x] lab3: Language parser using `bisonc++`. See `src/parse`.
- [x] lab4: Semantic analysis. See `src/semant`.
- [x] lab5: IR translation and code generation. See `src/frame`, `src/translate`, `src/codegen`.
- [x] lab6: Register allocation. See `src/regalloc`.