Nathan Braswell
|
23cad3ad1b
|
Access to member variables from inside methods now work
|
2016-01-23 20:39:06 -05:00 |
|
Nathan Braswell
|
961feb6fa5
|
Method calls will actually work now, but only as regular functions would, though there is a little in place to work towards true methods in the future
|
2016-01-23 05:33:56 -05:00 |
|
Nathan Braswell
|
c6554ce463
|
Whoops, some fixes from yesterday
|
2016-01-23 00:33:47 -05:00 |
|
Nathan Braswell
|
fc343ceea8
|
This commit has its date moved to earlier to reflect when the work was completed, as I forgot to actually make the commit until 2 minutes after midnight :/. It partially fixed a bug where ADT requires equality for its member types but won't use templated equality to be if there isn't a regular equality operator (not templated) it always returns false
|
2016-01-22 23:59:59 -05:00 |
|
Nathan Braswell
|
8c5bf36433
|
Object member access works now
|
2016-01-21 19:16:29 -05:00 |
|
Nathan Braswell
|
d43f36f1d9
|
type_def variables and methods are not parsed in ast_transformation, and kind-of generated in c_generator, but access and whatnot not supported yet
|
2016-01-21 12:54:21 -05:00 |
|
Nathan Braswell
|
c943d591e0
|
Trivial objects working, fixed adt prefixing bug
|
2016-01-21 03:18:02 -05:00 |
|
Nathan Braswell
|
4ebb8bf107
|
Finished poset implementation added to the standard library, starting on getting types added and sorting, etc
|
2016-01-20 13:50:40 -05:00 |
|
Nathan Braswell
|
162cc98f30
|
Added for loops
|
2016-01-19 11:47:09 -05:00 |
|
Nathan Braswell
|
c4abfca98e
|
Updating readme
|
2016-01-19 03:23:38 -05:00 |
|
Nathan Braswell
|
ca85edaeee
|
added while loops and fixed unary operators (including correct precrement and decrement)
|
2016-01-19 03:16:16 -05:00 |
|
Nathan Braswell
|
4493dfd861
|
added if_statements
|
2016-01-19 02:06:30 -05:00 |
|
Nathan Braswell
|
458299abe1
|
Add perentheses to all operators so that acutal perentheses are preserved and the kraken order of operations is maintained
|
2016-01-18 18:10:07 -05:00 |
|
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
|
21a7afe66d
|
Updated grammer to allow any statement as the child of an if_comp. Much more work incoming, but it will take past midnight, and I want to get what was finished earlier in before then to keep up my streak.
|
2016-01-03 23:50:07 -05:00 |
|
Nathan Braswell
|
bb3ccf808b
|
unserialize grammer directly to avoid extra copying
|
2016-01-02 13:44:31 -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 |
|
ChrisFadden
|
5476289b51
|
Finished the basic syntax of Kraken for the manual
|
2015-12-14 12:45:47 -05:00 |
|
ChrisFadden
|
efb7c4d174
|
Documented classes
|
2015-12-11 02:12:41 -05: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
|
53562aaad7
|
Merge branch 'master' of github.com:Limvot/kraken
|
2015-12-01 16:19:52 -05:00 |
|
Nathan Braswell
|
6ee7462a70
|
Fix closing over adt variables, starting work on ast_transformation
|
2015-12-01 16:19:44 -05:00 |
|