tiger.ml.git
22 months agoBegin translation module master
Siraaj Khandkar [Fri, 28 Sep 2018 14:41:36 +0000 (10:41 -0400)] 
Begin translation module

22 months agoDefine the tree IR
Siraaj Khandkar [Fri, 28 Sep 2018 14:01:32 +0000 (10:01 -0400)] 
Define the tree IR

22 months agoDefine MIPS word size
Siraaj Khandkar [Fri, 28 Sep 2018 14:00:28 +0000 (10:00 -0400)] 
Define MIPS word size

22 months agoRough frame allocations
Siraaj Khandkar [Wed, 26 Sep 2018 00:51:33 +0000 (20:51 -0400)] 
Rough frame allocations

22 months agoSketch-out a dummy escape-finding module
Siraaj Khandkar [Thu, 20 Sep 2018 20:38:54 +0000 (16:38 -0400)] 
Sketch-out a dummy escape-finding module

which nothing but traversal of AST at the moment

22 months agoAdd option iter
Siraaj Khandkar [Thu, 20 Sep 2018 20:35:00 +0000 (16:35 -0400)] 
Add option iter

22 months agoFail successful execution when expected error is defined
Siraaj Khandkar [Wed, 19 Sep 2018 21:31:58 +0000 (17:31 -0400)] 
Fail successful execution when expected error is defined

22 months agoHide counter inside closure
Siraaj Khandkar [Wed, 19 Sep 2018 15:06:37 +0000 (11:06 -0400)] 
Hide counter inside closure

22 months agoAdd the final rules to README
Siraaj Khandkar [Tue, 18 Sep 2018 21:52:09 +0000 (17:52 -0400)] 
Add the final rules to README

22 months agoAdd some of implementation notes to README
Siraaj Khandkar [Tue, 18 Sep 2018 21:45:06 +0000 (17:45 -0400)] 
Add some of implementation notes to README

22 months agoSwitch Type.unique implementation from ref to Symbol
Siraaj Khandkar [Tue, 18 Sep 2018 20:57:38 +0000 (16:57 -0400)] 
Switch Type.unique implementation from ref to Symbol

The intent seem more apparent this way, plus we gain the ability to save the
human-readable type name (for error messages).

22 months agoFix Symbol.new_of_string - it should not save
Siraaj Khandkar [Tue, 18 Sep 2018 20:55:25 +0000 (16:55 -0400)] 
Fix Symbol.new_of_string - it should not save

also rename it to unique_of_string to clarify the main idea

22 months agoCheck scope of break statements
Siraaj Khandkar [Tue, 18 Sep 2018 20:31:45 +0000 (16:31 -0400)] 
Check scope of break statements

22 months agoDetect cycles in type declarations
Siraaj Khandkar [Tue, 18 Sep 2018 18:43:58 +0000 (14:43 -0400)] 
Detect cycles in type declarations

22 months agoExpose option module to the rest of the program
Siraaj Khandkar [Tue, 18 Sep 2018 17:11:22 +0000 (13:11 -0400)] 
Expose option module to the rest of the program

22 months agoComplete semantic analysis
Siraaj Khandkar [Mon, 17 Sep 2018 14:07:26 +0000 (10:07 -0400)] 
Complete semantic analysis

22 months agoImplement (mutually) recursive function definitions
Siraaj Khandkar [Mon, 17 Sep 2018 13:53:26 +0000 (09:53 -0400)] 
Implement (mutually) recursive function definitions

22 months agoRemove some unused bindings
Siraaj Khandkar [Mon, 17 Sep 2018 12:02:42 +0000 (08:02 -0400)] 
Remove some unused bindings

22 months agoFix - check number of arguments in function calls
Siraaj Khandkar [Mon, 17 Sep 2018 11:59:10 +0000 (07:59 -0400)] 
Fix - check number of arguments in function calls

22 months agoExpect more book errors
Siraaj Khandkar [Mon, 17 Sep 2018 11:43:19 +0000 (07:43 -0400)] 
Expect more book errors

22 months agoFilter-out non-.tig files from list of test case files
Siraaj Khandkar [Mon, 17 Sep 2018 11:28:27 +0000 (07:28 -0400)] 
Filter-out non-.tig files from list of test case files

22 months agoFilter-out hidden filenames from list of test files
Siraaj Khandkar [Mon, 17 Sep 2018 11:20:57 +0000 (07:20 -0400)] 
Filter-out hidden filenames from list of test files

These pop-up as tests every time I open one in Vim and a .filename.swp would be
created

