Starting the second half of the compiler - renamed peek_token, and restructured some of the handling of identifiers s.t. I can determine their semantics
I've decided to do the bytecode compilation by passing strings around and having functions prepend/append to the list of strings as needed. This is just setting up that framework, doesn't even compile Seven yet
Seven compiles and runs
can now compile the 'convert to binary' program
progress towards handling objects - fixed first error, now have issues with Square.draw
handles simple test program to draw a square
whoops - needed to push pointer 0, not argument0, when calling class method from w/in another class method. Square mostly works now, but has a stack overflow
and, now handling the return values of void functions properly
string constants now work; arrays are half-done
and, finished with Arrays. (Average compiles and runs)
removing unused XML-emitting code
cleaning up some of the comments
refactoring expect_token to return the 2nd field of the popped token; eliminating get_token
removing repeated if/elif/else statements for translating kind->segment, and directly storing the segment in the symbol table
moved symbol table to separate file
minor variable renaming; adding bool to avoid using emptiness of cmd array as flag
cleaning up compile_do
fixing var_segment->var_kind mistake; starting to clean up compile_term
finished cleaning up compile_term, Pong still doesn't work