Commit Graph

19 Commits

Author SHA1 Message Date
Nathan Braswell
7abab02fbf More all-rounded implementation of the new objecty features, several bugfixes, and updates to the standard library to behave. Vector still needs a bit more work for some operations 2015-06-05 00:34:24 -04:00
Nathan Braswell
bbcebf7c17 I'm pretty sure I missed cases and introduced bugs with the new CGenerator triplit system, but I finally got all normal tests passing, and it's almost 5 in the morning, so I'm calling it a night. We have destructors and copy constructors now\! I need to work out copy assignment, but again, another day 2015-05-30 04:43:01 -04:00
Nathan Braswell
15c4a4bf0e Better compiler invocation style and put all generated files (including dot files) in output folder 2015-03-15 18:41:55 -04:00
Nathan Braswell
9e9b4371da Fixed up testing etc 2015-01-09 14:28:07 -05:00
Nathan Braswell
87ad0c187e Fixed quite a few bugs, including makeing find template functions check for trait subset, not trait equality, and add the number required to the satisfied count. Based on what is now breaking, it looks like it's time to give the builtin functions types. 2014-07-23 02:23:21 -07:00
Nathan Braswell
82d8a15de0 Added (then fixed) templates with multiple parameters for both classes and functions! 2014-06-17 00:10:57 -07:00
Nathan Braswell
2566cbb67c Added testing! call kraken like so ./kraken --test ../path/to/test/name_of_test_without_extention This will make kraken compile and run name_of_test_without_extention.krak and compare the output it generates on stdout to name_of_test_without_extention.expected_results. If they pass, then it records the pass, if not, it records the failure and saves the intermediate files generated. It has revealed some bugs which I will fix in upcoming commits. 2014-05-20 22:21:07 -04:00
Nathan Braswell
3728a849de Work in progress commit. Working on method operator overloading, fixed c-style block comments. 2014-03-14 15:55:45 -04:00
Nathan Braswell
6eee808f96 Fixed a lot of stuff to do with objects and method calls. 2014-03-08 16:13:09 -05:00
Nathan Braswell
57976beb40 Just got paranoid about saving all this work. Almost finished operator overloading, but everything is slightly broken right now. 2014-03-06 13:13:40 -05:00
Nathan Braswell
62933af8f8 Basic structures work, prep work for function pointers and other stuff,a couple of bugs fixed. 2014-01-19 18:20:52 -05:00
Nathan Braswell
0d47a03986 Fixed regex! Much simpler and sensible implementation too. 2014-01-07 21:31:56 -05:00
Nathan Braswell
6ad406e42d Small fixes to the grammer, ASTTransformation and CGenerator. Should now be ready to begin implementation of multiple files, conditional inclusion, and code passthrough. 2013-12-19 10:39:36 -06:00
Jason Orendorff
83af1b1c5a Use std::string::substr() instead of adding one character at a time. This patch also removes a few unused util functions that are easily written using substr(). 2013-10-25 02:42:12 -07:00
Nathan Braswell
af0c1f0a81 Fixed some more DOT generation stuff. 2013-08-11 01:15:26 -04:00
Nathan Braswell
ea42cb5bc7 The out of orderness was actually the fault of the dot graphing program, not Kraken, so that's good news. DOT generation has also been modified so that it properly inserts \n's (actually \n's) where line returns are so that dot can parse the \n and not the line return. 2013-08-11 00:37:12 -04:00
Nathan Braswell
ee9b8b8c39 Modified the NodeTree with a unique id used in construction of the DOT representation, so that two different nodes with the same name don't end up as the same on the graph. 2013-06-23 05:54:58 -04:00
Nathan Braswell
0c651a5d9e Added EOF symbol, making the getTable() saner for ACCEPT and lookahead support in ParseRule 2013-06-13 14:25:10 -04:00
Nathan Braswell
949dbc532a Fixed lots of bugs, added much more sane and efficient ParseAction table instead of recalculating every time. Fixed lots of bugs and inefficencies. Some temporary hacks in the table, mostly having to do with not having an EOF Symbol yet. 2013-06-04 19:50:16 -04:00