22 months agoFix fragile pattern matching
Siraaj Khandkar [Mon, 17 Sep 2018 11:02:39 +0000 (07:02 -0400)] 
Fix fragile pattern matching

22 months agoAdd more expected errors in book tests
Siraaj Khandkar [Mon, 17 Sep 2018 11:00:13 +0000 (07:00 -0400)] 
Add more expected errors in book tests

22 months agoExpect some of the type errors in book tests
Siraaj Khandkar [Sun, 16 Sep 2018 23:49:07 +0000 (19:49 -0400)] 
Expect some of the type errors in book tests

22 months agoFix grammar - allow empty set of record fields
Siraaj Khandkar [Sun, 16 Sep 2018 23:36:51 +0000 (19:36 -0400)] 
Fix grammar - allow empty set of record fields

22 months agoExpect type error in test43.tig
Siraaj Khandkar [Sun, 16 Sep 2018 23:27:56 +0000 (19:27 -0400)] 
Expect type error in test43.tig

22 months agoWIP type-checking -- check recursive type defs
Siraaj Khandkar [Sun, 16 Sep 2018 23:27:18 +0000 (19:27 -0400)] 
WIP type-checking -- check recursive type defs

22 months agoAdd micro test for recursive type def
Siraaj Khandkar [Sun, 16 Sep 2018 18:10:01 +0000 (14:10 -0400)] 
Add micro test for recursive type def

22 months agoAdd CLI options to execute different test suites
Siraaj Khandkar [Sun, 16 Sep 2018 17:23:19 +0000 (13:23 -0400)] 
Add CLI options to execute different test suites

22 months agoClean-up missing labels and unused entities
Siraaj Khandkar [Sun, 16 Sep 2018 16:52:02 +0000 (12:52 -0400)] 
Clean-up missing labels and unused entities

22 months agoUse the same status symbol for total as for each
Siraaj Khandkar [Sun, 16 Sep 2018 16:41:30 +0000 (12:41 -0400)] 
Use the same status symbol for total as for each

22 months agoDon't execute semant test if parsing fails
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

22 months agoExpect syntax error in test49.tig
Siraaj Khandkar [Sun, 16 Sep 2018 16:17:35 +0000 (12:17 -0400)] 
Expect syntax error in test49.tig

22 months agoImplement tests grid-view and backtraces
Siraaj Khandkar [Sun, 16 Sep 2018 15:12:09 +0000 (11:12 -0400)] 
Implement tests grid-view and backtraces

but messily - needs refactoring

22 months agoDisambiguate variant label
Siraaj Khandkar [Sat, 15 Sep 2018 20:15:49 +0000 (16:15 -0400)] 
Disambiguate variant label

22 months agoDon't use long code as test name
Siraaj Khandkar [Sat, 15 Sep 2018 18:13:35 +0000 (14:13 -0400)] 
Don't use long code as test name

22 months agoExpand status notes
Siraaj Khandkar [Sat, 15 Sep 2018 18:04:06 +0000 (14:04 -0400)] 
Expand status notes

22 months agoDisable color for skip status indicator
Siraaj Khandkar [Sat, 15 Sep 2018 17:41:55 +0000 (13:41 -0400)] 
Disable color for skip status indicator

22 months agoDisable info for non-fail status
Siraaj Khandkar [Sat, 15 Sep 2018 17:40:17 +0000 (13:40 -0400)] 
Disable info for non-fail status

22 months agoCondense status to a more-useful TODO form
Siraaj Khandkar [Sat, 15 Sep 2018 17:33:01 +0000 (13:33 -0400)] 
Condense status to a more-useful TODO form

22 months agoTest every book test case
Siraaj Khandkar [Sat, 15 Sep 2018 17:20:48 +0000 (13:20 -0400)] 
Test every book test case

22 months agoEscape newline in strings
Siraaj Khandkar [Fri, 14 Sep 2018 19:23:34 +0000 (15:23 -0400)] 
Escape newline in strings

22 months agoAdd a couple of type (in)compatibility test cases
Siraaj Khandkar [Fri, 14 Sep 2018 17:55:17 +0000 (13:55 -0400)] 
Add a couple of type (in)compatibility test cases

22 months agoFix use type of last expression in a sequence
Siraaj Khandkar [Fri, 14 Sep 2018 16:02:48 +0000 (12:02 -0400)] 
Fix use type of last expression in a sequence

22 months agoFix incorrect environment entry
Siraaj Khandkar [Fri, 14 Sep 2018 15:45:13 +0000 (11:45 -0400)] 
Fix incorrect environment entry

should be a value, not type

