X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=README.md;h=e3ecf596de1aade4bea36846c361ad6e2634d911;hb=b53d50d3d7395376979b6fb90863901b5dd69cfe;hp=4f0cd80ffe2001d55f2da193dbe84ede3808f5a7;hpb=6a560b4aedc04a0ca1c0a6514c4f66aaddff78b2;p=tiger.ml.git diff --git a/README.md b/README.md index 4f0cd80..e3ecf59 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,33 @@ Tiger.ml ======== +A Tiger-compiler implementation in (OCa)ML Status ------ -### Done +### Technical issues +- [-] testing framework + - [x] run arbitrary code snippets + - [x] check non-failures + - [x] check expected output + - [-] check expected exceptions + - [x] semant stage + - [ ] generalized expect `Output ('a option) | Exception of (exn -> bool)` + - [x] run all book test case files + - [-] grid view (cols: lex, pars, semant, etc.; rows: test cases.) + - [x] implementation + - [ ] refactoring +- [ ] Travis CI + +### Features +#### Done - [x] ch 1: Warm-up AST - [x] ch 2: Lexer - [x] ch 3: Parser - [x] ch 4: AST -### TODO (short-term) +#### In-progress - [-] ch 5: Semantic Analysis (type checking) +#### TODO (short-term) - [ ] ch 6: Activation Records - [ ] ch 7: Translation to Intermediate Code - [ ] ch 08: Basic Blocks and Traces @@ -18,7 +35,7 @@ Status - [ ] ch 10: Liveness Analysis - [ ] ch 11: Register Allocation - [ ] ch 12: Putting It All Together -### TODO (long-term) +#### TODO (long-term) - [ ] ch 13: Garbage Collection - [ ] ch 15: Functional Programming Languages - [ ] ch 16: Polymorphic Types @@ -27,7 +44,7 @@ Status - [ ] ch 19: Static Single-Assignment Form - [ ] ch 20: Pipelining and Scheduling - [ ] ch 21: The Memory Hierarchy -### Maybe +#### Maybe - [ ] ch 14: Object-Oriented Languages Implementation Notes @@ -42,3 +59,6 @@ Implementation Notes ### AST #### print as M-exp + +### Machine +Will most-likely compile to RISC and execute using SPIM (as favored by Appel)