Tristan B. Velloza Kildaire
ba63f85df9
Binary operator expressions now work
2022-02-20 16:37:45 +02:00
Tristan B. Velloza Kildaire
6222aabc8b
Pop types off for Binary Operator typechecking
2022-02-20 16:21:29 +02:00
Tristan B. Velloza Kildaire
a84e0dfe20
Some stuff, working on getting function calls working
2022-02-18 14:32:45 +02:00
Tristan B. Velloza Kildaire
71efb7ae8f
Fixed dependency generation for function call paremeters (expressions)
2022-02-16 07:31:22 +02:00
Tristan B. Velloza Kildaire
aa5e82fe09
Added stub funccallinstr add to sotp segmentation fault on funciton calls being processed
2022-02-15 15:04:16 +02:00
Tristan B. Velloza Kildaire
b5488d5c92
Stuff
2022-01-20 10:43:12 +02:00
Tristan B. Velloza Kildaire
6ed33a8051
Done with work for today, good refactoring, now to work on class static initoialization.
...
Instance initialization and unique-ness, and same for Functions with their "FunctionData" will come later
2021-11-10 17:00:56 +02:00
Tristan B. Velloza Kildaire
020847cb76
Added nested class static initialization to test case
2021-11-10 16:44:46 +02:00
Tristan B. Velloza Kildaire
d74f8cb046
Updated test case
2021-11-10 16:42:54 +02:00
Tristan B. Velloza Kildaire
47edb41e17
Seems like generalised generalPass() is working
2021-11-10 16:42:15 +02:00
Tristan B. Velloza Kildaire
3eddf73b7b
Added some stuff
...
FunctionData adding, some generation stuff, but reworking to make a general pass function
2021-11-10 16:17:42 +02:00
Tristan B. Velloza Kildaire
7dd8f2df75
Updated test case
2021-11-09 18:27:01 +02:00
Tristan B. Velloza Kildaire
b39fea5e10
Fixed `getStatements()` for Module container type to be stable. Not having it so caused bad affects and re-ordering that should have NOT happened
2021-11-09 16:50:04 +02:00
Tristan B. Velloza Kildaire
7f29828081
Added negative test case
2021-10-27 21:30:22 +02:00
Tristan B. Velloza Kildaire
0081277fb1
Cleaned up typechecking (codegen)
2021-10-27 21:12:00 +02:00
Tristan B. Velloza Kildaire
bbf174b757
Added weighting such that `getStatements()` can be ordered more easily. Many weights are still missing but the things I am testing with now are atleast here.
...
Added check for standalone variable assignments to error (crash) the compiler when the variable has not yet been declared.
I still need to clean up the codegen and add back in typechecking, the thing has become weird with many weird function calls, but I can do it in one function call to be honest (and that makes most sense)
Standalone variable assignments are now in the dependency tree and therefore make it into the typechecking/codegen phase (of which code to handle them has also been added)
2021-10-27 20:57:30 +02:00
Tristan B. Velloza Kildaire
47375cbec4
Beginning to work on weighting system
2021-10-27 15:52:43 +02:00
Tristan B. Velloza Kildaire
9613fcf81d
Set the Operator type
2021-10-26 22:03:48 +02:00
Tristan B. Velloza Kildaire
5b70175de4
Added note TODO
2021-10-26 21:04:47 +02:00
Tristan B. Velloza Kildaire
6ac0f5fed7
AddInstr now shows both toString()'s of its LHS Value Instruction and its RHS Value Instruction
2021-10-26 20:58:42 +02:00
Tristan B. Velloza Kildaire
569e53f803
This seems to work
2021-10-26 20:32:47 +02:00
Tristan B. Velloza Kildaire
129860fc37
WIP
2021-10-26 17:17:53 +02:00
Tristan B. Velloza Kildaire
b9adbc6663
Yo, so I think I got this down
2021-10-25 22:31:07 +02:00
Tristan B. Velloza Kildaire
a58c90d6cb
Added some ideas for typechecking the action-list and then furthermore emitting code from it
2021-10-25 17:03:36 +02:00
Tristan B. Velloza Kildaire
8833a14da9
Generate linearized action-list for code generation (and type-checking)
2021-10-25 16:54:06 +02:00
Tristan B. Kildaire
1fb2b05826
Confirmed more intricate ones work
2021-08-12 15:32:09 +02:00
Tristan B. Kildaire
7729ae6f94
Or not
2021-08-12 15:23:05 +02:00
Tristan B. Kildaire
f71ad99b9c
Seems to work
2021-08-12 15:22:50 +02:00
Tristan B. Kildaire
de3ed93908
I guess
2021-08-12 15:16:52 +02:00
Tristan B. Kildaire
29e2f146af
Added failing unit test
...
Added working unit test
2021-08-12 15:15:34 +02:00
Tristan B. Kildaire
88114f2ae0
Can confirm it orders variable declarations correctly
2021-08-12 15:14:25 +02:00
Tristan B. Kildaire
1596bedc35
Bruh
2021-08-12 14:19:53 +02:00
Tristan B. Kildaire
4a39dc97c5
Testing lexer
2021-08-11 17:28:26 +02:00
Tristan B. Velloza Kildaire
cfabfdb8c4
Updated test case (works as expected)
2021-06-15 16:23:59 +02:00
Tristan B. Velloza Kildaire
52a00f4583
Updated test case
2021-06-15 15:35:24 +02:00
Tristan B. Velloza Kildaire
0b36d4304e
Updated test case
2021-06-15 15:00:19 +02:00
Tristan B. Velloza Kildaire
548867fcb1
Added generic pooler using templating
2021-06-15 14:56:40 +02:00
Tristan B. Velloza Kildaire
c957845c66
Made `new` expression support more explicit to return a `NewExpression` with an embedded FunctionCall rather than a FunctionCall alone
2021-06-15 14:27:32 +02:00
Tristan B. Velloza Kildaire
8799ab9b85
FOund a parsing error that must be fixed to allow `new A().x`
2021-06-15 13:29:04 +02:00
Tristan B. Velloza Kildaire
758614b7fc
Added Module Variable Delcration code
2021-06-15 13:05:26 +02:00
Tristan B. Velloza Kildaire
750ec6605c
WIP: Expression dependency generation
2021-06-15 10:51:40 +02:00
Tristan B. Velloza Kildaire
ad374fd7cd
Added new test case
2021-06-15 10:48:09 +02:00
Tristan B. Kildaire
c8ae0e7ae4
Back to where we were last night now
2021-06-09 21:14:48 +02:00
Tristan B. Kildaire
01684f785e
Use `getType()` instead for resolving types
2021-06-09 20:07:39 +02:00
Tristan B. Kildaire
de6687de24
New direction
...
We need to do what we did with data structures for parsing for type checking (dependency checking).
We have pooling sorted now, but we must actually create our own initializer sub-types from DNode (non static vs static class init for example)
2021-06-09 19:45:57 +02:00
Tristan B. Kildaire
73f312e8a7
Updated test case
2021-06-09 13:10:48 +02:00
Tristan B. Kildaire
6d4e16c50e
We ned a way to init statements
2021-06-07 16:34:50 +02:00
Tristan B. Kildaire
2ac8137bc1
Test code generation on this bitch
2021-06-07 15:56:37 +02:00
Tristan B. Kildaire
cdfa576d04
Works I think
2021-06-07 14:58:24 +02:00
Tristan B. Kildaire
d9566698d2
Pool the Module and make it depend on variables
2021-06-07 13:48:14 +02:00