Define (some) semantic errors
[tiger.ml.git] / README.md
CommitLineData
96ad2fee
SK
1Tiger.ml
2========
3
5f295d04
SK
4Implementation 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
17Project 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 | -- | ---------- | ---------- |
This page took 0.029647 seconds and 4 git commands to generate.