Tristan B. Kildaire
94d3128efe
Added missing implementation of `getUsableName()`
1 year ago
Tristan B. Kildaire
4dd7e281a2
Renamed method to implement
1 year ago
Tristan B. Kildaire
8bfbb2423c
Set to abstract for Register
1 year ago
Tristan B. Kildaire
09233633a0
WIP: Register allocator
1 year ago
Tristan B. Kildaire
0352f96c16
Do not initialize stack variables
1 year ago
Tristan B. Kildaire
536206fdc5
Code emitter can now emit all variable sizes
1 year ago
Tristan B. Kildaire
43891b1dfb
Added testing files
1 year ago
Tristan B. Kildaire
ff9890437d
Working code emitter and doing some code gen with it too
1 year ago
Tristan B. Kildaire
2d46eb4458
Removed unused (old) type
1 year ago
Tristan B. V. Kildaire
3dba481260
Refactored code emitter sub-system
1 year ago
Tristan B. V. Kildaire
3d79531978
Removed emitter code from data.d
1 year ago
Tristan B. Kildaire
ad5e26602f
Removed unused method
1 year ago
Tristan B. Kildaire
7a78a4e5b1
Removed old cruft
1 year ago
Tristan B. Kildaire
12087b8fdf
Removed old VTReeNode commented-out code
1 year ago
Tristan B. Kildaire
60b97f90aa
Removed unused commented code
1 year ago
Tristan B. Kildaire
9987c46497
Re-enabled a unit test for the type checker
1 year ago
Tristan B. Kildaire
1731ae3299
Re-enabled a unit test for the type checker
1 year ago
Tristan B. Kildaire
c8ccc71244
Re-enabled a unit test for the type checker
1 year ago
Tristan B. Kildaire
bbd34a951a
Re-enabled unit test for type checker
1 year ago
Tristan B. Kildaire
36f073fbff
Re-enabled two unit tests for the type checker
1 year ago
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
1 year ago
Tristan B. V. Kildaire
cf03601eec
Removed unused field
1 year ago
Tristan B. V. Kildaire
8fed8fa4fb
Removed unused methods for Statement
1 year ago
Tristan B. V. Kildaire
396ccdbc60
Moved token I/O statements toghether
1 year ago
Tristan B. V. Kildaire
7f29828081
Added negative test case
1 year ago
Tristan B. V. Kildaire
0081277fb1
Cleaned up typechecking (codegen)
1 year ago
Tristan B. V. 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)
1 year ago
Tristan B. V. Kildaire
47375cbec4
Beginning to work on weighting system
1 year ago
Tristan B. V. Kildaire
0bceb16373
Added toString for VariableAssignment
1 year ago
Tristan B. V. Kildaire
a14f2a682d
Added `getCodeQueue()` which will be used when code generation is complete (after typechecking) and we can then emit code from it
1 year ago
Tristan B. V. Kildaire
7ffbd6f50e
Corrected instruction counter for printCodeQueue()
1 year ago
Tristan B. V. Kildaire
9613fcf81d
Set the Operator type
1 year ago
Tristan B. V. Kildaire
975acc05a2
Added the following new SymbolTypes
...
SymbolType.ADD, SymbolType.MINUS, SymbolType.DIVIDE, SymbolType.STAR
1 year ago
Tristan B. V. Kildaire
fcfde58b98
Fixed order of execution for AddInstr construction
1 year ago
Tristan B. V. Kildaire
5b70175de4
Added note TODO
1 year ago
Tristan B. V. Kildaire
6ac0f5fed7
AddInstr now shows both toString()'s of its LHS Value Instruction and its RHS Value Instruction
1 year ago
Tristan B. V. Kildaire
2b29a18328
FetchValueVar now shows information (in its toString) about what variable is being fetched and the length of it to read
1 year ago
Tristan B. V. Kildaire
86ee064af5
VariableAssignmentInstr now prints out the nested Instruction for obtaining its value of which will be assigned to the variable it specifies
1 year ago
Tristan B. V. Kildaire
569e53f803
This seems to work
1 year ago
Tristan B. V. Kildaire
129860fc37
WIP
1 year ago
Tristan B. V. Kildaire
b9adbc6663
Yo, so I think I got this down
1 year ago
Tristan B. V. Kildaire
8bf3270de7
NumberLiteral now has its own custom toString
1 year ago
Tristan B. V. Kildaire
a58c90d6cb
Added some ideas for typechecking the action-list and then furthermore emitting code from it
1 year ago
Tristan B. V. Kildaire
ceac4f0eaa
Print out action-list items in initialization order
1 year ago
Tristan B. V. Kildaire
8833a14da9
Generate linearized action-list for code generation (and type-checking)
1 year ago
Tristan B. V. Kildaire
d4ec91dc94
Added TODO to make the graph acyclic and THEN print it
2 years ago
Tristan B. V. Kildaire
0cd1812fa6
Removed comment
2 years ago
Tristan B. V. Kildaire
6e7bb365ed
The generation of the tree is now called externally along with printing of the acyclic tree
2 years ago
Tristan B. Kildaire
6ceff9e54a
Removed comment as it no longer applies (I have a working method for what I want to do already, just using visitations :))
2 years ago
Tristan B. Kildaire
19119bbff6
Removed uneeded variables
2 years ago