Skip to content

Instantly share code, notes, and snippets.

@b1shtream
Forked from RealNeGate/compiler resources.txt
Created January 26, 2024 07:56
Show Gist options
  • Save b1shtream/289f79be6e0cf0e3dc3f07a2dd6167ad to your computer and use it in GitHub Desktop.
Save b1shtream/289f79be6e0cf0e3dc3f07a2dd6167ad to your computer and use it in GitHub Desktop.
Complete stuff:
https://xmonader.github.io/letsbuildacompiler-pretty/
Lexers + DFAs:
https://gist.github.com/pervognsen/218ea17743e1442e59bb60d29b1aa725
Parsing:
https://eli.thegreenplace.net/2012/08/02/parsing-expressions-by-precedence-climbing
Backend:
You should read up on SSA and CFGs before going into Sea of nodes.
https://www.cs.cmu.edu/~rjsimmon/15411-f15/lec/10-ssa.pdf
https://gist.github.com/pervognsen/96d116fff14d95ffe51cf084c8604d64
Sea of nodes:
Cliff Click's original sea of nodes paper: https://www.oracle.com/technetwork/java/javase/tech/c2-ir95-150110.pdf
Semantic reasoning about sea of nodes: https://hal.inria.fr/hal-01723236/file/sea-of-nodes-hal.pdf
Register allocation:
Dalvik's modified linear scan: https://arxiv.org/pdf/2011.05608.pdf
Hotspot C1's linear scan work: https://www.usenix.org/legacy/events/vee05/full_papers/p132-wimmer.pdf
Good projects:
https://www.lua.org/source/5.4/
https://github.com/rui314/minilisp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment