https://getvm.medium.com/mastering-compiler-design-a-comprehensive-collection-of-free-programming-resources-0065b3dae3d6