Nathan Braswell
|
9bfbc7cdf6
|
Script to run all tests added. Prep work on new computer before fixing the remaining major template class bug.
|
2014-06-02 00:19:44 -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
|
0f6b6c0c67
|
Posets now integrated into the CGenerator, so the CGenerator now chooses a valid order for the object definitions based on their dependence on each other. Another test now passing
|
2014-05-21 13:14:16 -04:00 |
|
Nathan Braswell
|
d37a07201a
|
Created a Poset template class. It can store the relationships of a partially ordered set, then generate a topological ordering. It will be used to order the type_def declarations in the CGenerator, as they depend on each other in a poset fashion.
|
2014-05-21 12:01:45 -04:00 |
|
Nathan Braswell
|
6350f93f24
|
Fixed the recursion bug. 8/10 tests pass now, remaining need to fix define order and CGenerator order
|
2014-05-21 01:20:39 -04:00 |
|
Nathan Braswell
|
17b80d4102
|
Fixed a typo that caused indirection operators to do the reverse on types. Also cleaned up some comments. One more test working.
|
2014-05-20 23:53:19 -04: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
|
39f945940d
|
Fixed a ton of stuff with function templates. Works well now. Next up: multiple template types and fixing object definition ordering (both where templates should go and objects with other pointers)
|
2014-05-19 20:00:35 -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
|
5de2ff58bb
|
Some template implementation/tests
|
2014-05-08 01:07:57 -04:00 |
|
Nathan Braswell
|
6c3267a8b2
|
Some groundwork for templates
|
2014-05-07 02:33:04 -04:00 |
|
Nathan Braswell
|
c4dea26cca
|
Finished simple array notation, fixed address of operator.
|
2014-05-06 13:54:53 -04:00 |
|
Nathan Braswell
|
209985310e
|
Fixed type propagation for dereference and address-of, needs work for all the other operators also. Starting ground work for array notation
|
2014-05-05 13:52:12 -04:00 |
|
Nathan Braswell
|
9a4507a0f5
|
Added passthroughs and small fix for malloc/free
|
2014-05-03 20:46:10 -04:00 |
|
Nathan Braswell
|
6a75832b59
|
Added trivial standard library and search paths.
|
2014-05-01 01:18:01 -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
|
30e3938fdd
|
Merge branch 'master' of https://www.github.com/Limvot/kraken
|
2014-03-14 16:55:33 -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
|
663b124680
|
NOW it should be fixed.
|
2014-03-09 03:13:08 -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
|
51e04498d6
|
Function overloading works\!
|
2014-03-07 14:17:07 -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
|
7f902880c5
|
Cleaned up and added line number to error messages
|
2014-02-20 18:24:04 -05:00 |
|
Nathan Braswell
|
37cffac9cd
|
Objects work now! We have methods!
|
2014-02-18 21:55:00 -05:00 |
|
Nathan Braswell
|
1791738cd9
|
Working on objects and scoping. To finish, need to actually implement decent propogation of types
|
2014-02-03 11:41:25 -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
|
b59fd26d4a
|
Add triple quoted string regex for posterity.
|
2014-01-18 15:28:17 -05:00 |
|
Nathan Braswell
|
00ef8f0a7c
|
Fixed the triple string RegEx. Had included quotes in the main part of the RegEx by accident.
|
2014-01-07 21:43:39 -05:00 |
|
Nathan Braswell
|
0d47a03986
|
Fixed regex! Much simpler and sensible implementation too.
|
2014-01-07 21:31:56 -05:00 |
|
Nathan Braswell
|
0297f29dcd
|
Save state before re-write of RegEx.
|
2014-01-07 13:14:58 -05:00 |
|
Nathan Braswell
|
82df9b1592
|
Update README.md
Update README.md to reflect the current state of the project.
|
2014-01-01 17:40:07 -06:00 |
|
Nathan Braswell
|
53b45f360d
|
Now generates for all files that have been imported. CGenerator uses this to generate all files AND a shell script with the compile command to compile the generated C file.
|
2014-01-01 17:29:19 -06: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
|
005659b7b7
|
Added caching of the RNGLR table. It is automatically regenerated whenever the grammer changes. Right now it has dropped compiling the test file from 30 seconds to less than one second.
|
2013-12-31 02:53:52 -06:00 |
|
Nathan Braswell
|
3455348951
|
Rookie mistake
|
2013-12-28 21:55:43 -05:00 |
|
Nathan Braswell
|
dd9c8059ff
|
Clean up, some small additions.
|
2013-12-28 21:54:22 -05:00 |
|
Nathan Braswell
|
98b899b8a9
|
Added rough but working scoping.
|
2013-12-27 13:05:07 -06:00 |
|
Nathan Braswell
|
15674fec2a
|
Added Type class, bettered types a bit, made address of and dereference operators work.
|
2013-12-23 01:26:24 -06:00 |
|
Nathan Braswell
|
935cc6f968
|
Added generator-dependent compilation and simple passthrough that allows us to have non-cheated emitted, printing c-code for the first time! (no typechecking or anything yet, but we'll get there). It's also still rough.
|
2013-12-22 01:34:59 -06: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 |
|
Nathan Braswell
|
f273deaedc
|
FINALLY fixed an error that took weeks. Turned out that the ParseRule was shallow copied, and the lookahead was not copied correctly. So it got extended and thus skipped over the state when it should have been redone.
|
2013-12-18 18:05:21 -06:00 |
|
Nathan Braswell
|
d38fd32323
|
More AST stuff. Now supports boolean stuff
|
2013-11-07 22:19:33 -05:00 |
|
Nathan Braswell
|
61aad90258
|
Merge branch 'master' of https://www.github.com/Limvot/kraken
|
2013-11-03 20:44:22 -05:00 |
|
Nathan Braswell
|
1117fdf0cb
|
Fix a Lexer test
|
2013-11-03 20:44:07 -05:00 |
|
Nathan Braswell
|
d5512ec78e
|
Fix the non-working Lexer test.
|
2013-11-03 20:36:18 -05:00 |
|
Nathan Braswell
|
77f2b0a3e5
|
Lot's of work on a CGenerator, AST and language improvements
|
2013-11-01 02:52:18 -04:00 |
|
Nathan Braswell
|
ededb069c1
|
Merge pull request #2 from jorendorff/master
Minor bug fixes and tests for RegEx and Lexer, lots of thanks to jorendorff
|
2013-10-28 10:12:46 -07:00 |
|
Jason Orendorff
|
14a4f822ae
|
Add a passing Lexer test.
|
2013-10-27 00:01:39 -07:00 |
|