Commit Graph

32 Commits

Author SHA1 Message Date
Nathan Braswell
cd1b10a633 Fixed bug where no parameter function calls were not typechecked and function/struct name collision. Improved regex library to where it can do straight-line regexs 2015-06-12 14:16:28 -04:00
Nathan Braswell
6f9ceaa717 work on string, bug fixes, overloaded assignment operator. Still need to get overloaded copy_construct for declaration assignment 2015-06-01 01:43:23 -04:00
Nathan Braswell
85834789e4 Some bugfixes and added templated member functions\! (even for templated objs\!) In this vein, added in_place and map functions to vector\! 2015-05-27 00:58:33 -04:00
Nathan Braswell
88bab7f0d7 Woo! Very basic lambdas! 2015-05-25 22:03:24 -04:00
Nathan Braswell
911b25f78b Initial work for functions as values. Actually works, but you can't write out the type and thus can only declare function pointer variables with type inference. 2015-05-18 04:46:03 -04:00
Nathan Braswell
f5e74ca7ce Template function instantiation type inference work - super simple inference works (i.e. id<T>(i:T) { return i; }), and the framework is good, just have to flesh out unifyType to handle more than the trivial case 2015-05-14 00:25:18 -04:00
Nathan Braswell
44d310c092 Got simple type inference for declaration statements working with test 2015-05-10 02:18:59 -04:00
Nathan Braswell
e37836aea5 Working toward new C inline style 2015-04-04 01:32:40 -04:00
Nathan Braswell
414113f954 Wooo passthrough and more cleanup! Remove 3rd pass! 2015-03-24 18:29:21 -04:00
Nathan Braswell
6a311fb237 WOOO compiles all in one file! Dependencies resolved! Next up, C name mangeling for scoping 2015-03-11 01:58:10 -04:00
Nathan Braswell
417e5ed898 Scope work progressing. Gotta fix bugs. Good save spot. 2014-12-19 18:29:33 -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
93a170408f Object traits working now as well. Only specilized templates don't, because I have not yet decided the syntax for them. 2014-07-20 14:21:41 -07:00
Nathan Braswell
64fcb6b0b7 Traits for function templates working! Need to finish for objects and specilizations, and I think also else statements. 2014-07-18 08:52:15 -07:00
Nathan Braswell
63d9ec66e1 Added "Init Position Call" (takes the place of implicit constructors) and the this keyword! This was the structure needed for more sensable memory management. At least delete will need some updating before it becomes very usable, though. (Figuring out the types for function template instantiation) Anyway, good progress here! 2014-06-26 01:45:44 -07:00
Nathan Braswell
7dbfd8ca38 Almost have it working, but member function lookup through a typedef doesn't quite work. (I think the problem's in CGenerator) 2014-06-10 00:53:30 -07:00
Nathan Braswell
812d40c6db Work on fixing class templates instantiated outside of functions. Groundwork done, but it doesn't work. Doesn't break anything else either. Bedtime. 2014-06-09 00:21:38 -07:00
Nathan Braswell
ae9e652f1e Mostly implemented Simultaneous Declaration, only template instantation during pass 2 remains to be implemented 2014-05-24 14:04:32 -04:00
Nathan Braswell
b2c61b00f2 Function templates working\! 2014-05-15 17:58:41 -04:00
Nathan Braswell
2a4edf9afd Simple Templates work! Even Templates in other files work. Happy day 2014-05-10 19:28:36 -04:00
Nathan Braswell
5022fc0802 Significant work on templates. They should be close to working now (for single replacement). However, they do not show up in the global scope the the C generator can't see them. Plus, their names will have to be Cified. 2014-05-09 02:56:55 -04:00
Nathan Braswell
6c3267a8b2 Some groundwork for templates 2014-05-07 02:33:04 -04:00
Nathan Braswell
1997ba49d2 Fixed operator overloading so that both method and non-method operator overloads work. 2014-04-27 02:48:57 -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
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
37cffac9cd Objects work now! We have methods! 2014-02-18 21:55:00 -05:00
Nathan Braswell
0297f29dcd Save state before re-write of RegEx. 2014-01-07 13:14:58 -05:00
Nathan Braswell
dbf1820428 Can import other files now. (in same directory, use filename without .krak file extention) Right now, still need to compile both files with kraken. 2013-12-31 23:43:49 -06:00
Nathan Braswell
98b899b8a9 Added rough but working scoping. 2013-12-27 13:05:07 -06:00
Nathan Braswell
02fd878c92 Further work on AST transformation 2013-10-16 01:43:18 -04:00
Nathan Braswell
b9ffe33d0b Made Symbol always stack, not heap, allocated. Finally fixed bugs with ASTTransformation. 2013-10-02 03:15:20 -04:00
Nathan Braswell
0110672f50 Added in structure for tree transformations. 2013-09-26 15:16:58 -04:00