Commit Graph

24 Commits

Author SHA1 Message Date
Nathan Braswell
caba8b310f Small speed improvement int trim by using stack (and DFS) instead of queue (and BFS) for remove and collapse, finally fix the unknown escape '\*' error 2017-01-25 01:47:05 -05:00
Nathan Braswell
6fee942756 Refactored interpreter into just functions, added a REPL to the main kraken. 2016-07-03 15:32:45 -07:00
Nathan Braswell
4de7dd1210 Added support for unions as a step towards lowering ADTs in the next pass to be written. 2016-06-15 22:26:03 -07:00
Nathan Braswell
27fea0e90c work on multithread, interpreter, and prototyped a #line-in-simple-passthrough ast changing pass turned on with -g 2016-06-14 02:14:25 -07:00
Nathan Braswell
ce2eff42a6 Moved over compiler information printing and error to use stderr, enabled interpreter testing in tester. The interpreter passes 34/74 tests 2016-05-22 14:10:19 -07:00
Nathan Braswell
2051f54b55 Added in sizeof intrinsic + piping for more in the future. Inbetween commit before removing sizeof function 2016-04-28 18:47:53 -04:00
Nathan Braswell
2cd43e5a21 most of hash map - have to commit fix for unify type first 2016-04-20 16:09:26 -04:00
Nathan Braswell
8d0996fb47 Added in bitwise operators 2016-04-19 18:39:01 -04:00
Nathan Braswell
d5b930739f Some fun adding in var var and var ref 2016-04-13 22:46:05 -04:00
Nathan Braswell
e732a6e41d Clean up for demo 2016-04-13 16:25:16 -04:00
Nathan Braswell
09158cd2b9 Fix vector out of bounds access for parser, ast_transformation, and c_generator, remove many printlns in prep for better error handling, add features to captian.sh to facillitate development 2016-03-30 16:13:10 -04:00
Nathan Braswell
d6bb0cf45b Implemented traits, so test_traitsTest passes now and fixed small bug that allowed test_functionsValues to pass as well. 42 now 2016-02-29 04:53:03 -05:00
Nathan Braswell
11eba1ba07 Port many tests and fix small bugs revealed in Kalypso (passes 24/72) - tests have also revealed more extensive features not yet implemented, and I seem to have messed up a test or two so that the C++ version also fails a couple more (it's at 59/71 now). Will investigate 2016-02-07 16:22:55 -05:00
Nathan Braswell
7a2cef08e8 Added in checking the stdlib directory to Kalypso 2016-02-05 21:34:25 -05:00
Nathan Braswell
135305fb76 The piping for defer, though not the correct stacks in c_generator. Bedtime though 2016-01-25 02:53:00 -05:00
Nathan Braswell
4c569f4f8c Added function calls, printing out of pointers 2016-01-11 23:41:09 -05:00
Nathan Braswell
16aa01a76e Placeholder/passthrough for all the expressions, simple value node passthrough (though if Kraken has the same literal syntax as C it'll work for a while, though it really needs to encode the type... 2016-01-08 00:33:05 -05:00
Nathan Braswell
f29fdcd463 More skeleton, including a trivial second_pass_function, fix a bug with ADTs that have members with the same name (may still be a problem if the ADT itself has the same name) 2016-01-05 21:40:00 -05:00
Nathan Braswell
84032eece0 Fix case_statement/lambda-close-over-variables bug, rename ast_node file to make ast_node:: unambigious, change test_ast to test_compiler and add a little skeleton c_generator file 2016-01-04 00:38:59 -05:00
Nathan Braswell
fd6383124c more work on the ast_transformation 2015-12-28 03:34:40 -05:00
Nathan Braswell
d63b680355 debugging 2015-12-07 13:43:22 -05:00
Nathan Braswell
f312b3f02f collapse transformation 2015-12-05 18:36:35 -05:00
Nathan Braswell
0f0d49e4be remove symbols 2015-12-05 17:31:11 -05:00
Nathan Braswell
e45df51e70 more work 2015-12-05 07:13:32 -05:00