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
60f490d8e8
Refactored dependency tree generation code (and all related modules) to its own directory
2021-11-09 19:16:51 +02:00
Tristan B. Velloza Kildaire
fffcc953ab
Refactored Context class
2021-11-09 19:00:23 +02:00
Tristan B. Velloza Kildaire
7dd8f2df75
Updated test case
2021-11-09 18:27:01 +02:00
Tristan B. Velloza Kildaire
f0b0f83c45
Added note to be used later
2021-11-09 18:26:50 +02:00
Tristan B. Velloza Kildaire
c9997c60d0
Made public
2021-11-09 18:26:39 +02:00
Tristan B. Velloza Kildaire
beaad7e7f1
Added the thing
2021-11-09 18:26:30 +02:00
Tristan B. Velloza Kildaire
6499abb616
Fixed up all other `getStatements()` for other Container types
2021-11-09 16:54:00 +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. Kildaire
7fe3ea342c
Added note on name resolution for correct stack offset mapping
2021-11-09 15:51:08 +02:00
Tristan B. Kildaire
de261ec511
Copy Context information from the ParserNode across to the Instruction node (only so far for Module Variable Declaration DNodes' embedded PNode
2021-11-09 15:50:04 +02:00
Tristan B. Kildaire
3b36113a5b
Added Context
2021-11-09 15:49:59 +02:00
Tristan B. Kildaire
8a8ddcee3a
Added notes on ceogeneration
2021-11-09 15:40:35 +02:00
Tristan B. Kildaire
b88943d2ed
Fixed `pushVariable()` to ACTUALLY add to the stackOffsetMap
2021-11-09 15:40:28 +02:00
Tristan B. Kildaire
bef0bced14
Addes some stub functions for writing of variables to the stack (code to generate it)
2021-11-09 15:35:45 +02:00
Tristan B. Kildaire
6c1dac5f2a
On variable declaration maintain a mapping of offsets of variables on the stack
2021-11-09 15:30:37 +02:00
Tristan B. Velloza Kildaire
fb927eeb17
Yesh
2021-11-06 12:38:13 +02:00
Tristan B. Kildaire
15416aa655
Fixed register generation for Rochard registers on x86_64
2021-11-02 17:24:08 +02:00
Tristan B. Kildaire
4df1aac54c
Prevent segmentation faults for now by returning bogus register and bogus emit
2021-11-02 17:16:46 +02:00
Tristan B. Kildaire
f75a3cfa5f
Added missing register file initialization
2021-11-02 17:14:15 +02:00
Tristan B. Kildaire
90151a2af1
Basic register usage should now be here
2021-11-02 17:13:48 +02:00
Tristan B. Kildaire
94d3128efe
Added missing implementation of `getUsableName()`
2021-11-02 17:06:36 +02:00
Tristan B. Kildaire
4dd7e281a2
Renamed method to implement
2021-11-02 17:05:47 +02:00
Tristan B. Kildaire
8bfbb2423c
Set to abstract for Register
2021-11-02 17:05:24 +02:00
Tristan B. Kildaire
09233633a0
WIP: Register allocator
2021-11-02 17:03:38 +02:00
Tristan B. Kildaire
0352f96c16
Do not initialize stack variables
2021-11-02 15:29:04 +02:00
Tristan B. Kildaire
536206fdc5
Code emitter can now emit all variable sizes
2021-11-02 15:27:17 +02:00
Tristan B. Kildaire
43891b1dfb
Added testing files
2021-11-02 15:14:03 +02:00
Tristan B. Kildaire
ff9890437d
Working code emitter and doing some code gen with it too
2021-11-02 15:13:44 +02:00
Tristan B. Kildaire
2d46eb4458
Removed unused (old) type
2021-11-02 13:58:36 +02:00
Tristan B. Velloza Kildaire
3dba481260
Refactored code emitter sub-system
2021-11-02 10:41:03 +02:00
Tristan B. Velloza Kildaire
3d79531978
Removed emitter code from data.d
2021-11-02 10:38:09 +02:00
Tristan B. Kildaire
ad5e26602f
Removed unused method
2021-11-02 09:43:02 +02:00
Tristan B. Kildaire
7a78a4e5b1
Removed old cruft
2021-11-02 09:42:50 +02:00
Tristan B. Kildaire
12087b8fdf
Removed old VTReeNode commented-out code
2021-11-02 09:42:21 +02:00
Tristan B. Kildaire
60b97f90aa
Removed unused commented code
2021-11-02 09:41:30 +02:00
Tristan B. Kildaire
9987c46497
Re-enabled a unit test for the type checker
2021-11-02 09:36:15 +02:00
Tristan B. Kildaire
1731ae3299
Re-enabled a unit test for the type checker
2021-11-02 09:35:48 +02:00
Tristan B. Kildaire
c8ccc71244
Re-enabled a unit test for the type checker
2021-11-02 09:35:27 +02:00
Tristan B. Kildaire
bbd34a951a
Re-enabled unit test for type checker
2021-11-02 09:34:57 +02:00
Tristan B. Kildaire
36f073fbff
Re-enabled two unit tests for the type checker
2021-11-02 09:34:40 +02:00
Tristan B. Kildaire
71be300582
Disabled a lot of old typechecking code that we either don't need or I am not working with right now
2021-11-02 09:32:52 +02:00
Tristan B. Velloza Kildaire
cf03601eec
Removed unused field
2021-11-01 18:28:19 +02:00
Tristan B. Velloza Kildaire
8fed8fa4fb
Removed unused methods for Statement
2021-11-01 18:25:53 +02:00
Tristan B. Velloza Kildaire
396ccdbc60
Moved token I/O statements toghether
2021-11-01 18:25:43 +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
0bceb16373
Added toString for VariableAssignment
2021-10-27 15:33:24 +02:00