Commit Graph

779 Commits

Author SHA1 Message Date
Nathan Braswell
4dcd4f9715 Added basic in single method access of member variables 2016-05-15 22:05:12 -07:00
Nathan Braswell
2dd381f7ea Implmented structs in the kraken interpreter! (nothing object-y implemented yet) 2016-05-15 18:36:13 -07:00
Nathan Braswell
029d44ac81 Add fflush and some bugfix to extern calling - io can be used now for primitives 2016-05-15 11:47:02 -07:00
Nathan Braswell
967ae3d68e Added malloc/free with extern as well as all the other primitives and added pointer arithmatic and [] 2016-05-15 11:09:12 -07:00
Nathan Braswell
bdb98ed85c Added pointers to interpreter 2016-05-13 18:34:06 -04:00
Nathan Braswell
7d751221c9 Added if statements, while loops, and for loops to interpreter 2016-05-13 16:31:55 -04:00
Nathan Braswell
5183a02c64 Implemented variables as well as ++, -- 2016-05-13 15:14:19 -04:00
Nathan Braswell
e63b7cf770 Enough interpreter to do math on constant integers 2016-05-13 03:10:36 -04:00
Nathan Braswell
3fe72bc8e2 Merge branch 'master' of github.com:Limvot/kraken 2016-05-13 00:01:17 -04:00
Nathan Braswell
91bc03ccb8 Fixed off by one error in captain.sh bootstrapping 2016-05-12 23:59:13 -04:00
Nathan Braswell
947384cced Started work on interpreter, commit to fix issues it will depend on 2016-05-12 02:03:20 -04:00
Nathan Braswell
88f922f67b Added caching to captain.sh 2016-05-10 14:05:12 -04:00
Nathan Braswell
133bf29cdf Added straight-string optimization to regex, converted a bit more of the grammer 2016-05-10 01:23:37 -04:00
Nathan Braswell
4d31ca8b0f Added a partial fix to regex, started improving the krakenGrammer regexes 2016-05-10 00:40:46 -04:00
Nathan Braswell
9d7a65294f Optimizations, regex character ranges 2016-05-05 04:51:10 -04:00
Nathan Braswell
02c77899b8 Add #link(lib) intrinsic, used in SquidPong 2016-04-30 16:52:56 -04: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
d126cbf24b Added short/long and unsigned types for all int based types 2016-04-29 16:19:23 -04:00
Nathan Braswell
ecbbcb4eda C extern implemented 2016-04-29 01:14:26 -04:00
Nathan Braswell
914fc57c13 Change over everything to sizeof intrinsic 2016-04-28 19:22:23 -04: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
b52d38f648 Added in version numbers/hashes pulled from git - captain.sh generates at build time compiler_version.krak to be imported by kraken.main 2016-04-27 15:59:28 -04:00
Nathan Braswell
5b2d394436 Some speed improvements 2016-04-22 19:11:11 -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
5a7a1d3b3c Merge pull request #3 from richardscollin/master
Fix captain.sh bootstrap installation
2016-04-21 01:25: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
Collin Richards
ee847eb866 Fix captain.sh bootstrap installation
Trying to copy a file that didn't exist yet caused
the script to break when running it the first time.
2016-04-19 20:35:22 -04:00
Nathan Braswell
8d0996fb47 Added in bitwise operators 2016-04-19 18:39:01 -04:00
Nathan Braswell
e2ff94a90b Search for containing frontier from high to low, cutting execution time by over 25%. (2:10 to 1:32 in my test) 2016-04-19 16:58:30 -04:00
Nathan Braswell
0961636ab0 Fix syntax problem in captain.sh 2016-04-19 12:49:08 -04:00
Nathan Braswell
04d2af4168 Bugfixes, remove the cast_ptr function 2016-04-19 06:04:22 -04:00
Nathan Braswell
cf46fb13af Add casting as a language feature. Have not removed the function yet as we need an inbetween version for the bootstrap 2016-04-18 22:56:29 -04:00
Nathan Braswell
d5b930739f Some fun adding in var var and var ref 2016-04-13 22:46:05 -04:00
Nathan Braswell
730e1a58ed Fix so defer defer / defer {} works. Note - defer defer almost definitly doesn't work the way you think it will 2016-04-13 21:45:21 -04:00
Nathan Braswell
e732a6e41d Clean up for demo 2016-04-13 16:25:16 -04:00
Nathan Braswell
38ec4abc01 Added file name + line number to symbols and use it for reasonable error handling now, added a version number to the compiled grammer 2016-04-05 03:14:56 -04:00
Nathan Braswell
0e9fff705b Small addition to error message 2016-04-04 15:27:39 -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
8c18e00aa7 spelling 2016-03-29 13:29:49 -04:00
Nathan Braswell
c7e50282ad Move Cephelepod into deprecated_compiler, create captian.sh to handle bootstrapping kraken from backup or from Cephelepod 2016-03-29 12:54:05 -04:00
Nathan Braswell
40c3e428c1 move test_compiler up to main kraken.krak and fix linker string, make paths work correctly 2016-03-28 17:12:53 -04:00
Nathan Braswell
756f2e71de SELF HOSTING 2016-03-26 05:29:20 -04:00
Nathan Braswell
1cc8fd294e Cephelapod-compiled Kalypso will compile Kalypso, but the result segfaults 2016-03-26 04:39:26 -04:00
Nathan Braswell
7d749e7ca5 running test_compiler on it self will complete now, though the resulting C has many errors 2016-03-26 00:43:01 -04:00
Nathan Braswell
b650a9af03 some bugfixes, getting closer 2016-03-24 21:32:28 -04:00
Nathan Braswell
0a91165172 moving computers 2016-03-23 12:36:13 -04:00
Nathan Braswell
2344ba917b Hopefully finished ADTs, still a bug preventing self-hosting 2016-03-20 05:14:26 -04:00
Nathan Braswell
884d71f007 mostly working ADT, I hope. Misses some destructs 2016-03-20 00:29:27 -04:00
Nathan Braswell
d864a58bb4 Saving a lot of work on ADTs. Finishing should mostly just be filling in the different operator functions in the c_generator 2016-03-19 21:45:07 -04:00
Nathan Braswell
6fff4c5363 Fixed up a bug and 2 tests, plus added a better error for when a method isn't found. 69 tests passing! This is everything before ADTs (because of some tests with no success condition, some that depend on the compiler stdlib parts, etc) 2016-03-12 04:46:49 -05:00