Nathan Braswell
|
6f1f31a212
|
Added automatic distructor calling for going out of scope, found out that += is broken (and just comes through as =)
|
2016-01-29 22:46:09 -05:00 |
|
Nathan Braswell
|
da38ae03ed
|
Profiled and added a map to GraphStructuredStack's getContainingFrontier to massivly improve the C++ Kraken compiler's compile time by improving parsing time (parsing time cut by significantly more than half)
|
2016-01-29 14:09:09 -05:00 |
|
Nathan Braswell
|
17d4371d5c
|
Implemented init position calls
|
2016-01-28 20:51:40 -05:00 |
|
Nathan Braswell
|
42b942737b
|
Prepping for introducing automatic copy_construct and destruct and tests for them, fixed using - to negate numbers
|
2016-01-28 12:55:51 -05:00 |
|
Nathan Braswell
|
faeb1be315
|
Modify print out so that you can see C compiler output
|
2016-01-28 12:20:28 -05:00 |
|
Nathan Braswell
|
b06c329236
|
Changed over to code_triple to set up for automatic object methods
|
2016-01-27 18:56:44 -05:00 |
|
Nathan Braswell
|
693134b499
|
defer should now would properly with break and continue
|
2016-01-25 22:48:41 -05:00 |
|
Nathan Braswell
|
9973bc3bd3
|
First run at defer working - won't properly do every scope out of a loop yet, likely other problems
|
2016-01-25 13:48:27 -05:00 |
|
Nathan Braswell
|
135305fb76
|
The piping for defer, though not the correct stacks in c_generator. Bedtime though
|
2016-01-25 02:53:00 -05:00 |
|
Nathan Braswell
|
83a76c36de
|
continue and break statements
|
2016-01-24 17:31:41 -05:00 |
|
Nathan Braswell
|
9f714dc9ec
|
The Kraken compiler now compiles programs automatically, moving this functionality from the tester in preperation for making test_compiler not a test
|
2016-01-24 03:14:24 -05:00 |
|
Nathan Braswell
|
105a969a00
|
Method calls from within method from same object
|
2016-01-24 01:49:14 -05:00 |
|
Nathan Braswell
|
c022758b9c
|
Make this varaiable/keyword work
|
2016-01-24 01:02:56 -05:00 |
|
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 |
|