Expand status notes
[tiger.ml.git] / README.md
... / ...
CommitLineData
1Tiger.ml
2========
3A Tiger-compiler implementation in (OCa)ML
4
5Status
6------
7
8### Technical issues
9- [-] testing framework
10 - [x] run arbitrary code snippets
11 - [x] check non-failures
12 - [x] check expected output
13 - [-] check expected exceptions
14 - [x] semant stage
15 - [ ] generalized expect `Output ('a option) | Exception of (exn -> bool)`
16 - [x] run all book test case files
17 - [ ] grid view (cols: lex, pars, semant, etc.; rows: test cases.)
18- [ ] Travis CI
19
20### Features
21#### Done
22- [x] ch 1: Warm-up AST
23- [x] ch 2: Lexer
24- [x] ch 3: Parser
25- [x] ch 4: AST
26#### In-progress
27- [-] ch 5: Semantic Analysis (type checking)
28#### TODO (short-term)
29- [ ] ch 6: Activation Records
30- [ ] ch 7: Translation to Intermediate Code
31- [ ] ch 08: Basic Blocks and Traces
32- [ ] ch 09: Instruction Selection
33- [ ] ch 10: Liveness Analysis
34- [ ] ch 11: Register Allocation
35- [ ] ch 12: Putting It All Together
36#### TODO (long-term)
37- [ ] ch 13: Garbage Collection
38- [ ] ch 15: Functional Programming Languages
39- [ ] ch 16: Polymorphic Types
40- [ ] ch 17: Dataflow Analysis
41- [ ] ch 18: Loop Optimizations
42- [ ] ch 19: Static Single-Assignment Form
43- [ ] ch 20: Pipelining and Scheduling
44- [ ] ch 21: The Memory Hierarchy
45#### Maybe
46- [ ] ch 14: Object-Oriented Languages
47
48Implementation Notes
49--------------------
50
51### Parser
52
53#### shift/reduce conflicts
54##### grouping consecutive declarations
55##### lval
56
57### AST
58
59#### print as M-exp
60
61### Machine
62Will most-likely compile to RISC and execute using SPIM (as favored by Appel)
This page took 0.017979 seconds and 4 git commands to generate.