Commit Graph

63 Commits

Author SHA1 Message Date
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