tiger.ml.git
6 years agoEscape newline in strings
Siraaj Khandkar [Fri, 14 Sep 2018 19:23:34 +0000 (15:23 -0400)] 
Escape newline in strings

6 years 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

6 years 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

6 years 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

6 years 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

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

6 years 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

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

6 years 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

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

6 years 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

6 years 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

6 years 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

6 years 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

6 years 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

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

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

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

6 years 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)

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

6 years 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

6 years 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)

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

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

6 years 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

6 years 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

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

6 years 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

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

6 years 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

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

6 years 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

6 years 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

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

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

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

6 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.

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

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

6 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

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

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

6 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

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

6 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

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

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

6 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

6 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

6 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

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

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

6 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

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

6 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

6 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

6 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

6 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

6 years agoDisable queens test case from book (temporarily)
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.

6 years agoAdd some micro test cases
Siraaj Khandkar [Tue, 29 May 2018 14:47:18 +0000 (10:47 -0400)] 
Add some micro test cases

6 years agoEnsure make fails after 1st recipe failure
Siraaj Khandkar [Tue, 29 May 2018 14:45:05 +0000 (10:45 -0400)] 
Ensure make fails after 1st recipe failure

6 years agoResolve conflict between 2 rules with subscript notation
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...

6 years agoMove definition closer to usage location
Siraaj Khandkar [Mon, 28 May 2018 18:35:23 +0000 (14:35 -0400)] 
Move definition closer to usage location

6 years agoRemove stand-alone tyfield grammar rule
Siraaj Khandkar [Mon, 28 May 2018 18:32:01 +0000 (14:32 -0400)] 
Remove stand-alone tyfield grammar rule

6 years agoCombine declaration sub-rules
Siraaj Khandkar [Mon, 28 May 2018 18:26:33 +0000 (14:26 -0400)] 
Combine declaration sub-rules

6 years agoRemove stand-alone ty grammar rule
Siraaj Khandkar [Mon, 28 May 2018 18:05:34 +0000 (14:05 -0400)] 
Remove stand-alone ty grammar rule

6 years agoRename seq to exps
Siraaj Khandkar [Mon, 28 May 2018 17:54:41 +0000 (13:54 -0400)] 
Rename seq to exps

6 years agoRemove stand-alone unit grammar rule
Siraaj Khandkar [Mon, 28 May 2018 17:52:36 +0000 (13:52 -0400)] 
Remove stand-alone unit grammar rule

6 years agoRemove stand-alone fun_call grammar rule
Siraaj Khandkar [Mon, 28 May 2018 17:47:25 +0000 (13:47 -0400)] 
Remove stand-alone fun_call grammar rule

6 years agoAdd (incomplete) test case for queens.tig
Siraaj Khandkar [Mon, 28 May 2018 17:42:33 +0000 (13:42 -0400)] 
Add (incomplete) test case for queens.tig

6 years agoRemove stand-alone grammar rule for ID
Siraaj Khandkar [Mon, 28 May 2018 17:42:00 +0000 (13:42 -0400)] 
Remove stand-alone grammar rule for ID

6 years agoFix reduce/reduce conflict
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

6 years agoRe-org testing code
Siraaj Khandkar [Sat, 26 May 2018 01:59:59 +0000 (21:59 -0400)] 
Re-org testing code

6 years agoDefine initial grammar
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.

6 years agoAdd another test case
Siraaj Khandkar [Thu, 24 May 2018 01:46:33 +0000 (21:46 -0400)] 
Add another test case

6 years agoImprove test result printing
Siraaj Khandkar [Thu, 24 May 2018 01:39:05 +0000 (21:39 -0400)] 
Improve test result printing

6 years agoUse meaningful names of test cases
Siraaj Khandkar [Thu, 24 May 2018 01:27:53 +0000 (21:27 -0400)] 
Use meaningful names of test cases

6 years agoAdd another test case - define recursive function
Siraaj Khandkar [Thu, 24 May 2018 01:24:15 +0000 (21:24 -0400)] 
Add another test case - define recursive function

6 years agoFix warnings: 4, 6, 29
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

