Commit Graph

343 Commits

Author SHA1 Message Date
Nathan Braswell
bf570f027c Variable declaration added now 2016-01-15 19:10:52 -05:00
Nathan Braswell
785c6a6a8e Function lookup now handles overloading 2016-01-14 12:57:16 -05:00
Nathan Braswell
fe6818edfc working towards function overloading, the emitted functions and function calls are now decorated and we're starting to get the prereqs for function lookup 2016-01-13 21:09:28 -05:00
Nathan Braswell
cb5b072b58 First Hello World! Now have to clean it up a little bit (correct assignment passthrough, add in the newline) 2016-01-12 00:21:01 -05:00
Nathan Braswell
1ed4ade218 Merge branch 'master' of https://github.com/Limvot/kraken 2016-01-11 23:41:22 -05:00
Nathan Braswell
4c569f4f8c Added function calls, printing out of pointers 2016-01-11 23:41:09 -05:00
ChrisFadden
f7789d5434 fixed bug in assignment operator 2016-01-11 19:52:11 -05:00
ChrisFadden
436532b079 Added shared pointers to mem library 2016-01-11 19:25:09 -05:00
Nathan Braswell
5db0365a63 Added indirection to types in prep for function calls, full passthrough, and the first real hello world 2016-01-10 18:26:31 -05:00
Nathan Braswell
7f20a42178 Added type to values 2016-01-09 22:37:43 -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
daae39fe19 Added in the beginnings of pass three which can parse and emit statements and code blocks 2016-01-07 02:52:22 -05:00
Nathan Braswell
337bc424ee Added in basic transformation and generation for functions 2016-01-06 02:46:42 -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
79065c032f We have a VERY SILL KRAKEN COMPILER\! simple_passthroughs are now emitted by the c_generator and test_compiler has been extended to write the C to a file and then call cc on it, so the self-hosted Kraken compiler can compile its very first thing\! (though that thing is a hello world C program written entirely in a simple_passthrough... 2016-01-04 02:00:06 -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
21a7afe66d Updated grammer to allow any statement as the child of an if_comp. Much more work incoming, but it will take past midnight, and I want to get what was finished earlier in before then to keep up my streak. 2016-01-03 23:50:07 -05:00
Nathan Braswell
bb3ccf808b unserialize grammer directly to avoid extra copying 2016-01-02 13:44:31 -05:00
Nathan Braswell
8b77a60be5 More ast_transformation work, but the big change was fixing regex so that it didn't have an exponential implmentation by using sets instead of vectors to deduplicate 2016-01-02 01:43:41 -05:00
Nathan Braswell
6107dda825 Move to individual transform functions, add skeleton for if_comp, simple_passthrough 2016-01-01 23:42:00 -05:00
Nathan Braswell
fd6383124c more work on the ast_transformation 2015-12-28 03:34:40 -05:00
Nathan Braswell
22b334a2ae Fixed the parse bug. I think it's legal for the post-shift table check to be invalid and you have to account for that in the table 2015-12-26 01:52:29 +00:00
ChrisFadden
5476289b51 Finished the basic syntax of Kraken for the manual 2015-12-14 12:45:47 -05:00
ChrisFadden
efb7c4d174 Documented classes 2015-12-11 02:12:41 -05:00
Nathan Braswell
d63b680355 debugging 2015-12-07 13:43:22 -05:00
Nathan Braswell
f753d4f421 little more work 2015-12-06 18:44:04 -05:00
Nathan Braswell
803b415220 get closer to generating real ast/dot 2015-12-06 15:15:33 -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
Nathan Braswell
78a949cfde add in dummy equality functions so that it compiles 2015-12-04 03:47:55 -05:00
Nathan Braswell
33f97c0c82 work on ast_transformation, fix adt depending on type CGenerator order bug (correctly add poset dependencies) 2015-12-04 03:41:46 -05:00
Nathan Braswell
53562aaad7 Merge branch 'master' of github.com:Limvot/kraken 2015-12-01 16:19:52 -05:00
Nathan Braswell
6ee7462a70 Fix closing over adt variables, starting work on ast_transformation 2015-12-01 16:19:44 -05:00
ChrisFadden
02c77049b3 Added pointers, references, and dynamic memory allocation to manual 2015-11-26 18:58:24 -05:00
ChrisFadden
ef53ad90c0 Added I/O to Manual 2015-11-26 16:52:11 -05:00
Nathan Braswell
e76bc51cce Fully working ADTs! Hopefully bugless 2015-11-25 15:35:06 -05:00
Nathan Braswell
624f070c74 Make ADT functions be name-decorated correctly, including replaceing some name-decoration iteration over parameters with iterating over parameter types from the function type 2015-11-21 15:28:57 -05:00
Nathan Braswell
db29bdb156 Merge branch 'master' of github.com:Limvot/kraken 2015-11-19 16:28:59 -05:00
Nathan Braswell
21f4824a01 proper scoping for ADTs, I think 2015-11-19 16:27:36 -05:00
ChrisFadden
6f4ca1ad7a Added chapters to manual 2015-11-17 18:34:41 -05:00
ChrisFadden
4a52c6dfcb Merge branch 'master' of https://github.com/Limvot/kraken 2015-11-17 18:31:32 -05:00
ChrisFadden
d49e3baa18 Modified entries in the manual 2015-11-17 18:31:04 -05:00
Nathan Braswell
466b2310db Make the grammer test work again by updating grammer and parser to use the new adt syntax - I also messed up commenting out one of the cout lines making lambdas not work. 2015-11-14 20:13:42 -05:00
Nathan Braswell
e7a49bf2e5 Match statements work with ADTs! (still no object stuff or anything though) 2015-11-14 19:05:28 -05:00
Nathan Braswell
ed4ed75449 ADT equality for basic types should work 2015-11-13 15:49:00 -05:00
Nathan Braswell
2ea504ffc1 More work on ADTs 2015-11-09 13:26:02 -05:00
Nathan Braswell
3645099bbb Merge branch 'master' of https://github.com/Limvot/kraken 2015-11-06 03:27:39 -05:00
Nathan Braswell
fcc0e770a5 Fixed a limitToFunction bug or two, work on ADTs 2015-11-06 03:23:55 -05:00
ChrisFadden
35ea0a93c8 Added start of documentation 2015-10-18 15:28:19 -04:00