rearranging for clarity of the developer
using the direct throw_error call since Carp::croak only shows the most recent
caller
- updating the receiver to transition into using Quadruples for managing
expressions.
- removing the lhs-op and forcing only op-rhs as the unary expressions allowed
- updating appropriate vic code examples and tests to reflect the above changes
- updating code to use a common method validation function for any type of
operator. this seems to work well and looks nicer while allowing for automated
function name creation based on regex
updating code to use the correct format of the function names based on operator
names everywhere
updating the handling of multiple rhs-expressions in the same level. precedence
not done yet
updating code to now do intermediate code-generation instead of inline code
generation. tests will fail temporarily until intermediate-backend gen is
completed
Allowing for intermediate code insertion as comments
Updating some code generation to generate code for simple instructions, unary
and assignment statements to pass tests 01-03.
updates to code generation of actions. passing more tests
some cleanup of code and moving the code-generation stuff into individual
functions for clarity
even labels are now generated as intermediate code first
removing useless code
_generate => generate
operator intermediate code is not generated for now until the SET:: intermediate
line wants it to be generated - WIP
Adding a way to handle tmp variables that are of the minimum size and have no
other dependencies on other temp variables
removing un-needed function
Adding a test to the manifest
- cant remember why unary doesn't use line-ending. will see if it is needed to
use an optional ';'
- making complement work for expressions too
changing start-block rule to start-named-block since we can have multiple types
of blocks