Commit | Line | Data |
---|---|---|
96ad2fee SK |
1 | Tiger.ml |
2 | ======== | |
3 | ||
6a560b4a SK |
4 | Status |
5 | ------ | |
6 | ||
7 | ### Done | |
8 | - [x] ch 1: Warm-up AST | |
9 | - [x] ch 2: Lexer | |
10 | - [x] ch 3: Parser | |
11 | - [x] ch 4: AST | |
12 | ### TODO (short-term) | |
13 | - [-] ch 5: Semantic Analysis (type checking) | |
14 | - [ ] ch 6: Activation Records | |
15 | - [ ] ch 7: Translation to Intermediate Code | |
16 | - [ ] ch 08: Basic Blocks and Traces | |
17 | - [ ] ch 09: Instruction Selection | |
18 | - [ ] ch 10: Liveness Analysis | |
19 | - [ ] ch 11: Register Allocation | |
20 | - [ ] ch 12: Putting It All Together | |
21 | ### TODO (long-term) | |
22 | - [ ] ch 13: Garbage Collection | |
23 | - [ ] ch 15: Functional Programming Languages | |
24 | - [ ] ch 16: Polymorphic Types | |
25 | - [ ] ch 17: Dataflow Analysis | |
26 | - [ ] ch 18: Loop Optimizations | |
27 | - [ ] ch 19: Static Single-Assignment Form | |
28 | - [ ] ch 20: Pipelining and Scheduling | |
29 | - [ ] ch 21: The Memory Hierarchy | |
30 | ### Maybe | |
31 | - [ ] ch 14: Object-Oriented Languages | |
32 | ||
5f295d04 SK |
33 | Implementation Notes |
34 | -------------------- | |
35 | ||
36 | ### Parser | |
37 | ||
38 | #### shift/reduce conflicts | |
39 | ##### grouping consecutive declarations | |
40 | ##### lval | |
41 | ||
42 | ### AST | |
43 | ||
44 | #### print as M-exp |