6 years agoEnable all warnings
Siraaj Khandkar [Thu, 24 May 2018 01:03:49 +0000 (21:03 -0400)] 
Enable all warnings

6 years agoAdd test cases
Siraaj Khandkar [Thu, 24 May 2018 01:03:20 +0000 (21:03 -0400)] 
Add test cases

6 years agoStop indiscriminate eating
Siraaj Khandkar [Wed, 23 May 2018 21:51:28 +0000 (17:51 -0400)] 
Stop indiscriminate eating

6 years agoComplete 1.02.p.1: Tiger lexer
Siraaj Khandkar [Wed, 23 May 2018 03:46:42 +0000 (23:46 -0400)] 
Complete 1.02.p.1: Tiger lexer

6 years agoLay down Tiger build skeleton
Siraaj Khandkar [Mon, 30 Apr 2018 16:13:10 +0000 (12:13 -0400)] 
Lay down Tiger build skeleton

6 years agoImplement balanced binary tree and refactor
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.

6 years agoWIP Red Black tree
Siraaj Khandkar [Sat, 21 Apr 2018 02:35:21 +0000 (22:35 -0400)] 
WIP Red Black tree

6 years agoLeave DOT output on disk
Siraaj Khandkar [Thu, 19 Apr 2018 20:30:48 +0000 (16:30 -0400)] 
Leave DOT output on disk

for examination

6 years agoFix missing cleanup of "tree" executable
Siraaj Khandkar [Thu, 19 Apr 2018 15:44:03 +0000 (11:44 -0400)] 
Fix missing cleanup of "tree" executable

6 years agoFix demo of unbalanced behaviour - use graphviz
Siraaj Khandkar [Wed, 18 Apr 2018 16:58:17 +0000 (12:58 -0400)] 
Fix demo of unbalanced behaviour - use graphviz

6 years agoComplete 1.01.e.1.c: demo unbalanced behaviour
Siraaj Khandkar [Wed, 18 Apr 2018 15:39:14 +0000 (11:39 -0400)] 
Complete 1.01.e.1.c: demo unbalanced behaviour

6 years agoUpdate status dates
Siraaj Khandkar [Wed, 18 Apr 2018 13:19:25 +0000 (09:19 -0400)] 
Update status dates

6 years agoComplete 1.01.e.1.b: binary tree key->value set/get
Siraaj Khandkar [Wed, 18 Apr 2018 13:17:05 +0000 (09:17 -0400)] 
Complete 1.01.e.1.b: binary tree key->value set/get

6 years agoComplete 1.01.e.1.a - binary tree member
Siraaj Khandkar [Wed, 18 Apr 2018 03:57:14 +0000 (23:57 -0400)] 
Complete 1.01.e.1.a - binary tree member

6 years agoComplete 1.01.p.2
Siraaj Khandkar [Tue, 17 Apr 2018 23:48:01 +0000 (19:48 -0400)] 
Complete 1.01.p.2

straight line program interpreter - interp

6 years agoRewrite purely functionally
Siraaj Khandkar [Tue, 17 Apr 2018 22:29:26 +0000 (18:29 -0400)] 
Rewrite purely functionally

6 years agoComplete 1.01.p.1
Siraaj Khandkar [Tue, 17 Apr 2018 20:30:33 +0000 (16:30 -0400)] 
Complete 1.01.p.1

straight line program interpreter - maxargs

6 years agoMake a basic Makefile for a small OCaml program
Siraaj Khandkar [Mon, 16 Apr 2018 17:19:11 +0000 (13:19 -0400)] 
Make a basic Makefile for a small OCaml program

6 years agoFix missing indentation level
Siraaj Khandkar [Sat, 14 Apr 2018 23:49:11 +0000 (19:49 -0400)] 
Fix missing indentation level

6 years agoSet upper bound on total estimate
Siraaj Khandkar [Sat, 14 Apr 2018 14:57:32 +0000 (10:57 -0400)] 
Set upper bound on total estimate

6 years agoTabularize all and expand 1st 2 chapters
Siraaj Khandkar [Fri, 13 Apr 2018 22:24:51 +0000 (18:24 -0400)] 
Tabularize all and expand 1st 2 chapters

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