Commit Graph

354 Commits (bf6a724783904ae9a4d938c36c452fbc45391b5e)

Author SHA1 Message Date
Tristan B. Kildaire bf6a724783 Added intermediary type to differentiate between user-defined types, Class, Struct and built-in types like Number and Void 2021-06-06 18:42:23 +02:00
Tristan B. Kildaire dd1ac9bdc3 Added basic type to the unit test to test that it doesn't add any dependencies. 2021-06-06 18:39:15 +02:00
Tristan B. Kildaire 0734a14f90 Added test case to test this. 2021-06-06 18:38:36 +02:00
Tristan B. Kildaire 4aeca83d90 Variables declared at module-level with types that are class types must set a dependency on said class running its static initializer 2021-06-06 18:38:07 +02:00
Tristan B. Kildaire b2eca50f5f Print out ndependencies after generating the list 2021-06-06 18:37:34 +02:00
Tristan B. Kildaire 3294076faa If a variable declaration occurs at the module level an it is of a type that is non-basic then it is only a class-type and it must be statically initialized
(An actual check as to whether the type idk
2021-06-06 18:33:33 +02:00
Tristan B. Kildaire 8e2807c24a WIP: Module-level type checking 2021-06-06 18:13:12 +02:00
Tristan B. Kildaire bffcaa0898 Updated TODO
Removed static marking of Module-level class and struct definitions
2021-06-06 18:05:19 +02:00
Tristan B. Kildaire 3a9a43b258 Make all structs and classes at the Module level static 2021-06-06 17:59:46 +02:00
Tristan B. Kildaire bedd9639a2 Updated TODO 2021-06-06 17:59:21 +02:00
Tristan B. Kildaire 0ddae3ab79 Added TODO 2021-06-06 17:57:50 +02:00
Tristan B. Kildaire 420ec5060d TODO: Restarting dependency stuff 2021-06-06 17:56:31 +02:00
Tristan B. Kildaire d6c38eee34 Actully idk what I am doing, this is a weird mix of things. I should first focus on classes and static initializations. Then when a type is used of a class that should cause it to init 2021-06-06 17:44:16 +02:00
Tristan B. Kildaire 7e8e4d6f56 Disabled visitation code for now 2021-06-06 17:33:14 +02:00
Tristan B. Kildaire ea411066aa Grouped dependency code toghether 2021-06-06 17:15:48 +02:00
Tristan B. Kildaire bf226a16c7 Switched around 2021-06-06 17:14:24 +02:00
Tristan B. Kildaire 0596611295 Reliance list was keyed incorrecttly 2021-06-06 17:13:32 +02:00
Tristan B. Kildaire 4c538a95f5 Dependency list construction works 2021-06-06 17:08:55 +02:00
Tristan B. Kildaire 3501910f32 WIP: Dependancy "tree" construction
Added collection of all static members per each class in a container
2021-06-06 16:52:47 +02:00
Tristan B. Kildaire 880425f775 Updated todo 2021-06-06 16:10:33 +02:00
Tristan B. Kildaire 0023fe38f3 Renamed type checking test case 2021-06-06 16:06:40 +02:00
Tristan B. Kildaire e8f7a93602 Updated test case for basic dependance 2021-06-06 16:05:27 +02:00
Tristan B. Kildaire 6de8e49a1f Added new test case for use in type_checking 2021-06-06 15:59:01 +02:00
Tristan B. Kildaire 70623ecd4a Check off things already implemented
Update test case to test them
2021-06-06 15:54:15 +02:00
Tristan B. Kildaire 3f9375c6ed Added support for `static` (complete support) within structs
Updated test case to test this
2021-06-06 15:51:06 +02:00
Tristan B. Kildaire 8f86e03f7c Updated 2021-06-06 15:49:07 +02:00
Tristan B. Kildaire 999bab48a0 Added non-urgent TODO regarding the implementation of `parseClass` and `parseStruct` 2021-06-06 15:46:59 +02:00
Tristan B. Kildaire 1ddd7f102b Support for `static` without preceding accessor, has been added 2021-06-06 15:43:01 +02:00
Tristan B. Kildaire 82cffeaccb WIP: Adding support for `static` keyword without preceding accessor 2021-06-06 15:35:04 +02:00
Tristan B. Kildaire f0dae29533 Added support for `static` keyword when preceded by an accessor 2021-06-06 15:33:20 +02:00
Tristan B. V. Kildaire 948238d4e9 Added InitScope, for STATIC 2021-06-04 21:28:30 +02:00
Tristan B. V. Kildaire c8490bfe36 WIP 2021-06-04 14:52:22 +02:00
Tristan B. V. Kildaire 0bf4a7f658 WIP: Adding static support 2021-06-04 14:47:39 +02:00
Tristan B. V. Kildaire 6225b5e62f WIP: Need to add support for `static` 2021-06-04 14:39:49 +02:00
Tristan B. V. Kildaire 16bfdbfc2f Moved case with path resolution not visited to another test case 2021-06-04 13:43:44 +02:00
Tristan B. V. Kildaire 4eb0c97dc7 Works without it 2021-06-04 13:42:47 +02:00
Tristan B. V. Kildaire 1974428772 Found my bug 2021-06-04 13:42:26 +02:00
Tristan B. V. Kildaire 440154b228 Visitation by UFOs, damn 2021-06-04 13:39:11 +02:00
Tristan B. V. Kildaire f024bedaaa WIP: Need to add support for the `new` keyword 2021-06-04 12:04:58 +02:00
Tristan B. V. Kildaire 440addf664 Merge branch 'develop' into codegen 2021-06-04 11:58:56 +02:00
Tristan B. V. Kildaire 9cf1a181a2 TIme for expression checking 2021-06-04 11:57:25 +02:00
Tristan B. V. Kildaire 7bd8bfdde0 Aded back in cause why not.
Visitation wil, impy marking in the sense that  if we do expression checking then it can only rely on alrady visited.
2021-06-04 11:56:47 +02:00
Tristan B. V. Kildaire e5873fecb3 Idea: Added visitation, we don't need marking tbh , we checking visitaion, marking is implcii in that if there is an error, we exit compiation rpocess, else we continue (which implies marked i.e. the type checking succeeded) 2021-06-04 11:55:22 +02:00
Tristan B. V. Kildaire 6c0a0ec69e Idea: /* TODO: Got it, we NEED a dependency tree, to know chihs is being processed previosuly */ 2021-06-04 11:44:51 +02:00
Tristan B. V. Kildaire 3051d6b66f Added marking capability to Statement 2021-06-04 11:36:58 +02:00
Tristan B. V. Kildaire 09bb089998 WIP: Found problem for ongoing recursion, we need a stopping case - we need to mark things 2021-06-04 11:34:18 +02:00
Tristan B. V. Kildaire cfd81a6b45 Don't check the type (in class case) when the conatiner we are in is a class AND is the same class as that of the type of the typed entity being checked 2021-06-04 11:31:44 +02:00
Tristan B. V. Kildaire 6089598afe WIP 2021-06-04 11:27:56 +02:00
Tristan B. Kildaire de5502f61d Stub file added for future LLVM code generator 2021-06-01 15:24:23 +02:00
Tristan B. Kildaire 4b13c88c51 DGen works, D code can be generated 2021-06-01 15:24:13 +02:00