Nathan Braswell
|
ac34a550d5
|
Basic math expressions will passthrough now
|
2016-01-18 18:04:34 -05:00 |
|
Nathan Braswell
|
bffedcf2fd
|
Add the abitlity to assign during a declaration and type inference if no type given but there is an expression
|
2016-01-17 01:10:09 -05:00 |
|
Nathan Braswell
|
9c41c2fd12
|
Added in assignment and variable usage
|
2016-01-16 22:14:59 -05:00 |
|
Nathan Braswell
|
bf570f027c
|
Variable declaration added now
|
2016-01-15 19:10:52 -05:00 |
|
Nathan Braswell
|
785c6a6a8e
|
Function lookup now handles overloading
|
2016-01-14 12:57:16 -05:00 |
|
Nathan Braswell
|
fe6818edfc
|
working towards function overloading, the emitted functions and function calls are now decorated and we're starting to get the prereqs for function lookup
|
2016-01-13 21:09:28 -05:00 |
|
Nathan Braswell
|
cb5b072b58
|
First Hello World! Now have to clean it up a little bit (correct assignment passthrough, add in the newline)
|
2016-01-12 00:21:01 -05:00 |
|
Nathan Braswell
|
1ed4ade218
|
Merge branch 'master' of https://github.com/Limvot/kraken
|
2016-01-11 23:41:22 -05:00 |
|
Nathan Braswell
|
4c569f4f8c
|
Added function calls, printing out of pointers
|
2016-01-11 23:41:09 -05:00 |
|
ChrisFadden
|
f7789d5434
|
fixed bug in assignment operator
|
2016-01-11 19:52:11 -05:00 |
|
ChrisFadden
|
436532b079
|
Added shared pointers to mem library
|
2016-01-11 19:25:09 -05:00 |
|
Nathan Braswell
|
5db0365a63
|
Added indirection to types in prep for function calls, full passthrough, and the first real hello world
|
2016-01-10 18:26:31 -05:00 |
|
Nathan Braswell
|
7f20a42178
|
Added type to values
|
2016-01-09 22:37:43 -05:00 |
|
Nathan Braswell
|
16aa01a76e
|
Placeholder/passthrough for all the expressions, simple value node passthrough (though if Kraken has the same literal syntax as C it'll work for a while, though it really needs to encode the type...
|
2016-01-08 00:33:05 -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
|
337bc424ee
|
Added in basic transformation and generation for functions
|
2016-01-06 02:46:42 -05:00 |
|
Nathan Braswell
|
f29fdcd463
|
More skeleton, including a trivial second_pass_function, fix a bug with ADTs that have members with the same name (may still be a problem if the ADT itself has the same name)
|
2016-01-05 21:40:00 -05:00 |
|
Nathan Braswell
|
79065c032f
|
We have a VERY SILL KRAKEN COMPILER\! simple_passthroughs are now emitted by the c_generator and test_compiler has been extended to write the C to a file and then call cc on it, so the self-hosted Kraken compiler can compile its very first thing\! (though that thing is a hello world C program written entirely in a simple_passthrough...
|
2016-01-04 02:00:06 -05:00 |
|
Nathan Braswell
|
84032eece0
|
Fix case_statement/lambda-close-over-variables bug, rename ast_node file to make ast_node:: unambigious, change test_ast to test_compiler and add a little skeleton c_generator file
|
2016-01-04 00:38:59 -05:00 |
|
Nathan Braswell
|
8b77a60be5
|
More ast_transformation work, but the big change was fixing regex so that it didn't have an exponential implmentation by using sets instead of vectors to deduplicate
|
2016-01-02 01:43:41 -05:00 |
|
Nathan Braswell
|
6107dda825
|
Move to individual transform functions, add skeleton for if_comp, simple_passthrough
|
2016-01-01 23:42:00 -05:00 |
|
Nathan Braswell
|
fd6383124c
|
more work on the ast_transformation
|
2015-12-28 03:34:40 -05:00 |
|
Nathan Braswell
|
22b334a2ae
|
Fixed the parse bug. I think it's legal for the post-shift table check to be invalid and you have to account for that in the table
|
2015-12-26 01:52:29 +00:00 |
|
Nathan Braswell
|
d63b680355
|
debugging
|
2015-12-07 13:43:22 -05:00 |
|
Nathan Braswell
|
f753d4f421
|
little more work
|
2015-12-06 18:44:04 -05:00 |
|
Nathan Braswell
|
803b415220
|
get closer to generating real ast/dot
|
2015-12-06 15:15:33 -05:00 |
|
Nathan Braswell
|
f312b3f02f
|
collapse transformation
|
2015-12-05 18:36:35 -05:00 |
|
Nathan Braswell
|
0f0d49e4be
|
remove symbols
|
2015-12-05 17:31:11 -05:00 |
|
Nathan Braswell
|
e45df51e70
|
more work
|
2015-12-05 07:13:32 -05:00 |
|
Nathan Braswell
|
78a949cfde
|
add in dummy equality functions so that it compiles
|
2015-12-04 03:47:55 -05:00 |
|
Nathan Braswell
|
33f97c0c82
|
work on ast_transformation, fix adt depending on type CGenerator order bug (correctly add poset dependencies)
|
2015-12-04 03:41:46 -05:00 |
|
Nathan Braswell
|
6ee7462a70
|
Fix closing over adt variables, starting work on ast_transformation
|
2015-12-01 16:19:44 -05:00 |
|
Nathan Braswell
|
466b2310db
|
Make the grammer test work again by updating grammer and parser to use the new adt syntax - I also messed up commenting out one of the cout lines making lambdas not work.
|
2015-11-14 20:13:42 -05:00 |
|
Nathan Braswell
|
3645099bbb
|
Merge branch 'master' of https://github.com/Limvot/kraken
|
2015-11-06 03:27:39 -05:00 |
|
Nathan Braswell
|
fcc0e770a5
|
Fixed a limitToFunction bug or two, work on ADTs
|
2015-11-06 03:23:55 -05:00 |
|
ChrisFadden
|
d3e7e839c1
|
Added pi to the math library
|
2015-09-14 00:04:09 -04:00 |
|
Nathan Braswell
|
13c6044193
|
make grammer/parser use simple adts, fix it so adt literals aren't closed over by accident
|
2015-08-30 01:53:11 -04: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 |
|
Marcus Godwin
|
6d7113e41f
|
Added a queue implementation
Added a queue to the stdlib and a test case for it.
|
2015-08-28 23:46:30 -04:00 |
|
ChrisFadden
|
cc9cad8060
|
Added floating point modulus function
|
2015-08-28 18:52:29 -04:00 |
|
ChrisFadden
|
46dcd39399
|
Added colored print statements
|
2015-08-28 18:06:08 -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
|
3aad0263ce
|
Added primitive serilization
|
2015-08-21 11:03:10 -04:00 |
|
Nathan Braswell
|
6a62f03fb4
|
Move away from fully_reduces_to_null to rule_position, fixed some bugs. Have not fixed all, still looks up unkown key-value for the full kraken parse test.
|
2015-08-13 01:48:35 -04:00 |
|
Nathan Braswell
|
4b6693ac1c
|
Fixed add_children to actually add children correctly and only do the ambiguity at the right time. Still have the looking in map with non-existant key problem, but it is actually parsing nicely.
|
2015-08-12 23:15:41 -04:00 |
|
Nathan Braswell
|
8321b35a03
|
moving computers. Parser still not quite right
|
2015-08-12 17:41:26 -04:00 |
|
Nathan Braswell
|
58ab3e311f
|
Starting to really parse! Fixed the bad syntax trees (reduction copy_construct wasn't actually copying label because param and dest had same name) and fixed the krakenGrammer and CGenerator to allow escaped quotes in regular strings. add_children needs to be finished so the resulting trees don't go nuts with ambiguity, and some situations still cause vector access errors, which is odd. Also added the crazy simple write_file to io and the test_grammer.krak now outputs a syntax_tree.dot
|
2015-08-11 01:07:16 -04:00 |
|