TOY_OPCODE_DECLARE: {Declare, type, length, 0} ; {emitString()} # write value TOY_OPCODE_READ: null -> {Read, type, 0, 0} bool -> {Read, type, value, 0} int -> {Read, type, 0, 0} ; {value} float -> {Read, type, 0, 0} ; {value} string -> {Read, type, leaf, 0} ; {emitString()} # write assignment TOY_AST_FLAG_ASSIGN: {Read, type(string), name, length} ; {emitString()} ; {writeCode()} ; {Assign, 0, 0, 0} ; TOY_AST_FLAG_ADD_ASSIGN: {Read, type(string), name, length} ; {emitString()} ; {Duplicate, 0, 0, 0} ; {writeCode()} ; {Assign, 0, 0, 0} {Add, Assign, 0, 0} ; //subtract, multiply, divide, modulo all mimic add