Siraaj Khandkar [Sun, 16 Sep 2018 23:27:18 +0000 (19:27 -0400)]
WIP type-checking -- check recursive type defs
Siraaj Khandkar [Sun, 16 Sep 2018 18:10:01 +0000 (14:10 -0400)]
Add micro test for recursive type def
Siraaj Khandkar [Sun, 16 Sep 2018 17:23:19 +0000 (13:23 -0400)]
Add CLI options to execute different test suites
Siraaj Khandkar [Sun, 16 Sep 2018 16:52:02 +0000 (12:52 -0400)]
Clean-up missing labels and unused entities
Siraaj Khandkar [Sun, 16 Sep 2018 16:41:30 +0000 (12:41 -0400)]
Use the same status symbol for total as for each
Siraaj Khandkar [Sun, 16 Sep 2018 16:25:28 +0000 (12:25 -0400)]
Don't execute semant test if parsing fails
this is a hack - need to replace with a general test-dependency framework
Siraaj Khandkar [Sun, 16 Sep 2018 16:17:35 +0000 (12:17 -0400)]
Expect syntax error in test49.tig
Siraaj Khandkar [Sun, 16 Sep 2018 15:12:09 +0000 (11:12 -0400)]
Implement tests grid-view and backtraces
but messily - needs refactoring
Siraaj Khandkar [Sat, 15 Sep 2018 20:15:49 +0000 (16:15 -0400)]
Disambiguate variant label
Siraaj Khandkar [Sat, 15 Sep 2018 18:13:35 +0000 (14:13 -0400)]
Don't use long code as test name
Siraaj Khandkar [Sat, 15 Sep 2018 18:04:06 +0000 (14:04 -0400)]
Expand status notes
Siraaj Khandkar [Sat, 15 Sep 2018 17:41:55 +0000 (13:41 -0400)]
Disable color for skip status indicator
Siraaj Khandkar [Sat, 15 Sep 2018 17:40:17 +0000 (13:40 -0400)]
Disable info for non-fail status
Siraaj Khandkar [Sat, 15 Sep 2018 17:33:01 +0000 (13:33 -0400)]
Condense status to a more-useful TODO form
Siraaj Khandkar [Sat, 15 Sep 2018 17:20:48 +0000 (13:20 -0400)]
Test every book test case
Siraaj Khandkar [Fri, 14 Sep 2018 19:23:34 +0000 (15:23 -0400)]
Escape newline in strings
Siraaj Khandkar [Fri, 14 Sep 2018 17:55:17 +0000 (13:55 -0400)]
Add a couple of type (in)compatibility test cases
Siraaj Khandkar [Fri, 14 Sep 2018 16:02:48 +0000 (12:02 -0400)]
Fix use type of last expression in a sequence
Siraaj Khandkar [Fri, 14 Sep 2018 15:45:13 +0000 (11:45 -0400)]
Fix incorrect environment entry
should be a value, not type
Siraaj Khandkar [Fri, 14 Sep 2018 15:39:57 +0000 (11:39 -0400)]
Tighten-up test cases: specify where errors are expected
Siraaj Khandkar [Fri, 14 Sep 2018 15:12:52 +0000 (11:12 -0400)]
Remove unused code
Siraaj Khandkar [Fri, 14 Sep 2018 15:01:32 +0000 (11:01 -0400)]
WIP type-checking -- check function declarations
Siraaj Khandkar [Fri, 14 Sep 2018 13:38:02 +0000 (09:38 -0400)]
Add TODO for mutual recursion
Siraaj Khandkar [Fri, 14 Sep 2018 13:36:42 +0000 (09:36 -0400)]
WIP type-checking -- check type declarations
Siraaj Khandkar [Fri, 14 Sep 2018 13:22:31 +0000 (09:22 -0400)]
Count test cases
Siraaj Khandkar [Fri, 14 Sep 2018 12:31:18 +0000 (08:31 -0400)]
WIP type-checking -- check variable declarations
Siraaj Khandkar [Thu, 13 Sep 2018 23:54:20 +0000 (19:54 -0400)]
WIP type-checking -- check array expressions
Siraaj Khandkar [Thu, 13 Sep 2018 23:40:45 +0000 (19:40 -0400)]
WIP type-checking -- check record expressions
Siraaj Khandkar [Thu, 13 Sep 2018 23:15:58 +0000 (19:15 -0400)]
WIP type-checking -- check function call expression
Siraaj Khandkar [Thu, 13 Sep 2018 22:57:50 +0000 (18:57 -0400)]
WIP type-checking -- check array subscript access
Siraaj Khandkar [Thu, 13 Sep 2018 22:40:01 +0000 (18:40 -0400)]
WIP type-checking
Siraaj Khandkar [Thu, 13 Sep 2018 20:58:23 +0000 (16:58 -0400)]
Abandon -classic-display
Siraaj Khandkar [Thu, 13 Sep 2018 17:19:00 +0000 (13:19 -0400)]
Sketch-out Semant module
Siraaj Khandkar [Thu, 13 Sep 2018 17:18:23 +0000 (13:18 -0400)]
Define the environments (for types and values)
Siraaj Khandkar [Thu, 13 Sep 2018 15:14:13 +0000 (11:14 -0400)]
Improve final pass/fail indicator
Siraaj Khandkar [Thu, 13 Sep 2018 14:57:37 +0000 (10:57 -0400)]
Add module abbreviations to error module interface
Siraaj Khandkar [Thu, 13 Sep 2018 14:40:30 +0000 (10:40 -0400)]
Test for semantic errors
(just 1 of, for now)
Siraaj Khandkar [Thu, 13 Sep 2018 14:15:35 +0000 (10:15 -0400)]
Add stub for Translate module
Siraaj Khandkar [Thu, 13 Sep 2018 14:14:26 +0000 (10:14 -0400)]
Resurrect 8-queens test
Siraaj Khandkar [Thu, 13 Sep 2018 14:04:59 +0000 (10:04 -0400)]
Replace test status lexicon
of OK/ERROR/WARN with Pass/Fail/Skip
Siraaj Khandkar [Thu, 13 Sep 2018 14:00:49 +0000 (10:00 -0400)]
Use helper functions for test status indicators
Siraaj Khandkar [Thu, 13 Sep 2018 13:25:48 +0000 (09:25 -0400)]
Add stub for Semant module
Siraaj Khandkar [Thu, 13 Sep 2018 12:59:38 +0000 (08:59 -0400)]
Add semantic analysis stage to tests
Siraaj Khandkar [Thu, 13 Sep 2018 12:58:19 +0000 (08:58 -0400)]
Indicate "OK" for expected errors
Siraaj Khandkar [Wed, 12 Sep 2018 22:33:54 +0000 (18:33 -0400)]
Augment testing framework to support examining errors
so we can check for semantic errors later
Siraaj Khandkar [Wed, 12 Sep 2018 22:30:12 +0000 (18:30 -0400)]
Define (some) semantic errors
Siraaj Khandkar [Tue, 11 Sep 2018 16:34:07 +0000 (12:34 -0400)]
Add map helper to build from list of pairs
Siraaj Khandkar [Tue, 11 Sep 2018 16:32:26 +0000 (12:32 -0400)]
Remove label from error raising helper
Siraaj Khandkar [Tue, 11 Sep 2018 16:29:22 +0000 (12:29 -0400)]
Explicitly ignore unused fields
Siraaj Khandkar [Wed, 6 Jun 2018 01:15:48 +0000 (21:15 -0400)]
Update alignment
Siraaj Khandkar [Wed, 6 Jun 2018 01:14:22 +0000 (21:14 -0400)]
Centralize error message construction
Siraaj Khandkar [Tue, 5 Jun 2018 16:55:03 +0000 (12:55 -0400)]
Define the canonical map structure for Tiger
with a Red Black tree implementation, adapted from Okasaki.
Siraaj Khandkar [Tue, 5 Jun 2018 16:46:18 +0000 (12:46 -0400)]
Refactor test framework
Siraaj Khandkar [Tue, 5 Jun 2018 16:25:29 +0000 (12:25 -0400)]
Begin Implementation Notes section
Siraaj Khandkar [Tue, 5 Jun 2018 16:24:24 +0000 (12:24 -0400)]
Refer to test errors as failures
Siraaj Khandkar [Tue, 5 Jun 2018 16:12:46 +0000 (12:12 -0400)]
Report error count
Siraaj Khandkar [Tue, 5 Jun 2018 16:11:53 +0000 (12:11 -0400)]
Break some long lines
Siraaj Khandkar [Tue, 5 Jun 2018 15:55:28 +0000 (11:55 -0400)]
Re-use code for name in micro test cases
Siraaj Khandkar [Sun, 3 Jun 2018 18:02:57 +0000 (14:02 -0400)]
Refactor testing framework
Siraaj Khandkar [Fri, 1 Jun 2018 17:09:37 +0000 (13:09 -0400)]
Indent stringinfied AST
first stab - some rough edges remain
Siraaj Khandkar [Fri, 1 Jun 2018 00:59:05 +0000 (20:59 -0400)]
Implement a basic AST printer
Siraaj Khandkar [Thu, 31 May 2018 23:07:13 +0000 (19:07 -0400)]
Rename "tiger" dir to "compiler"
Siraaj Khandkar [Thu, 31 May 2018 21:49:28 +0000 (17:49 -0400)]
Fix shift/reduce conflicts introduced by grouping consecutive typ|fun decs
Siraaj Khandkar [Thu, 31 May 2018 19:16:35 +0000 (15:16 -0400)]
Complete 1.04.p: add semantic actions to parser
FIXME: 2 more shift/reduce conflicts were introduced
with the rules for consecutive function and type declarations
Siraaj Khandkar [Thu, 31 May 2018 17:09:09 +0000 (13:09 -0400)]
Output ocamlyacc state table
for debugging conflicts
Siraaj Khandkar [Thu, 31 May 2018 17:08:36 +0000 (13:08 -0400)]
Reorg Makefile
Siraaj Khandkar [Wed, 30 May 2018 02:40:35 +0000 (22:40 -0400)]
Update project status
Siraaj Khandkar [Wed, 30 May 2018 02:35:46 +0000 (22:35 -0400)]
Fix the remaining 12 shift/reduce conflicts
which were due to associativity and precedence conflicts between operators,
previously defined as a single production
Siraaj Khandkar [Tue, 29 May 2018 16:37:56 +0000 (12:37 -0400)]
Show commands executed by ocamlbuild
Siraaj Khandkar [Tue, 29 May 2018 15:00:15 +0000 (11:00 -0400)]
Assign precedence and associativity to THEN
reduces shift/reduce conflicts from 25 to 12
Siraaj Khandkar [Tue, 29 May 2018 14:59:09 +0000 (10:59 -0400)]
Assign precedence and associativity to ELSE
reduces shift/reduce conflicts from 37 to 25
Siraaj Khandkar [Tue, 29 May 2018 14:57:47 +0000 (10:57 -0400)]
Assign precedence to ASSIGN
reduces shift/reduce conflicts from 49 to 37
Siraaj Khandkar [Tue, 29 May 2018 14:56:17 +0000 (10:56 -0400)]
Assign precedence and associativity to OF and DO
reduces shift/reduce conflicts from 85 to 49
Siraaj Khandkar [Tue, 29 May 2018 14:48:31 +0000 (10:48 -0400)]
Disable queens test case from book (temporarily)
because I'm too lazy to enter all the lexing tokens right now. Parsing works.
Siraaj Khandkar [Tue, 29 May 2018 14:47:18 +0000 (10:47 -0400)]
Add some micro test cases
Siraaj Khandkar [Tue, 29 May 2018 14:45:05 +0000 (10:45 -0400)]
Ensure make fails after 1st recipe failure
Siraaj Khandkar [Tue, 29 May 2018 14:35:49 +0000 (10:35 -0400)]
Resolve conflict between 2 rules with subscript notation
though I'm still not quite sure I understand why this is a problem...
Siraaj Khandkar [Mon, 28 May 2018 18:35:23 +0000 (14:35 -0400)]
Move definition closer to usage location
Siraaj Khandkar [Mon, 28 May 2018 18:32:01 +0000 (14:32 -0400)]
Remove stand-alone tyfield grammar rule
Siraaj Khandkar [Mon, 28 May 2018 18:26:33 +0000 (14:26 -0400)]
Combine declaration sub-rules
Siraaj Khandkar [Mon, 28 May 2018 18:05:34 +0000 (14:05 -0400)]
Remove stand-alone ty grammar rule
Siraaj Khandkar [Mon, 28 May 2018 17:54:41 +0000 (13:54 -0400)]
Rename seq to exps
Siraaj Khandkar [Mon, 28 May 2018 17:52:36 +0000 (13:52 -0400)]
Remove stand-alone unit grammar rule
Siraaj Khandkar [Mon, 28 May 2018 17:47:25 +0000 (13:47 -0400)]
Remove stand-alone fun_call grammar rule
Siraaj Khandkar [Mon, 28 May 2018 17:42:33 +0000 (13:42 -0400)]
Add (incomplete) test case for queens.tig
Siraaj Khandkar [Mon, 28 May 2018 17:42:00 +0000 (13:42 -0400)]
Remove stand-alone grammar rule for ID
Siraaj Khandkar [Mon, 28 May 2018 17:23:02 +0000 (13:23 -0400)]
Fix reduce/reduce conflict
by removing a stand-alone type_id definition, which seems to have conflicted
with id definition
Siraaj Khandkar [Sat, 26 May 2018 01:59:59 +0000 (21:59 -0400)]
Re-org testing code
Siraaj Khandkar [Sat, 26 May 2018 01:55:20 +0000 (21:55 -0400)]
Define initial grammar
FIXME: 85 shift/reduce conflicts, 1 reduce/reduce conflict.
Siraaj Khandkar [Thu, 24 May 2018 01:46:33 +0000 (21:46 -0400)]
Add another test case
Siraaj Khandkar [Thu, 24 May 2018 01:39:05 +0000 (21:39 -0400)]
Improve test result printing
Siraaj Khandkar [Thu, 24 May 2018 01:27:53 +0000 (21:27 -0400)]
Use meaningful names of test cases
Siraaj Khandkar [Thu, 24 May 2018 01:24:15 +0000 (21:24 -0400)]
Add another test case - define recursive function
Siraaj Khandkar [Thu, 24 May 2018 01:10:16 +0000 (21:10 -0400)]
Fix warnings: 4, 6, 29
4 : fragile pattern-matching:
using option to mean EOF, not yet sure if will be compatible with
ocamlyacc - may need to switch to raising exception
6 : label f was omitted
29 : unescaped end-of-line
Siraaj Khandkar [Thu, 24 May 2018 01:03:49 +0000 (21:03 -0400)]
Enable all warnings
Siraaj Khandkar [Thu, 24 May 2018 01:03:20 +0000 (21:03 -0400)]
Add test cases
Siraaj Khandkar [Wed, 23 May 2018 21:51:28 +0000 (17:51 -0400)]
Stop indiscriminate eating
Siraaj Khandkar [Wed, 23 May 2018 03:46:42 +0000 (23:46 -0400)]
Complete 1.02.p.1: Tiger lexer
Siraaj Khandkar [Mon, 30 Apr 2018 16:13:10 +0000 (12:13 -0400)]
Lay down Tiger build skeleton
Siraaj Khandkar [Mon, 30 Apr 2018 15:15:06 +0000 (11:15 -0400)]
Implement balanced binary tree and refactor
Was actually done last week; now just made the last few changes to Makefile.
This page took 0.096504 seconds and 4 git commands to generate.