X-Git-Url: https://code.kerkeslager.com/?p=fur;a=blobdiff_plain;f=c_generation.py;h=fba8f50aab973c3412024ed4b28b7a98b0b21907;hp=6dd455123c12cfdab2c71d66114e68f7d16733c3;hb=c7f381fbcb57ba1b7e33558a28fdb34f31234c07;hpb=c45c61444aae3df328e4dc84acf7e31e58a1f64e diff --git a/c_generation.py b/c_generation.py index 6dd4551..fba8f50 100644 --- a/c_generation.py +++ b/c_generation.py @@ -40,12 +40,19 @@ def generate_symbol_argument(argument): def generate_argument(instruction): try: return { + 'add': generate_size_t_argument, 'drop': generate_null_argument, 'end': generate_null_argument, 'call': generate_size_t_argument, + 'idiv': generate_size_t_argument, + 'mod': generate_size_t_argument, + 'mul': generate_size_t_argument, + 'neg': generate_size_t_argument, + 'pop': generate_symbol_argument, 'push': generate_symbol_argument, 'push_integer': generate_integer_argument, 'push_string': generate_string_argument, + 'sub': generate_size_t_argument, }[instruction.instruction](instruction.argument) except KeyError: