2014-05-19 17:13 | Make iris work non-interactively as well | sin | 1 | +10 | -4 |
2014-05-19 14:01 | Use a linked list for handling the environments | sin | 2 | +20 | -23 |
2014-05-19 13:43 | Fix (diff) | sin | 1 | +2 | -0 |
2014-05-19 13:41 | No need to define evalplus() recursively | sin | 1 | +18 | -17 |
2014-05-19 12:05 | No need to use a do-while loop | sin | 1 | +2 | -2 |
2014-05-19 12:01 | Add tests dir | sin | 2 | +18 | -0 |
2014-05-19 11:49 | Initial implementation of lambda! | sin | 1 | +122 | -45 |
2014-05-19 11:49 | Remember to invalidate environment | sin | 1 | +1 | -0 |
2014-05-19 11:41 | Only replace symbols in the top environment | sin | 1 | +5 | -8 |
2014-05-19 10:26 | Don't modify the object in place | sin | 1 | +6 | -4 |
2014-05-19 09:49 | Increase number of environments | sin | 1 | +1 | -1 |
2014-05-16 14:49 | Prepare the ground for compound procedures | sin | 1 | +9 | -9 |
2014-05-16 14:23 | Add car, cdr and cons | sin | 1 | +59 | -0 |
2014-05-16 14:22 | Fix handling of quotes - no multiple arguments | sin | 1 | +8 | -5 |
2014-05-16 14:09 | Add lt/gt/eq | sin | 1 | +97 | -10 |
2014-05-16 12:27 | Report unbound identifiers for pair evaluation | sin | 1 | +1 | -1 |
2014-05-16 12:26 | Be consistent and use a switch statement in eval() | sin | 1 | +14 | -15 |
2014-05-16 12:23 | Rename some variables to reflect their meaning better | sin | 1 | +22 | -22 |
2014-05-16 12:19 | Rename i.s to i.name for identifiers | sin | 1 | +19 | -19 |
2014-05-16 12:16 | Add integer type predicate | sin | 4 | +53 | -31 |
2014-05-16 11:56 | Simplify evaluation of builtins and procedures | sin | 1 | +9 | -14 |
2014-05-16 10:46 | Add null predicate | sin | 1 | +22 | -0 |
2014-05-16 10:41 | Bomb out on multiple arguments to boolean | sin | 1 | +4 | -2 |
2014-05-16 10:37 | Add boolean proc and clean up a bit | sin | 1 | +39 | -38 |
2014-05-16 10:24 | Be more consistent when printing procedures | sin | 1 | +1 | -1 |
2014-05-16 10:22 | Add support for primitive procedures | sin | 1 | +94 | -58 |
2014-05-16 09:43 | Bomb out on evaluation errors from plus/diff | sin | 1 | +4 | -0 |
2014-05-16 09:40 | Fix plus/diff | sin | 1 | +43 | -27 |
2014-05-15 16:03 | Add diff | sin | 1 | +27 | -0 |
2014-05-15 15:09 | Use car()/cdr() | sin | 1 | +7 | -7 |
2014-05-15 15:02 | Add plus builtin | sin | 1 | +27 | -0 |
2014-05-15 14:45 | Rename p to pair because we'll soon have proc | sin | 1 | +7 | -7 |
2014-05-15 12:36 | Add if handling | sin | 1 | +23 | -0 |
2014-05-15 11:41 | Fix indentation | sin | 1 | +45 | -47 |
2014-05-15 11:29 | Implement set | sin | 1 | +31 | -0 |
2014-05-15 11:21 | Do not allow multiple arguments to define | sin | 1 | +2 | -0 |
2014-05-15 11:16 | Check for errors while parsing define | sin | 1 | +3 | -1 |
2014-05-15 11:04 | Don't segfault on (define a) etc. | sin | 1 | +3 | -1 |
2014-05-15 10:46 | Allow to override sym -> object associations | sin | 1 | +11 | -4 |
2014-05-15 10:41 | We already have the macros so use them | sin | 1 | +2 | -2 |
2014-05-15 10:34 | Parse define | sin | 1 | +82 | -7 |
2014-05-15 10:06 | Split long line | sin | 1 | +2 | -1 |
2014-05-15 10:05 | Prepare the ground for more builtins | sin | 1 | +22 | -9 |
2014-05-15 09:45 | Make error message more explicit | sin | 1 | +3 | -1 |
2014-05-15 09:38 | Fix comment alignment | sin | 1 | +1 | -1 |
2014-05-15 09:36 | Eval identifiers | sin | 3 | +31 | -11 |
2014-05-14 15:06 | Staticise quoted() | sin | 1 | +1 | -1 |
2014-05-14 13:54 | Use identifier() for builtins | sin | 1 | +1 | -6 |
2014-05-14 13:51 | init() before banner | sin | 1 | +1 | -1 |
2014-05-14 13:50 | Add the quote identifier as well | sin | 3 | +23 | -15 |
2014-05-14 13:45 | Fix c/p error | sin | 1 | +2 | -2 |
2014-05-14 13:21 | Staticise quote() | sin | 1 | +1 | -1 |
2014-05-14 13:20 | Use a switch statement | sin | 1 | +4 | -3 |
2014-05-14 13:14 | Implementation quotation | sin | 1 | +38 | -2 |
2014-05-14 12:50 | Rename pushbacktok() to puttok() | sin | 3 | +5 | -4 |
2014-05-14 12:46 | Parse pairs/lists | sin | 3 | +98 | -0 |
2014-05-14 10:52 | Remove dead code | sin | 1 | +2 | -2 |
2014-05-14 10:46 | Comments to clarify magic numbers | sin | 1 | +2 | -0 |
2014-05-14 10:43 | Parse identifiers too | sin | 1 | +20 | -0 |
2014-05-14 10:40 | Make functions uniform, pass around errors as objects | sin | 1 | +24 | -58 |
2014-05-14 16:34 | Stylistic change | sin | 1 | +1 | -1 |
2014-05-14 16:34 | Add intro message | sin | 1 | +1 | -0 |
2014-05-14 16:33 | Scream for unhandled tokens | sin | 1 | +3 | -0 |
2014-05-14 16:32 | Newline is added by repl | sin | 1 | +1 | -1 |
2014-05-14 16:29 | No need to export these, treat them as opaque | sin | 2 | +44 | -44 |
2014-05-14 16:25 | Add resetenv() | sin | 2 | +7 | -0 |
2014-05-14 16:21 | define's come first | sin | 2 | +5 | -5 |
2014-05-14 16:20 | Initialize env | sin | 3 | +7 | -5 |
2014-05-14 16:17 | Add environment handling | sin | 2 | +47 | -12 |
2014-05-14 16:00 | addsym() should return the existing object | sin | 2 | +8 | -6 |
2014-05-14 15:51 | Add symtable handling | sin | 3 | +54 | -1 |
2014-05-14 15:26 | Some output just for debugging purposes | sin | 1 | +2 | -0 |
2014-05-14 15:22 | Add wrappers for memory allocation | sin | 4 | +40 | -47 |
2014-05-14 15:16 | Staticise functions | sin | 2 | +8 | -9 |
2014-05-14 15:15 | Add comment | sin | 1 | +2 | -0 |
2014-05-14 15:15 | remember to fflush after printing the prompt | sin | 1 | +1 | -0 |
2014-05-14 15:12 | Fix c/p error | sin | 1 | +1 | -1 |
2014-05-14 15:11 | Die on oom | sin | 1 | +4 | -2 |
2014-05-14 15:11 | Add freeobject() | sin | 1 | +19 | -0 |
2014-05-14 15:06 | Set the number field in number() | sin | 1 | +1 | -1 |
2014-05-14 15:03 | Make it look like an repl prompt | sin | 2 | +9 | -6 |
2014-05-14 14:59 | Add rudimentary parsing for self-evaluating objects | sin | 3 | +176 | -17 |
2014-05-14 14:37 | Rename local var | sin | 1 | +14 | -14 |
2014-05-13 15:35 | Rename tok2string to lexeme | sin | 3 | +3 | -3 |
2014-05-13 15:25 | Be consistent with naming | sin | 1 | +5 | -5 |
2014-05-13 15:23 | Rename "State_" to S | sin | 1 | +50 | -50 |
2014-05-13 15:22 | Prefix token enumeration constants with 'T' | sin | 4 | +45 | -45 |
2014-05-11 15:40 | 't' comes after 'g' | sin | 2 | +12 | -12 |
2014-05-11 15:39 | Rename extractstring() to tok2string() | sin | 3 | +3 | -3 |
2014-05-11 15:35 | Guard against unexpected EOF | sin | 1 | +6 | -0 |
2014-05-11 15:30 | Remove initlexer() | sin | 3 | +0 | -9 |
2014-05-11 15:29 | Guard against overwriting the internal lexer buffer | sin | 1 | +7 | -1 |
2014-05-11 13:51 | Handle comments correctly | sin | 1 | +2 | -6 |
2014-05-11 13:46 | No need to pushback on errors | sin | 1 | +0 | -9 |
2014-05-11 13:39 | Re-organize the lexer | sin | 3 | +114 | -153 |
2014-05-09 19:52 | Use internal state variable to track the lexer's state | sin | 1 | +26 | -23 |
2014-05-09 07:12 | lexerctx should be internal to lexer.c | sin | 3 | +38 | -11 |
2014-05-09 16:20 | Simplify Makefile | sin | 1 | +3 | -6 |
2014-05-09 16:17 | Handle gracefully non-interactive input | sin | 1 | +11 | -5 |
2014-05-09 16:13 | Change debug output a bit | sin | 1 | +12 | -12 |
2014-05-09 16:10 | Don't append CFLAGS etc. | sin | 1 | +2 | -2 |
2014-05-09 15:58 | Factor out lexer driver in a separate function | sin | 1 | +16 | -10 |
2014-05-09 15:52 | Add util | sin | 4 | +36 | -3 |
2014-05-09 15:44 | Remove matchtype() | sin | 2 | +0 | -7 |
2014-05-09 15:40 | Rename Illegal_Token to Illegal_Input | sin | 1 | +4 | -4 |
2014-05-09 15:36 | Rename tok to t where it makes sense | sin | 2 | +10 | -10 |
2014-05-09 15:30 | Rename unknown token to illegal token | sin | 1 | +4 | -4 |
2014-05-09 14:52 | Factor out printtok() to debug.c | sin | 6 | +58 | -53 |
2014-05-09 14:45 | Add initial parser - no real functionality yet | sin | 3 | +60 | -1 |
2014-05-09 13:32 | Handle quote tokens properly | sin | 1 | +2 | -2 |
2014-05-09 13:26 | Add Makefile | sin | 1 | +23 | -0 |
2014-05-09 13:13 | Add support for signed numbers | sin | 1 | +12 | -0 |
2014-05-09 12:58 | Add greeting | sin | 1 | +1 | -0 |
2014-05-09 12:57 | No need to typedef | sin | 1 | +3 | -3 |
2014-05-09 12:56 | State enumeration should be internal to the lexer | sin | 2 | +18 | -18 |
2014-05-09 12:49 | Eat space | sin | 1 | +3 | -0 |
2014-05-09 12:44 | Clarify semantics in extractstring() | sin | 1 | +1 | -0 |
2014-05-09 12:41 | Add LICENSE details at top of files | sin | 3 | +3 | -0 |
2014-05-09 12:41 | Add LICENSE | sin | 1 | +21 | -0 |
2014-05-09 12:40 | Initial commit | sin | 3 | +325 | -0 |