Commit | Line | Data |
---|---|---|
96ad2fee SK |
1 | Tiger.ml |
2 | ======== | |
3 | ||
5f295d04 SK |
4 | Implementation Notes |
5 | -------------------- | |
6 | ||
7 | ### Parser | |
8 | ||
9 | #### shift/reduce conflicts | |
10 | ##### grouping consecutive declarations | |
11 | ##### lval | |
12 | ||
13 | ### AST | |
14 | ||
15 | #### print as M-exp | |
16 | ||
96ad2fee SK |
17 | Project Plan |
18 | ------------ | |
19 | ||
c43a2e2e SK |
20 | | status | id | title | pages | estimate | actual | start | finish | |
21 | |--------|------------|------------------------------------------|-------|----------|--------|------------|------------| | |
3c647fbc | 22 | | [-] | 0 | Modern Compiler Implementation in ML | 512 | 28-84 | -- | 2018-04-16 | xxxx-xx-xx | |
c43a2e2e | 23 | | ====== | ========== | ======================================== | ===== | ======== | ====== | ========== | ========== | |
be7a75fd SK |
24 | | [x] | 1 | - Fundamentals of Compilation | 264 | 14 | -- | 2018-04-16 | ---------- | |
25 | | [x] | 1.01 | -- Introduction | 011 | 01 | 04 | 2018-04-16 | ---------- | | |
3c647fbc SK |
26 | | [x] | 1.01.1 | --- Modules and interfaces | 001 | -- | -- | 2018-04-16 | ---------- | |
27 | | [x] | 1.01.2 | --- Tools and Software | 002 | -- | -- | 2018-04-16 | ---------- | | |
28 | | [x] | 1.01.3 | --- Data structures for tree languages | 003 | -- | -- | 2018-04-16 | ---------- | | |
15661916 | 29 | | [x] | 1.01.p | --- Program | 002 | -- | -- | 2018-04-16 | 2018-04-17 | |
3c647fbc | 30 | | [x] | 1.01.p.1 | ---- interpreter: maxargs | --- | -- | -- | 2018-04-17 | 2018-04-17 | |
ba1409d1 | 31 | | [x] | 1.01.p.2 | ---- interpreter: interp | --- | -- | -- | 2018-04-17 | 2018-04-17 | |
be7a75fd | 32 | | [x] | 1.01.e | --- Exercises | 002 | -- | -- | ---------- | ---------- | |
8dd28238 SK |
33 | | [x] | 1.01.e.1.a | ---- tree member | --- | -- | -- | 2018-04-17 | 2018-04-17 | |
34 | | [x] | 1.01.e.1.b | ---- tree key/val | --- | -- | -- | 2018-04-18 | 2018-04-18 | | |
a18c3a18 | 35 | | [x] | 1.01.e.1.c | ---- demo unbalanced behaviour | --- | -- | -- | 2018-04-18 | 2018-04-18 | |
958f7268 | 36 | | [x] | 1.01.e.1.d | ---- find functional balanced tree | --- | -- | -- | 2018-04-19 | 2018-04-20 | |
c43a2e2e | 37 | | ------ | ---------- | ---------------------------------------- | ----- | -------- | ------ | ---------- | ---------- | |
be7a75fd SK |
38 | | [x] | 1.02 | -- Lexical Analysis | 024 | 01 | 01 | 2018-05-22 | 2018-05-22 | |
39 | | [x] | 1.02.1 | --- Lexical tokens | 001 | -- | -- | ---------- | ---------- | | |
40 | | [x] | 1.02.2 | --- Regular expressions | 003 | -- | -- | ---------- | ---------- | | |
41 | | [x] | 1.02.3 | --- Finite automata | 003 | -- | -- | ---------- | ---------- | | |
42 | | [x] | 1.02.4 | --- Nondeterministic finite automata | 006 | -- | -- | ---------- | ---------- | | |
43 | | [x] | 1.02.5 | --- ML-Lex: a lexical analyzer generator | 003 | -- | -- | ---------- | ---------- | | |
44 | | [x] | 1.02.p | --- Program | 002 | -- | -- | ---------- | ---------- | | |
45 | | [x] | 1.02.p.1 | ---- Tiger lexer | --- | 01 | 01 | 2018-05-22 | 2018-05-22 | | |
46 | | [x] | 1.02.e | --- Exercises | 004 | -- | -- | ---------- | ---------- | | |
47 | | [x] | 1.02.e.01 | ---- regexes | --- | -- | -- | ---------- | ---------- | | |
48 | | [x] | 1.02.e.02 | ---- why no regexes | --- | -- | -- | ---------- | ---------- | | |
49 | | [x] | 1.02.e.03 | ---- explain automata | --- | -- | -- | ---------- | ---------- | | |
50 | | [x] | 1.02.e.04 | ---- regex to nondeterministic automata | --- | -- | -- | ---------- | ---------- | | |
51 | | [x] | 1.02.e.05 | ---- NFA to DFA | --- | -- | -- | ---------- | ---------- | | |
52 | | [x] | 1.02.e.06 | ---- merge equivalent automata states | --- | -- | -- | ---------- | ---------- | | |
53 | | [x] | 1.02.e.07 | ---- DFA to regex | --- | -- | -- | ---------- | ---------- | | |
54 | | [x] | 1.02.e.08 | ---- analyze lexer based on given DFA | --- | -- | -- | ---------- | ---------- | | |
55 | | [x] | 1.02.e.09 | ---- generate lexer tables from spec | --- | -- | -- | ---------- | ---------- | | |
56 | | [x] | 1.02.e.10 | ---- design better lookahead than Aho | --- | -- | -- | ---------- | ---------- | | |
c43a2e2e | 57 | | ------ | ---------- | ---------------------------------------- | ----- | -------- | ------ | ---------- | ---------- | |
28875fec | 58 | | [x] | 1.03 | -- Parsing | 049 | 02 | 05 | 2018-05-25 | 2018-05-31 | |
c43a2e2e | 59 | | ------ | ---------- | ---------------------------------------- | ----- | -------- | ------ | ---------- | ---------- | |
28875fec | 60 | | [x] | 1.04 | -- Abstract Syntax | 016 | 01 | 01 | 2018-05-30 | 2018-05-30 | |
c43a2e2e SK |
61 | | ------ | ---------- | ---------------------------------------- | ----- | -------- | ------ | ---------- | ---------- | |
62 | | [ ] | 1.05 | -- Semantic Analysis | 021 | 01 | -- | ---------- | ---------- | | |
63 | | ------ | ---------- | ---------------------------------------- | ----- | -------- | ------ | ---------- | ---------- | | |
64 | | [ ] | 1.06 | -- Activation Records | 024 | 01 | -- | ---------- | ---------- | | |
65 | | ------ | ---------- | ---------------------------------------- | ----- | -------- | ------ | ---------- | ---------- | | |
66 | | [ ] | 1.07 | -- Translation to Intermediate Code | 025 | 01 | -- | ---------- | ---------- | | |
67 | | ------ | ---------- | ---------------------------------------- | ----- | -------- | ------ | ---------- | ---------- | | |
68 | | [ ] | 1.08 | -- Basic Blocks and Traces | 013 | 01 | -- | ---------- | ---------- | | |
69 | | ------ | ---------- | ---------------------------------------- | ----- | -------- | ------ | ---------- | ---------- | | |
70 | | [ ] | 1.09 | -- Instruction Selection | 025 | 01 | -- | ---------- | ---------- | | |
71 | | ------ | ---------- | ---------------------------------------- | ----- | -------- | ------ | ---------- | ---------- | | |
72 | | [ ] | 1.10 | -- Liveness Analysis | 017 | 01 | -- | ---------- | ---------- | | |
73 | | ------ | ---------- | ---------------------------------------- | ----- | -------- | ------ | ---------- | ---------- | | |
74 | | [ ] | 1.11 | -- Register Allocation | 030 | 02 | -- | ---------- | ---------- | | |
75 | | ------ | ---------- | ---------------------------------------- | ----- | -------- | ------ | ---------- | ---------- | | |
76 | | [ ] | 1.12 | -- Putting It | 009 | 01 | -- | ---------- | ---------- | | |
77 | | ====== | ========== | ======================================== | ===== | ======== | ====== | ---------- | ---------- | | |
78 | | [ ] | 2 | - Advanced Topics | 245 | 14 | -- | ---------- | ---------- | | |
79 | | ------ | ---------- | ---------------------------------------- | ----- | -------- | ------ | ---------- | ---------- | | |
80 | | [ ] | 2.13 | -- Garbage Collection | 026 | 02 | -- | ---------- | ---------- | | |
81 | | ------ | ---------- | ---------------------------------------- | ----- | -------- | ------ | ---------- | ---------- | | |
82 | | [ ] | 2.14 | -- Object-Oriented Languages | 016 | 01 | -- | ---------- | ---------- | | |
83 | | ------ | ---------- | ---------------------------------------- | ----- | -------- | ------ | ---------- | ---------- | | |
84 | | [ ] | 2.15 | -- Functional Programming Languages | 035 | 02 | -- | ---------- | ---------- | | |
85 | | ------ | ---------- | ---------------------------------------- | ----- | -------- | ------ | ---------- | ---------- | | |
86 | | [ ] | 2.16 | -- Polymorphic Types | 033 | 02 | -- | ---------- | ---------- | | |
87 | | ------ | ---------- | ---------------------------------------- | ----- | -------- | ------ | ---------- | ---------- | | |
88 | | [ ] | 2.17 | -- Dataflow Analysis | 027 | 02 | -- | ---------- | ---------- | | |
89 | | ------ | ---------- | ---------------------------------------- | ----- | -------- | ------ | ---------- | ---------- | | |
90 | | [ ] | 2.18 | -- Loop Optimizations | 023 | 01 | -- | ---------- | ---------- | | |
91 | | ------ | ---------- | ---------------------------------------- | ----- | -------- | ------ | ---------- | ---------- | | |
92 | | [ ] | 2.19 | -- Static Single-Assignment Form | 041 | 02 | -- | ---------- | ---------- | | |
93 | | ------ | ---------- | ---------------------------------------- | ----- | -------- | ------ | ---------- | ---------- | | |
94 | | [ ] | 2.20 | -- Pipelining and Scheduling | 024 | 01 | -- | ---------- | ---------- | | |
95 | | ------ | ---------- | ---------------------------------------- | ----- | -------- | ------ | ---------- | ---------- | | |
96 | | [ ] | 2.21 | -- The Memory Hierarchy | 020 | 01 | -- | ---------- | ---------- | |