log

age author description
Sun, 01 Jun 2014 17:20:29 -0700 Michael Pavone Fix fold on ast nodes so that all nodes get visited
Sun, 01 Jun 2014 00:14:36 -0700 Michael Pavone Memoize results of match:where:yield and matchOne: macros. Fix opsym rule to use the symbol ast node.
Sat, 31 May 2014 22:51:00 -0700 Michael Pavone Actual working implementation of isconstant check
Sat, 31 May 2014 21:30:18 -0700 Michael Pavone Support assigment of literals while preparing the environment for a macro
Sat, 31 May 2014 21:27:03 -0700 Michael Pavone Fix infinite loop in hash dict
Sat, 10 May 2014 19:11:01 -0700 Michael Pavone Added code for building a method symbol table
Fri, 11 Apr 2014 22:29:32 -0700 Michael Pavone Fix a couple of compiler bugs. topenv was getting initialized in multiple places. This resulted in multiple copies of modules getting created which caused problems for macro expansion. Additionally, arguments were not being marked as declared during code generation so assigning to an argument that was not closed over generated invalid C code.
Wed, 09 Apr 2014 22:55:10 -0700 Michael Pavone Added hash dictionary to dict module
Wed, 09 Apr 2014 22:54:52 -0700 Michael Pavone Added resize method to arrays
Sun, 30 Mar 2014 18:17:56 -0700 Michael Pavone Added get:else method to linear dict
Wed, 08 Jan 2014 19:27:19 -0800 Michael Pavone Finish moving ast object definitions to a separate ast module
Mon, 06 Jan 2014 19:41:35 -0800 Michael Pavone Refactor some of the AST node object constructors into a separate AST module
Mon, 06 Jan 2014 01:03:18 -0800 Mike Pavone Fix handling of unescaped tabs in string literals in new parser
Mon, 06 Jan 2014 00:48:19 -0800 Mike Pavone Improve compatibility of new parser with the old one
Sun, 05 Jan 2014 23:07:26 -0800 Mike Pavone Use a lightweight substring object in a few places in the parser to improve performance for large files.
Sun, 05 Jan 2014 20:56:25 -0800 Mike Pavone Make the successful return value from a match expression be truthy and the failure value false. This avoids an extra method call when checking the result and avoids allocating a new object when a match fails.
Sun, 05 Jan 2014 20:54:22 -0800 Mike Pavone Small fix to call to method implemented on current object check
Sun, 05 Jan 2014 20:53:35 -0800 Mike Pavone Don't rename the symbol self in quote blocks
Sun, 05 Jan 2014 19:28:09 -0800 Mike Pavone Don't expose internal helper functions in parser module
Sun, 05 Jan 2014 19:27:41 -0800 Mike Pavone Eval lambda assignments at macro expandion time so they can be called by macros
Sun, 05 Jan 2014 17:00:33 -0800 Mike Pavone Optimized implementation of character classes
Fri, 03 Jan 2014 22:13:34 -0800 Michael Pavone Support reading files larger than 1024 bytes in parser module
Fri, 03 Jan 2014 19:25:40 -0800 Michael Pavone Fix printing of function/method calls in parser module
Fri, 03 Jan 2014 19:23:47 -0800 Michael Pavone Add string method to unarymeth AST node object
Fri, 03 Jan 2014 19:14:14 -0800 Michael Pavone Fix tab escapes in old parser
Thu, 02 Jan 2014 23:42:33 -0800 Michael Pavone Fix string method of funcall nodes
Thu, 02 Jan 2014 22:49:51 -0800 Michael Pavone Fix string parsing in grammar and add it to the primlitsym rule. Add parentheses expressions. Allow parsing from a file.
Thu, 02 Jan 2014 21:04:10 -0800 Michael Pavone Implement lambdas in grammar. Make assignments an expression in grammar.
Thu, 02 Jan 2014 21:02:11 -0800 Michael Pavone Allow newlines between binary operator and the right argument to the operator
Sun, 29 Dec 2013 17:16:52 -0800 Michael Pavone Implemented arrays in grammar
Sun, 29 Dec 2013 17:09:21 -0800 Michael Pavone Implement list literals in grammar
Sun, 29 Dec 2013 14:56:46 -0800 Michael Pavone Implement all the binary operators except and/or/xor in grammar
Sun, 29 Dec 2013 14:39:54 -0800 Michael Pavone Added a new binaryOps:withHigherPrec macro to simplify specification of binary operator precedence level rules in the grammar
Sun, 29 Dec 2013 14:38:56 -0800 Michael Pavone Support macro expansion inside quoted code
Sun, 29 Dec 2013 14:25:38 -0800 Michael Pavone Added addition and multiplication precedence level operators to grammar
Sun, 29 Dec 2013 13:08:01 -0800 Michael Pavone Implemented more of the grammar. Dealt with some name conflicts along the way.
Sun, 29 Dec 2013 13:07:10 -0800 Michael Pavone Better handling for weird values being inserted into AST due to quoting
Mon, 23 Dec 2013 14:44:31 -0800 Michael Pavone Implement onePlus macro. Fix some bugs in the other matching macros. Implement integer literal parsing rules.
Mon, 23 Dec 2013 14:22:20 -0800 Michael Pavone Fix check of return value from env.find in symbol.quote so that falsey found values do not cause trouble.
Sat, 21 Dec 2013 12:08:06 -0800 Michael Pavone Implemented match:where:yield and fixed a bug in zeroPlus
Sat, 21 Dec 2013 12:07:51 -0800 Michael Pavone Switched to a less hacky implementation of hygiene and exposed more AST properties to macros
Sat, 21 Dec 2013 12:07:00 -0800 Michael Pavone Add -m flag to compiler driver to select macro expansion only
Sat, 21 Dec 2013 12:06:10 -0800 Michael Pavone Add contains? method to list
Fri, 06 Dec 2013 19:19:54 -0800 Michael Pavone Make assignments an expression in the grammar
Mon, 02 Dec 2013 00:50:16 -0800 Mike Pavone Implement match:yield macro
Sat, 30 Nov 2013 15:05:24 -0800 Mike Pavone Implement matchOne matching macro. Support more AST node types in zeroPlus matching macro.
Sat, 30 Nov 2013 15:04:52 -0800 Mike Pavone Don't compile quote expressions in C backend for now
Sat, 30 Nov 2013 15:03:47 -0800 Mike Pavone Fix some bugs and allow proper access to list literals in interpreter/macro expander
Wed, 27 Nov 2013 23:36:24 -0800 Michael Pavone Implement zeroPlus macro
Fri, 22 Nov 2013 19:37:25 -0800 Mike Pavone Initial work on pattern match macrosfor the new parser
Tue, 19 Nov 2013 22:02:11 -0800 Mike Pavone Basic implementation of macros is now working
Wed, 23 Oct 2013 19:10:03 -0700 Mike Pavone Implemented a simple interpreter to be used for macro expansion and a driver for testing it
Sun, 13 Oct 2013 20:23:08 -0700 Mike Pavone Some minor work on creating an IL backend based on the C backend
Wed, 28 Aug 2013 21:50:22 -0700 Mike Pavone Add support for the rest of the instructions currently defined in the il module in the x86 module
Wed, 28 Aug 2013 01:05:45 -0700 Mike Pavone Add code for converting IL into x86 machine code
Wed, 28 Aug 2013 01:05:29 -0700 Mike Pavone Add map method to linear dict
Wed, 28 Aug 2013 01:05:14 -0700 Mike Pavone Don't allow assignments to module variables
Tue, 27 Aug 2013 23:02:19 -0700 Mike Pavone Add a save instruction around calls if there are caller-saved registers live at call-time. Fix to2Op for skipIf and save instructions.
Tue, 27 Aug 2013 22:53:30 -0700 Mike Pavone Remove some debug print expressions
Tue, 27 Aug 2013 22:51:57 -0700 Mike Pavone Fix ireg upper, regSource returnAll and regSource needSaveForCall in x86 module