Commit Graph

29 Commits

Author SHA1 Message Date
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
83a76c36de continue and break statements 2016-01-24 17:31:41 -05:00
Nathan Braswell
105a969a00 Method calls from within method from same object 2016-01-24 01:49:14 -05:00
Nathan Braswell
c022758b9c Make this varaiable/keyword work 2016-01-24 01:02:56 -05:00
Nathan Braswell
23cad3ad1b Access to member variables from inside methods now work 2016-01-23 20:39:06 -05:00
Nathan Braswell
961feb6fa5 Method calls will actually work now, but only as regular functions would, though there is a little in place to work towards true methods in the future 2016-01-23 05:33:56 -05:00
Nathan Braswell
c6554ce463 Whoops, some fixes from yesterday 2016-01-23 00:33:47 -05:00
Nathan Braswell
fc343ceea8 This commit has its date moved to earlier to reflect when the work was completed, as I forgot to actually make the commit until 2 minutes after midnight :/. It partially fixed a bug where ADT requires equality for its member types but won't use templated equality to be if there isn't a regular equality operator (not templated) it always returns false 2016-01-22 23:59:59 -05:00
Nathan Braswell
8c5bf36433 Object member access works now 2016-01-21 19:16:29 -05:00
Nathan Braswell
d43f36f1d9 type_def variables and methods are not parsed in ast_transformation, and kind-of generated in c_generator, but access and whatnot not supported yet 2016-01-21 12:54:21 -05:00
Nathan Braswell
c943d591e0 Trivial objects working, fixed adt prefixing bug 2016-01-21 03:18:02 -05:00
Nathan Braswell
4ebb8bf107 Finished poset implementation added to the standard library, starting on getting types added and sorting, etc 2016-01-20 13:50:40 -05:00
Nathan Braswell
162cc98f30 Added for loops 2016-01-19 11:47:09 -05:00
Nathan Braswell
ca85edaeee added while loops and fixed unary operators (including correct precrement and decrement) 2016-01-19 03:16:16 -05:00
Nathan Braswell
4493dfd861 added if_statements 2016-01-19 02:06:30 -05:00
Nathan Braswell
458299abe1 Add perentheses to all operators so that acutal perentheses are preserved and the kraken order of operations is maintained 2016-01-18 18:10:07 -05:00
Nathan Braswell
ac34a550d5 Basic math expressions will passthrough now 2016-01-18 18:04:34 -05:00
Nathan Braswell
bffedcf2fd Add the abitlity to assign during a declaration and type inference if no type given but there is an expression 2016-01-17 01:10:09 -05:00
Nathan Braswell
9c41c2fd12 Added in assignment and variable usage 2016-01-16 22:14:59 -05:00
Nathan Braswell
bf570f027c Variable declaration added now 2016-01-15 19:10:52 -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
4c569f4f8c Added function calls, printing out of pointers 2016-01-11 23:41: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
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
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