Commit Graph

27 Commits

Author SHA1 Message Date
Nathan Braswell
6ffe7aee46 Basic support for templates in ast, rest will come with types 2018-06-22 09:02:30 -04:00
Nathan Braswell
eefa752d55 shortening of str and vec 2018-05-22 19:43:54 -04:00
Nathan Braswell
987e6eb9a5 Cleaning up to bring into main. Speed problem seems to have dissapeard, but we have fixes and the ^ operator in here 2017-01-24 22:11:33 -05:00
Nathan Braswell
3a7f73b711 sigh 2017-01-23 01:09:31 -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
87c2b1d2c1 Interpreter up to 71/73 tests passing, the only ones that don't yet are the future ones. Struct size is still wrong though 2016-07-03 01:55:32 -07:00
Nathan Braswell
2c8c3af48a Some speed improvements 2016-06-11 00:45:18 -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
7aa1d9983b Some bugfixes/added errors, convert most to not use simple_passthrough 2016-04-30 15:38:28 -04:00
Nathan Braswell
bfc3b72b00 Implement a hash_map and swap gss over to use it, making self-compilation 10 seconds faster on my laptop. captain.sh has been extended with the ability to bootstrap over any number of git commits. 2016-04-22 02:58:14 -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
b073d5806b Templated methods work now, even explicit instantiation (along with implicit) 2016-02-20 02:36:35 -05:00
Nathan Braswell
de3ead0573 added proper template function instantiation caching 2016-02-03 21:57:06 -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
5f3f3e5a66 Merge branch 'master' of https://github.com/Limvot/kraken 2015-08-29 21:46:05 -04:00
Nathan Braswell
a84e2ee6e1 faster deserilitation, super basic enums 2015-08-29 21:45:55 -04:00
ChrisFadden
98ea825fe8 Added message for successful compilation 2015-08-28 17:54:38 -04:00
Nathan Braswell
d72cbdcedb Serilization and caching the table works! 2015-08-26 03:45:34 -04:00
Nathan Braswell
b67d5e85fe Serilization basics working 2015-08-24 20:40:18 -04:00
Nathan Braswell
674e7e6538 More work, finishing the parse_input and lots of reducer 2015-08-06 17:38:41 -04:00
Nathan Braswell
2c29846570 Swapped pointers to the other side for types to prevent ambiguity, i.e. *int instead of int* 2015-07-04 17:02:51 -04:00
Nathan Braswell
2fcace72ed Little break work on grammer, added Object trait to other stdlib objects 2015-06-30 02:40:46 -04:00
Nathan Braswell
ce6c8241fb Bugfixes, range(start,end,step), and beginning work on lexer and symbol 2015-06-28 20:25:27 -04:00
Nathan Braswell
48f613a38b More work on regex, fixed whitespace around && and operator= for vector 2015-06-14 11:13:30 -04:00
Nathan Braswell
87e1853713 Wooo! Fixed up remaining bugs in new syntax! 2015-05-09 06:24:56 -04:00
Nathan Braswell
5b57770774 Declarations are now written |type| identifier;, generally. Functions are similar |void| func() {}, etc. Special declarations still work, etc 2014-08-01 00:45:48 -07:00
Nathan Braswell
03770028ad Fixed some bugs in Parser::firstSet and added a bit of caching. It still doesn't work quite right, though, there's some problem with nullable left recursion. However, it's better than it was, and I need to go to bed. More work later. 2014-06-30 01:57:50 -07:00