# Really Bad Compiler in Haskell A compiler written in Haskell that is really bad (I do not know what language I am going to compile yet). Built for the Introduction to Compiler Design class at The University of Texas at Dallas. Main repo: https://git.sudoer.ch/me/really-bad-compiler-in-haskell ## Build Instructions - Clone the repo. - Use `ghcup` to install all of the Haskell tools. - Use `stack build` and `stack run ` to run the program. ## File structure - `app` - contains the compiler program - `example` - contains example programs that can be compiled ## Credits ### Learning Resources Used - Introduction to Compiler Design class at The University of Texas at Dallas, taught by Charles Averill - learnyouahaskell.com (for learning Haskell basics) - https://akashagrawal.me/2017/01/19/beginners-guide-to-megaparsec.html - https://markkarpov.com/tutorial/megaparsec.html (for help writing a Haskell equation parser) - https://www.forth.com/starting-forth/1-forth-stacks-dictionary/ (for learning Forth) - https://blog.josephmorag.com/posts/mcc0/ (Haskell LLVM tutorial) ### Tools - Language: Haskell - Haskell tools: GHCup, Stack, Cabal - Libraries: megaparsec, parser-combinators, text, llvm-hs-pure, llvm-hs-pretty - IDE: VSCodium - Git platform: Forgejo - AI: Phind - Search: Kagi, Stack Overflow