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
|