22 months agoTighten-up test cases: specify where errors are expected
Siraaj Khandkar [Fri, 14 Sep 2018 15:39:57 +0000 (11:39 -0400)] 
Tighten-up test cases: specify where errors are expected

22 months agoRemove unused code
Siraaj Khandkar [Fri, 14 Sep 2018 15:12:52 +0000 (11:12 -0400)] 
Remove unused code

22 months agoWIP type-checking -- check function declarations
Siraaj Khandkar [Fri, 14 Sep 2018 15:01:32 +0000 (11:01 -0400)] 
WIP type-checking -- check function declarations

22 months agoAdd TODO for mutual recursion
Siraaj Khandkar [Fri, 14 Sep 2018 13:38:02 +0000 (09:38 -0400)] 
Add TODO for mutual recursion

22 months agoWIP type-checking -- check type declarations
Siraaj Khandkar [Fri, 14 Sep 2018 13:36:42 +0000 (09:36 -0400)] 
WIP type-checking -- check type declarations

22 months agoCount test cases
Siraaj Khandkar [Fri, 14 Sep 2018 13:22:31 +0000 (09:22 -0400)] 
Count test cases

22 months agoWIP type-checking -- check variable declarations
Siraaj Khandkar [Fri, 14 Sep 2018 12:31:18 +0000 (08:31 -0400)] 
WIP type-checking -- check variable declarations

22 months agoWIP type-checking -- check array expressions
Siraaj Khandkar [Thu, 13 Sep 2018 23:54:20 +0000 (19:54 -0400)] 
WIP type-checking -- check array expressions

22 months agoWIP type-checking -- check record expressions
Siraaj Khandkar [Thu, 13 Sep 2018 23:40:45 +0000 (19:40 -0400)] 
WIP type-checking -- check record expressions

22 months agoWIP type-checking -- check function call expression
Siraaj Khandkar [Thu, 13 Sep 2018 23:15:58 +0000 (19:15 -0400)] 
WIP type-checking -- check function call expression

22 months agoWIP type-checking -- check array subscript access
Siraaj Khandkar [Thu, 13 Sep 2018 22:57:50 +0000 (18:57 -0400)] 
WIP type-checking -- check array subscript access

22 months agoWIP type-checking
Siraaj Khandkar [Thu, 13 Sep 2018 22:40:01 +0000 (18:40 -0400)] 
WIP type-checking

22 months agoAbandon -classic-display
Siraaj Khandkar [Thu, 13 Sep 2018 20:58:23 +0000 (16:58 -0400)] 
Abandon -classic-display

22 months agoSketch-out Semant module
Siraaj Khandkar [Thu, 13 Sep 2018 17:19:00 +0000 (13:19 -0400)] 
Sketch-out Semant module

22 months agoDefine the environments (for types and values)
Siraaj Khandkar [Thu, 13 Sep 2018 17:18:23 +0000 (13:18 -0400)] 
Define the environments (for types and values)

22 months agoImprove final pass/fail indicator
Siraaj Khandkar [Thu, 13 Sep 2018 15:14:13 +0000 (11:14 -0400)] 
Improve final pass/fail indicator

22 months agoAdd module abbreviations to error module interface
Siraaj Khandkar [Thu, 13 Sep 2018 14:57:37 +0000 (10:57 -0400)] 
Add module abbreviations to error module interface

22 months agoTest for semantic errors
Siraaj Khandkar [Thu, 13 Sep 2018 14:40:30 +0000 (10:40 -0400)] 
Test for semantic errors

(just 1 of, for now)

22 months agoAdd stub for Translate module
Siraaj Khandkar [Thu, 13 Sep 2018 14:15:35 +0000 (10:15 -0400)] 
Add stub for Translate module

22 months agoResurrect 8-queens test
Siraaj Khandkar [Thu, 13 Sep 2018 14:14:26 +0000 (10:14 -0400)] 
Resurrect 8-queens test

22 months agoReplace test status lexicon
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

22 months agoUse helper functions for test status indicators
Siraaj Khandkar [Thu, 13 Sep 2018 14:00:49 +0000 (10:00 -0400)] 
Use helper functions for test status indicators

22 months agoAdd stub for Semant module
Siraaj Khandkar [Thu, 13 Sep 2018 13:25:48 +0000 (09:25 -0400)] 
Add stub for Semant module

22 months agoAdd semantic analysis stage to tests
Siraaj Khandkar [Thu, 13 Sep 2018 12:59:38 +0000 (08:59 -0400)] 
Add semantic analysis stage to tests

22 months agoIndicate "OK" for expected errors
Siraaj Khandkar [Thu, 13 Sep 2018 12:58:19 +0000 (08:58 -0400)] 
Indicate "OK" for expected errors

