01 
02 <1>
03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 Click Links to see source code and Videos 21 22 Lesson 1: The Lexer 23 Lexers turn raw data (such as source code ) into tokens a motherfucking 24 compiler can use. Dont make a compiler without a lexer or you will have to 25 juggle lots of meaningless symbols 26 Lesson 2: The Parser 27 A compiler must turn tokens into meaningful constructs that the compiler will 28 use. Representing the reality of the source data is key (representation) when 29 generating machine code. 30 31 Lesson 3: Register Allocation Pt.1 32 Registers are values that live in your computer. Values in in registers,and 33 sometimes they die. Here we see which values are living and dead at what points 34 in time 35 36 Lesson 4: Reg Allocation Pt.2: Graph Coloring 37 38 Compilers have a finite number of registers. We must use the registers in a good 39 fashion to generate good machine code. 40 -] Registers Poem 41 42 I hate the scare-registered program 43 For it lacks a wham. 44 As the heated graph... 45 One cant help but laugh, 46 For one is too poor,the other too dumb 47 48 Lesson 5: Reg Allocation Pt.3: Using Less Registers 49 Registers are finite,forms are not. A value may be in register R10 at one 50 point,RDI at another 51 Lesson 6: . Reg Allocation Pt.4: Assigning temporary registers 52 Lesson 7: Reg GENERATING MOTHERFUCKIN MACHINE CODE 53