Nathan Braswell
|
a898104f8a
|
Fix multiline strings with single quotes in Cephelapod and implement both types in Kalypso, one new test should pass for both
|
2016-02-15 23:12:56 -05:00 |
|
Nathan Braswell
|
2ac1639b5e
|
A little more work on function inference, fixed both Cephalapod and Kalypso's c generators to not accidentally emit this-> for a method param if the object has a var of the same name, which allows us to disambiguate with object_name::member = param_with_same_name, behavior I had not thought of but would have worked out of the box if not for this accidental bug
|
2016-02-09 02:59:38 -05:00 |
|
Nathan Braswell
|
447f0c83b1
|
Hopefully got self-hosted objects fully working
|
2016-01-31 19:29:08 -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
|
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
|
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
|
c943d591e0
|
Trivial objects working, fixed adt prefixing bug
|
2016-01-21 03:18:02 -05:00 |
|
Nathan Braswell
|
bf570f027c
|
Variable declaration added now
|
2016-01-15 19:10:52 -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
|
803b415220
|
get closer to generating real ast/dot
|
2015-12-06 15:15:33 -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
|
e76bc51cce
|
Fully working ADTs! Hopefully bugless
|
2015-11-25 15:35:06 -05:00 |
|
Nathan Braswell
|
624f070c74
|
Make ADT functions be name-decorated correctly, including replaceing some name-decoration iteration over parameters with iterating over parameter types from the function type
|
2015-11-21 15:28:57 -05:00 |
|
Nathan Braswell
|
21f4824a01
|
proper scoping for ADTs, I think
|
2015-11-19 16:27:36 -05:00 |
|
Nathan Braswell
|
e7a49bf2e5
|
Match statements work with ADTs! (still no object stuff or anything though)
|
2015-11-14 19:05:28 -05:00 |
|
Nathan Braswell
|
ed4ed75449
|
ADT equality for basic types should work
|
2015-11-13 15:49:00 -05:00 |
|
Nathan Braswell
|
2ea504ffc1
|
More work on ADTs
|
2015-11-09 13:26:02 -05:00 |
|
Nathan Braswell
|
fcc0e770a5
|
Fixed a limitToFunction bug or two, work on ADTs
|
2015-11-06 03:23:55 -05:00 |
|
Nathan Braswell
|
a84e2ee6e1
|
faster deserilitation, super basic enums
|
2015-08-29 21:45:55 -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 |
|
Nathan Braswell
|
674e7e6538
|
More work, finishing the parse_input and lots of reducer
|
2015-08-06 17:38:41 -04:00 |
|
Nathan Braswell
|
dec9b7d0bd
|
some tests failing because things have been made reference in vector, but grammer actually generates the state set for the real grammer in 2 minutes or so after a day of profiling and bugfixing, so this is gonna be committed.
|
2015-08-05 03:43:34 -04:00 |
|
Nathan Braswell
|
e1dbe08c0a
|
Optimization of string and vector with references and less functional code, bugfix of closing over references
|
2015-08-04 14:57:56 -04:00 |
|
Nathan Braswell
|
a4f2febfd5
|
some bug fixes, templated operator method overloading
|
2015-08-03 18:37:42 -04:00 |
|
Nathan Braswell
|
51adf491fa
|
fix reference type inference
|
2015-07-15 13:56:57 -04:00 |
|
Nathan Braswell
|
06f36f2a87
|
Return by reference and pass by reference working with objects. Closures might present problems, however
|
2015-07-15 00:53:53 -04:00 |
|
Nathan Braswell
|
0ee44e829f
|
pass by reference should work for templates and objects now
|
2015-07-14 22:42:25 -04:00 |
|
Nathan Braswell
|
602810002b
|
reference type added and very basic pass by reference works in CGenerator. Much more work to go to make sure complicated cases work and return by reference
|
2015-07-14 19:32:54 -04:00 |
|
Nathan Braswell
|
8c490908d4
|
Saving work pre-references
|
2015-07-13 12:16:30 -04:00 |
|
Nathan Braswell
|
07e54f67fb
|
Changed regex to reference count internal structure instead of cloning because it too way too long. Added terminal decorators to grammer and lexer
|
2015-07-08 13:43:06 -04:00 |
|
Nathan Braswell
|
f3cdea068e
|
Added mem::safe_recursive_clone, and while it works for regex, it's actually slower then remaking it. Hmmmm, maybe because some of the stdlib is inefficent
|
2015-07-07 00:46:00 -04:00 |
|
Nathan Braswell
|
cfadf7cebb
|
Fix nested closures and related bugs
|
2015-07-05 02:34:45 -04:00 |
|
Nathan Braswell
|
d44ce47d1e
|
Fix the CGenerator so that function values can be stored in member variables
|
2015-07-04 18:55:15 -04:00 |
|
Nathan Braswell
|
ce6c8241fb
|
Bugfixes, range(start,end,step), and beginning work on lexer and symbol
|
2015-06-28 20:25:27 -04:00 |
|
Nathan Braswell
|
48683889da
|
Tons of bugfixes (lots with closures). Added safe_recursive_delete to mem which helps easily and safely delete recursive data structures, and used it in regex. It still has a leak, but it's a lot better than before.
|
2015-06-28 14:27:48 -04:00 |
|
Nathan Braswell
|
c50c977a9e
|
Fixed the close over methods and member vars bug, but there's something remaining causing the safe_recursive_delete not to work. Gotta save progress and do other stuff
|
2015-06-27 18:06:02 -04:00 |
|
Nathan Braswell
|
727c228ede
|
add perentheses around closed variable access (*closed_variables->a), etc, so that nothing can have higher precidence than the dereference (++ was incrementing the pointer instead of the value)
|
2015-06-26 13:51:57 -04:00 |
|
Nathan Braswell
|
1e76bf2772
|
Closures work\!
|
2015-06-26 13:29:37 -04:00 |
|
Nathan Braswell
|
542821dd81
|
Ton of work on closures, getting very close. Have the extra types and the promotion and calling all worked out. Now only the actual closure part of the struct needs to be done
|
2015-06-25 04:09:19 -04:00 |
|
Nathan Braswell
|
457998e0ff
|
Added in the cast function and fixed type promotion (so it would work with pointer arithmatic)
|
2015-06-19 17:13:06 -04:00 |
|
Nathan Braswell
|
616b955bf9
|
new shorthand syntax for simple_passthrough if assigning to same name simple_passthrough(i=i, j=j : j = j:) becomes simple_passthrough(i,j : j :)
|
2015-06-19 13:28:02 -04:00 |
|
Nathan Braswell
|
e77af0d584
|
topLevelVarInit finally works, even with infrencing
|
2015-06-19 12:48:18 -04:00 |
|
Nathan Braswell
|
3a87970eb3
|
Multiline strings work now, both single and triple quotes. Triple quotes also correctly escapes other quotes.
|
2015-06-19 12:06:27 -04:00 |
|
Nathan Braswell
|
7b6e47544a
|
Some more bugfixes, got regex working as well as the cpp version. (leaks memory like craaazy)
|
2015-06-14 18:13:52 -04:00 |
|
Nathan Braswell
|
36833ec263
|
fixed another oneString CGenerator bug. Most of these should really be removed, but I wanna commit this one now
|
2015-06-12 15:02:22 -04:00 |
|
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
|
47bc52f00c
|
Some bugfixes, allow overloading of [] and add that to vector and string, work on regex. Need closures before that finishes....
|
2015-06-08 21:47:02 -04:00 |
|
Nathan Braswell
|
69048ebc31
|
Allow copy_constructers to be called with other types (i.e. var a:string = "hi" calls fun copy_construct(it:char**):void
|
2015-06-07 19:54:08 -04:00 |
|