22 months agoAugment testing framework to support examining 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

22 months agoDefine (some) semantic errors
Siraaj Khandkar [Wed, 12 Sep 2018 22:30:12 +0000 (18:30 -0400)] 
Define (some) semantic errors

22 months agoAdd map helper to build from list of pairs
Siraaj Khandkar [Tue, 11 Sep 2018 16:34:07 +0000 (12:34 -0400)] 
Add map helper to build from list of pairs

22 months agoRemove label from error raising helper
Siraaj Khandkar [Tue, 11 Sep 2018 16:32:26 +0000 (12:32 -0400)] 
Remove label from error raising helper

22 months agoExplicitly ignore unused fields
Siraaj Khandkar [Tue, 11 Sep 2018 16:29:22 +0000 (12:29 -0400)] 
Explicitly ignore unused fields

2 years agoUpdate alignment
Siraaj Khandkar [Wed, 6 Jun 2018 01:15:48 +0000 (21:15 -0400)] 
Update alignment

2 years agoCentralize error message construction
Siraaj Khandkar [Wed, 6 Jun 2018 01:14:22 +0000 (21:14 -0400)] 
Centralize error message construction

2 years agoDefine the canonical map structure for Tiger
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.

2 years agoRefactor test framework
Siraaj Khandkar [Tue, 5 Jun 2018 16:46:18 +0000 (12:46 -0400)] 
Refactor test framework

2 years agoBegin Implementation Notes section
Siraaj Khandkar [Tue, 5 Jun 2018 16:25:29 +0000 (12:25 -0400)] 
Begin Implementation Notes section

2 years agoRefer to test errors as failures
Siraaj Khandkar [Tue, 5 Jun 2018 16:24:24 +0000 (12:24 -0400)] 
Refer to test errors as failures

2 years agoReport error count
Siraaj Khandkar [Tue, 5 Jun 2018 16:12:46 +0000 (12:12 -0400)] 
Report error count

2 years agoBreak some long lines
Siraaj Khandkar [Tue, 5 Jun 2018 16:11:53 +0000 (12:11 -0400)] 
Break some long lines

2 years agoRe-use code for name in micro test cases
Siraaj Khandkar [Tue, 5 Jun 2018 15:55:28 +0000 (11:55 -0400)] 
Re-use code for name in micro test cases

2 years agoRefactor testing framework
Siraaj Khandkar [Sun, 3 Jun 2018 18:02:57 +0000 (14:02 -0400)] 
Refactor testing framework

2 years agoIndent stringinfied AST
Siraaj Khandkar [Fri, 1 Jun 2018 17:09:37 +0000 (13:09 -0400)] 
Indent stringinfied AST

first stab - some rough edges remain

2 years agoImplement a basic AST printer
Siraaj Khandkar [Fri, 1 Jun 2018 00:59:05 +0000 (20:59 -0400)] 
Implement a basic AST printer

2 years agoRename "tiger" dir to "compiler"
Siraaj Khandkar [Thu, 31 May 2018 23:07:13 +0000 (19:07 -0400)] 
Rename "tiger" dir to "compiler"

2 years agoFix shift/reduce conflicts introduced by grouping consecutive typ|fun decs
Siraaj Khandkar [Thu, 31 May 2018 21:49:28 +0000 (17:49 -0400)] 
Fix shift/reduce conflicts introduced by grouping consecutive typ|fun decs

2 years agoComplete 1.04.p: add semantic actions to parser
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

2 years agoOutput ocamlyacc state table
Siraaj Khandkar [Thu, 31 May 2018 17:09:09 +0000 (13:09 -0400)] 
Output ocamlyacc state table

for debugging conflicts

2 years agoReorg Makefile
Siraaj Khandkar [Thu, 31 May 2018 17:08:36 +0000 (13:08 -0400)] 
Reorg Makefile

2 years agoUpdate project status
Siraaj Khandkar [Wed, 30 May 2018 02:40:35 +0000 (22:40 -0400)] 
Update project status

2 years agoFix the remaining 12 shift/reduce conflicts
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

2 years agoShow commands executed by ocamlbuild
Siraaj Khandkar [Tue, 29 May 2018 16:37:56 +0000 (12:37 -0400)] 
Show commands executed by ocamlbuild

2 years agoAssign precedence and associativity to THEN
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

2 years agoAssign precedence and associativity to ELSE
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

2 years agoAssign precedence to ASSIGN
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

2 years agoAssign precedence and associativity to OF and DO
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

This page took 0.038328 seconds and 4 git commands to generate.