From 4fb4e28405f24977fae44ecd209c4faba1c0e588 Mon Sep 17 00:00:00 2001 From: Jeremiah Orians Date: Thu, 21 Jun 2018 21:33:50 -0400 Subject: [PATCH] Release 0.2 --- CHANGELOG.org | 1 + bootstrap.sh | 22 + makefile | 3 + seed.M1 | 16441 ++++++++++++++++++++++++++++++++++++++++ test/test100/hello.sh | 20 + 5 files changed, 16487 insertions(+) create mode 100755 bootstrap.sh create mode 100644 seed.M1 diff --git a/CHANGELOG.org b/CHANGELOG.org index 37f4ac7..eb69603 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -37,6 +37,7 @@ Added M1-macro test Added prototypes to allow functions to be independently built Added support for debug format output to help debugging Added function specific counters to make output even more deterministic +Added M1-macro seed to eliminate C compiler dependency for bootstrap ** Changed Improving Documentation to help new programmers get functional diff --git a/bootstrap.sh b/bootstrap.sh new file mode 100755 index 0000000..1c2d0ae --- /dev/null +++ b/bootstrap.sh @@ -0,0 +1,22 @@ +#! /usr/bin/env bash +set -ex + +# Make the required bin directry +[ -d bin ] || mkdir bin + +# Macro assemble with libc written in M1-Macro +M1 -f test/common_x86/x86_defs.M1 \ + -f test/functions/libc-core.M1 \ + -f seed.M1 \ + --LittleEndian \ + --Architecture 1 \ + -o bin/seed.hex2 || exit 1 + +# Resolve all linkages +hex2 -f test/common_x86/ELF-i386.hex2 \ + -f bin/seed.hex2 \ + --LittleEndian \ + --Architecture 1 \ + --BaseAddress 0x8048000 \ + -o bin/M2-Planet \ + --exec_enable || exit 2 diff --git a/makefile b/makefile index db1bafc..2ed63e8 100644 --- a/makefile +++ b/makefile @@ -24,6 +24,9 @@ M2-Planet-gcc: cc_reader.c cc_strings.c cc_core.c cc.c cc_types.c cc.h | bin M2-Planet: M2-Planet-gcc | bin results ./test/test100/hello.sh +Bootstrap: bootstrap.sh + ./bootstrap.sh + # Clean up after ourselves .PHONY: clean clean: diff --git a/seed.M1 b/seed.M1 new file mode 100644 index 0000000..0220fc6 --- /dev/null +++ b/seed.M1 @@ -0,0 +1,16441 @@ + +# Core program + +# Defining function fgetc +:FUNCTION_fgetc +LOAD_IMMEDIATE_eax %3 +LOAD_EFFECTIVE_ADDRESS_ebx %4 +LOAD_INTEGER_ebx +PUSH_ebx +COPY_esp_to_ecx +LOAD_IMMEDIATE_edx %1 +INT_80 +TEST +POP_eax +JUMP_NE8 !FUNCTION_fgetc_Done +LOAD_IMMEDIATE_eax %-1 +:FUNCTION_fgetc_Done +RETURN +# Defining function fputc +:FUNCTION_fputc +LOAD_IMMEDIATE_eax %4 +LOAD_EFFECTIVE_ADDRESS_ebx %4 +LOAD_INTEGER_ebx +LOAD_EFFECTIVE_ADDRESS_ecx %8 +LOAD_IMMEDIATE_edx %1 +INT_80 +RETURN +# Defining function open +:FUNCTION_open +LOAD_EFFECTIVE_ADDRESS_ebx %12 +LOAD_INTEGER_ebx +LOAD_EFFECTIVE_ADDRESS_ecx %8 +LOAD_INTEGER_ecx +LOAD_EFFECTIVE_ADDRESS_edx %4 +LOAD_INTEGER_edx +LOAD_IMMEDIATE_eax %5 +INT_80 +RETURN +# Defining function fopen +:FUNCTION_fopen +# Defining local f +PUSH_eax #f +# IF_fopen_0 + +LOAD_IMMEDIATE_eax %119 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_fopen_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %577 +PUSH_eax #_process_expression2 +LOAD_IMMEDIATE_eax %384 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_open +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_fopen_0 + +:ELSE_fopen_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_process_expression2 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_open +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +:_END_IF_fopen_0 + +# IF_fopen_1 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETG +MOVEZBL +TEST +JUMP_EQ %ELSE_fopen_1 +LOAD_IMMEDIATE_eax %0 +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_fopen_1 +:ELSE_fopen_1 +:_END_IF_fopen_1 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +# Defining function close +:FUNCTION_close +LOAD_EFFECTIVE_ADDRESS_ebx %4 +LOAD_IMMEDIATE_eax %6 +INT_80 +RETURN +# Defining function fclose +:FUNCTION_fclose +# Defining local error +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_close +POP_ebx # _process_expression_locals +PUSH_eax #error +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +# Defining function malloc +:FUNCTION_malloc +STORE_eax_into_ESP_IMMEDIATE8 !4 +PUSH_eax +LOAD_IMMEDIATE_eax %45 +LOAD_IMMEDIATE_ebx %0 +INT_80 +POP_ebx +ADD_eax_to_ebx +PUSH_eax +PUSH_ebx +LOAD_IMMEDIATE_eax %45 +INT_80 +POP_ebx +CMP +POP_eax +JUMP_EQ8 !FUNCTION_malloc_Done +LOAD_IMMEDIATE_eax %-1 +:FUNCTION_malloc_Done +RETURN +# Defining function memset +:FUNCTION_memset +# Defining local s +PUSH_eax #s +# FOR_initialization_memset_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +:FOR_memset_0 + +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETL +MOVEZBL +TEST +JUMP_EQ %FOR_END_memset_0 + +JUMP %FOR_THEN_memset_0 + +:FOR_ITER_memset_0 + +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %FOR_memset_0 + +:FOR_THEN_memset_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %FOR_ITER_memset_0 + +:FOR_END_memset_0 + +POP_ebx # _recursive_statement_locals +RETURN +# Defining function calloc +:FUNCTION_calloc +# Defining local ret +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +MULTIPLY_eax_by_ebx_into_eax +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_malloc +POP_ebx # _process_expression_locals +PUSH_eax #ret +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_process_expression2 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +POP_ebx # _common_recursion +MULTIPLY_eax_by_ebx_into_eax +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_memset +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +# Defining function free +:FUNCTION_free +RETURN +# Defining function exit +:FUNCTION_exit +POP_ebx +POP_ebx +LOAD_IMMEDIATE_eax %1 +INT_80 +RETURN +# Defining function match +:FUNCTION_match +# Defining local i +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +PUSH_eax #i +:DO_match_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +# IF_match_1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %ELSE_match_1 +LOAD_IMMEDIATE_eax %0 +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_match_1 +:ELSE_match_1 +:_END_IF_match_1 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_NE %DO_match_0 + +:DO_END_match_0 + +LOAD_IMMEDIATE_eax %1 +POP_ebx # _return_result_locals +RETURN +# Defining function numerate_number +:FUNCTION_numerate_number +# Defining local result +LOAD_IMMEDIATE_eax %16 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_calloc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #result +# Defining local i +LOAD_IMMEDIATE_eax %0 +PUSH_eax #i +# IF_numerate_number_0 + +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_numerate_number_0 + +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %48 +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %10 +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_numerate_number_0 + +:ELSE_numerate_number_0 + +:_END_IF_numerate_number_0 + +# IF_numerate_number_1 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETG +MOVEZBL +TEST +JUMP_EQ %ELSE_numerate_number_1 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %45 +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +POP_ebx # _common_recursion +MULTIPLY_eax_by_ebx_into_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_numerate_number_1 +:ELSE_numerate_number_1 +:_END_IF_numerate_number_1 +# Defining local divisor +LOAD_IMMEDIATE_eax %0x3B9ACA00 +PUSH_eax #divisor +:WHILE_numerate_number_2 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +XCHG_eax_ebx +LOAD_IMMEDIATE_edx %0 +DIVIDE_eax_by_ebx_into_eax +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %END_WHILE_numerate_number_2 +# THEN_while_numerate_number_2 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %10 +POP_ebx # _common_recursion +XCHG_eax_ebx +LOAD_IMMEDIATE_edx %0 +DIVIDE_eax_by_ebx_into_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %WHILE_numerate_number_2 +:END_WHILE_numerate_number_2 +:WHILE_numerate_number_3 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETL +MOVEZBL +TEST +JUMP_EQ %END_WHILE_numerate_number_3 +# THEN_while_numerate_number_3 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +XCHG_eax_ebx +LOAD_IMMEDIATE_edx %0 +DIVIDE_eax_by_ebx_into_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %48 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +XCHG_eax_ebx +LOAD_IMMEDIATE_edx %0 +MODULUS_eax_from_ebx_into_ebx +MOVE_edx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %10 +POP_ebx # _common_recursion +XCHG_eax_ebx +LOAD_IMMEDIATE_edx %0 +DIVIDE_eax_by_ebx_into_eax +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %WHILE_numerate_number_3 +:END_WHILE_numerate_number_3 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +# Defining function char2hex +:FUNCTION_char2hex +# IF_char2hex_0 + +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %48 +POP_ebx # _common_recursion +CMP +SETGE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %57 +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_char2hex_0 + +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %48 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +RETURN +JUMP %_END_IF_char2hex_0 + +:ELSE_char2hex_0 + +# IF_char2hex_1 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %97 +POP_ebx # _common_recursion +CMP +SETGE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %102 +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_char2hex_1 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %87 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +RETURN +JUMP %_END_IF_char2hex_1 +:ELSE_char2hex_1 +# IF_char2hex_2 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %65 +POP_ebx # _common_recursion +CMP +SETGE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %70 +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_char2hex_2 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %55 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +RETURN +JUMP %_END_IF_char2hex_2 +:ELSE_char2hex_2 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +RETURN +:_END_IF_char2hex_2 +:_END_IF_char2hex_1 +:_END_IF_char2hex_0 + +RETURN +# Defining function hex2char +:FUNCTION_hex2char +# IF_hex2char_0 + +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +CMP +SETGE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %9 +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_hex2char_0 + +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %48 +POP_ebx # _common_recursion +ADD_ebx_to_eax +RETURN +JUMP %_END_IF_hex2char_0 + +:ELSE_hex2char_0 + +# IF_hex2char_1 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %10 +POP_ebx # _common_recursion +CMP +SETGE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %15 +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_hex2char_1 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %55 +POP_ebx # _common_recursion +ADD_ebx_to_eax +RETURN +JUMP %_END_IF_hex2char_1 +:ELSE_hex2char_1 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +RETURN +:_END_IF_hex2char_1 +:_END_IF_hex2char_0 + +RETURN +# Defining function char2dec +:FUNCTION_char2dec +# IF_char2dec_0 + +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %48 +POP_ebx # _common_recursion +CMP +SETGE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %57 +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_char2dec_0 + +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %48 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +RETURN +JUMP %_END_IF_char2dec_0 + +:ELSE_char2dec_0 + +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +RETURN +:_END_IF_char2dec_0 + +RETURN +# Defining function dec2char +:FUNCTION_dec2char +# IF_dec2char_0 + +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +CMP +SETGE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %9 +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_dec2char_0 + +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %48 +POP_ebx # _common_recursion +ADD_ebx_to_eax +RETURN +JUMP %_END_IF_dec2char_0 + +:ELSE_dec2char_0 + +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +RETURN +:_END_IF_dec2char_0 + +RETURN +# Defining function numerate_string +:FUNCTION_numerate_string +# Defining local count +LOAD_IMMEDIATE_eax %0 +PUSH_eax #count +# Defining local index +PUSH_eax #index +# Defining local negative +PUSH_eax #negative +# IF_numerate_string_0 + +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_numerate_string_0 + +LOAD_IMMEDIATE_eax %0 +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_numerate_string_0 + +:ELSE_numerate_string_0 + +# IF_numerate_string_1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %48 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %120 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_numerate_string_1 +# IF_numerate_string_2 +LOAD_IMMEDIATE_eax %45 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_numerate_string_2 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %3 +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_numerate_string_2 +:ELSE_numerate_string_2 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +STORE_INTEGER +:_END_IF_numerate_string_2 +:WHILE_numerate_string_3 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %END_WHILE_numerate_string_3 +# THEN_while_numerate_string_3 +# IF_numerate_string_4 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_char2hex +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_numerate_string_4 +LOAD_IMMEDIATE_eax %0 +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_numerate_string_4 +:ELSE_numerate_string_4 +:_END_IF_numerate_string_4 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %16 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +MULTIPLY_eax_by_ebx_into_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_char2hex +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %WHILE_numerate_string_3 +:END_WHILE_numerate_string_3 +JUMP %_END_IF_numerate_string_1 +:ELSE_numerate_string_1 +# IF_numerate_string_5 +LOAD_IMMEDIATE_eax %45 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_numerate_string_5 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_numerate_string_5 +:ELSE_numerate_string_5 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +STORE_INTEGER +:_END_IF_numerate_string_5 +:WHILE_numerate_string_6 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %END_WHILE_numerate_string_6 +# THEN_while_numerate_string_6 +# IF_numerate_string_7 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_char2dec +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_numerate_string_7 +LOAD_IMMEDIATE_eax %0 +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_numerate_string_7 +:ELSE_numerate_string_7 +:_END_IF_numerate_string_7 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %10 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +MULTIPLY_eax_by_ebx_into_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_char2dec +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %WHILE_numerate_string_6 +:END_WHILE_numerate_string_6 +:_END_IF_numerate_string_1 +:_END_IF_numerate_string_0 + +# IF_numerate_string_8 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +TEST +JUMP_EQ %ELSE_numerate_string_8 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +POP_ebx # _common_recursion +MULTIPLY_eax_by_ebx_into_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_numerate_string_8 +:ELSE_numerate_string_8 +:_END_IF_numerate_string_8 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +# Defining function file_print +:FUNCTION_file_print +:WHILE_file_print_0 + +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %END_WHILE_file_print_0 + +# THEN_while_file_print_0 + +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_fputc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %WHILE_file_print_0 + +:END_WHILE_file_print_0 + +RETURN +# Defining function copy_string +:FUNCTION_copy_string +:WHILE_copy_string_0 + +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %END_WHILE_copy_string_0 + +# THEN_while_copy_string_0 + +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %WHILE_copy_string_0 + +:END_WHILE_copy_string_0 + +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +RETURN +# Defining function postpend_char +:FUNCTION_postpend_char +# Defining local ret +LOAD_IMMEDIATE_eax %4096 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_calloc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #ret +# Defining local hold +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_copy_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #hold +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +# Defining function prepend_char +:FUNCTION_prepend_char +# Defining local ret +LOAD_IMMEDIATE_eax %4096 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_calloc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #ret +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_copy_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +# Defining function prepend_string +:FUNCTION_prepend_string +# Defining local ret +LOAD_IMMEDIATE_eax %4096 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_calloc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #ret +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_copy_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_copy_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +# Defining function string_length +:FUNCTION_string_length +# Defining local i +LOAD_IMMEDIATE_eax %0 +PUSH_eax #i +:WHILE_string_length_0 + +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %END_WHILE_string_length_0 + +# THEN_while_string_length_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %WHILE_string_length_0 + +:END_WHILE_string_length_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +# Defining function clearWhiteSpace +:FUNCTION_clearWhiteSpace +# IF_clearWhiteSpace_0 + +LOAD_IMMEDIATE_eax %32 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %9 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +OR_eax_ebx +TEST +JUMP_EQ %ELSE_clearWhiteSpace_0 + +LOAD_IMMEDIATE_eax &GLOBAL_input +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_fgetc +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_clearWhiteSpace +POP_ebx # _process_expression_locals +RETURN +JUMP %_END_IF_clearWhiteSpace_0 + +:ELSE_clearWhiteSpace_0 + +# IF_clearWhiteSpace_1 +LOAD_IMMEDIATE_eax %10 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_clearWhiteSpace_1 +LOAD_IMMEDIATE_eax &GLOBAL_line +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_line +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_input +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_fgetc +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_clearWhiteSpace +POP_ebx # _process_expression_locals +RETURN +JUMP %_END_IF_clearWhiteSpace_1 +:ELSE_clearWhiteSpace_1 +:_END_IF_clearWhiteSpace_1 +:_END_IF_clearWhiteSpace_0 + +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +RETURN +# Defining function consume_byte +:FUNCTION_consume_byte +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_string_index +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_CHAR +LOAD_IMMEDIATE_eax &GLOBAL_string_index +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_string_index +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_input +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_fgetc +POP_ebx # _process_expression_locals +RETURN +# Defining function consume_word +:FUNCTION_consume_word +# Defining local escape +LOAD_IMMEDIATE_eax %0 +PUSH_eax #escape +:DO_consume_word_0 + +# IF_consume_word_1 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +XOR_ebx_eax_into_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %92 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_consume_word_1 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_consume_word_1 +:ELSE_consume_word_1 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +STORE_INTEGER +:_END_IF_consume_word_1 +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_consume_byte +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +POP_ebx # _common_recursion +OR_eax_ebx +TEST +JUMP_NE %DO_consume_word_0 + +:DO_END_consume_word_0 + +LOAD_IMMEDIATE_eax &GLOBAL_input +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_fgetc +POP_ebx # _process_expression_locals +POP_ebx # _return_result_locals +RETURN +# Defining function fixup_label +:FUNCTION_fixup_label +# Defining local hold +LOAD_IMMEDIATE_eax %58 +PUSH_eax #hold +# Defining local prev +PUSH_eax #prev +# Defining local i +LOAD_IMMEDIATE_eax %0 +PUSH_eax #i +:DO_fixup_label_0 + +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_NE %DO_fixup_label_0 + +:DO_END_fixup_label_0 + +POP_ebx # _recursive_statement_locals +POP_ebx # _recursive_statement_locals +POP_ebx # _recursive_statement_locals +RETURN +# Defining function preserve_keyword +:FUNCTION_preserve_keyword +:WHILE_preserve_keyword_0 + +LOAD_IMMEDIATE_eax %97 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %122 +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %65 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %90 +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +POP_ebx # _common_recursion +OR_eax_ebx +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %48 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %57 +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +POP_ebx # _common_recursion +OR_eax_ebx +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %95 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +OR_eax_ebx +TEST +JUMP_EQ %END_WHILE_preserve_keyword_0 + +# THEN_while_preserve_keyword_0 + +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_consume_byte +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %WHILE_preserve_keyword_0 + +:END_WHILE_preserve_keyword_0 + +# IF_preserve_keyword_1 +LOAD_IMMEDIATE_eax %58 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_preserve_keyword_1 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_fixup_label +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax %32 +RETURN +JUMP %_END_IF_preserve_keyword_1 +:ELSE_preserve_keyword_1 +:_END_IF_preserve_keyword_1 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +RETURN +# Defining function preserve_symbol +:FUNCTION_preserve_symbol +:WHILE_preserve_symbol_0 + +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %60 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %61 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +OR_eax_ebx +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %62 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +OR_eax_ebx +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %124 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +OR_eax_ebx +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %38 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +OR_eax_ebx +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %33 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +OR_eax_ebx +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %45 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +OR_eax_ebx +TEST +JUMP_EQ %END_WHILE_preserve_symbol_0 + +# THEN_while_preserve_symbol_0 + +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_consume_byte +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %WHILE_preserve_symbol_0 + +:END_WHILE_preserve_symbol_0 + +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +RETURN +# Defining function purge_macro +:FUNCTION_purge_macro +:WHILE_purge_macro_0 + +LOAD_IMMEDIATE_eax %10 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %END_WHILE_purge_macro_0 + +# THEN_while_purge_macro_0 + +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_input +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_fgetc +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %WHILE_purge_macro_0 + +:END_WHILE_purge_macro_0 + +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +RETURN +# Defining function get_token +:FUNCTION_get_token +# Defining local current +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %28 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_calloc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #current +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %4096 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_calloc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +:reset #C goto label +LOAD_IMMEDIATE_eax &GLOBAL_string_index +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_clearWhiteSpace +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# IF_get_token_0 + +LOAD_IMMEDIATE_eax %35 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_get_token_0 + +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_purge_macro +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %reset +JUMP %_END_IF_get_token_0 + +:ELSE_get_token_0 + +# IF_get_token_1 +LOAD_IMMEDIATE_eax %97 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %122 +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %65 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %90 +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +POP_ebx # _common_recursion +OR_eax_ebx +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %48 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %57 +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +POP_ebx # _common_recursion +OR_eax_ebx +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %95 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +OR_eax_ebx +TEST +JUMP_EQ %ELSE_get_token_1 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_preserve_keyword +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_get_token_1 +:ELSE_get_token_1 +# IF_get_token_2 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %60 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %61 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +OR_eax_ebx +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %62 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +OR_eax_ebx +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %124 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +OR_eax_ebx +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %38 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +OR_eax_ebx +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %33 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +OR_eax_ebx +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %45 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +OR_eax_ebx +TEST +JUMP_EQ %ELSE_get_token_2 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_preserve_symbol +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_get_token_2 +:ELSE_get_token_2 +# IF_get_token_3 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %39 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_get_token_3 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +LOAD_IMMEDIATE_eax %39 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_consume_word +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_get_token_3 +:ELSE_get_token_3 +# IF_get_token_4 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %34 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_get_token_4 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +LOAD_IMMEDIATE_eax %34 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_consume_word +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_get_token_4 +:ELSE_get_token_4 +# IF_get_token_5 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %47 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_get_token_5 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_consume_byte +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# IF_get_token_6 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %42 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_get_token_6 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_input +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_fgetc +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +:WHILE_get_token_7 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %47 +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %END_WHILE_get_token_7 +# THEN_while_get_token_7 +:WHILE_get_token_8 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %42 +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %END_WHILE_get_token_8 +# THEN_while_get_token_8 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_input +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_fgetc +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# IF_get_token_9 +LOAD_IMMEDIATE_eax %10 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_get_token_9 +LOAD_IMMEDIATE_eax &GLOBAL_line +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_line +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_get_token_9 +:ELSE_get_token_9 +:_END_IF_get_token_9 +JUMP %WHILE_get_token_8 +:END_WHILE_get_token_8 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_input +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_fgetc +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# IF_get_token_10 +LOAD_IMMEDIATE_eax %10 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_get_token_10 +LOAD_IMMEDIATE_eax &GLOBAL_line +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_line +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_get_token_10 +:ELSE_get_token_10 +:_END_IF_get_token_10 +JUMP %WHILE_get_token_7 +:END_WHILE_get_token_7 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_input +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_fgetc +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %reset +JUMP %_END_IF_get_token_6 +:ELSE_get_token_6 +# IF_get_token_11 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %47 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_get_token_11 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_input +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_fgetc +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %reset +JUMP %_END_IF_get_token_11 +:ELSE_get_token_11 +:_END_IF_get_token_11 +:_END_IF_get_token_6 +JUMP %_END_IF_get_token_5 +:ELSE_get_token_5 +# IF_get_token_12 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +CMP +SETL +MOVEZBL +TEST +JUMP_EQ %ELSE_get_token_12 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_free +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_get_token_12 +:ELSE_get_token_12 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_consume_byte +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +:_END_IF_get_token_12 +:_END_IF_get_token_5 +:_END_IF_get_token_4 +:_END_IF_get_token_3 +:_END_IF_get_token_2 +:_END_IF_get_token_1 +:_END_IF_get_token_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_token +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_token +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %16 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_line +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_file +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_token +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +# Defining function reverse_list +:FUNCTION_reverse_list +# Defining local root +LOAD_IMMEDIATE_eax %0 +PUSH_eax #root +:WHILE_reverse_list_0 + +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %END_WHILE_reverse_list_0 + +# THEN_while_reverse_list_0 + +# Defining local next +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +PUSH_eax #next +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +# looking up offset +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +POP_ebx # _recursive_statement_locals +JUMP %WHILE_reverse_list_0 + +:END_WHILE_reverse_list_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +# Defining function read_all_tokens +:FUNCTION_read_all_tokens +LOAD_IMMEDIATE_eax &GLOBAL_input +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_line +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_file +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_token +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +# Defining local ch +LOAD_IMMEDIATE_eax &GLOBAL_input +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_fgetc +POP_ebx # _process_expression_locals +PUSH_eax #ch +:WHILE_read_all_tokens_0 + +LOAD_IMMEDIATE_eax %0xFFFFFFFF +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %END_WHILE_read_all_tokens_0 + +# THEN_while_read_all_tokens_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_get_token +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %WHILE_read_all_tokens_0 + +:END_WHILE_read_all_tokens_0 + +LOAD_IMMEDIATE_eax &GLOBAL_token +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +# Defining function upcase +:FUNCTION_upcase +# IF_upcase_0 + +LOAD_IMMEDIATE_eax %97 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %122 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETGE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_upcase_0 + +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %32 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_upcase_0 + +:ELSE_upcase_0 + +:_END_IF_upcase_0 + +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +RETURN +# Defining function hexify +:FUNCTION_hexify +# Defining local i +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_char2hex +POP_ebx # _process_expression_locals +PUSH_eax #i +# IF_hexify_0 + +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETG +MOVEZBL +TEST +JUMP_EQ %ELSE_hexify_0 + +LOAD_IMMEDIATE_eax &STRING_0 + +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_exit +POP_ebx # _process_expression_locals +JUMP %_END_IF_hexify_0 + +:ELSE_hexify_0 + +:_END_IF_hexify_0 + +# IF_hexify_1 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +TEST +JUMP_EQ %ELSE_hexify_1 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %4 +COPY_eax_to_ecx +POP_eax +SAL_eax_cl +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_hexify_1 +:ELSE_hexify_1 +:_END_IF_hexify_1 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +# Defining function weird +:FUNCTION_weird +# IF_weird_0 + +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_0 + +LOAD_IMMEDIATE_eax %0 +RETURN +JUMP %_END_IF_weird_0 + +:ELSE_weird_0 + +:_END_IF_weird_0 + +# IF_weird_1 +LOAD_IMMEDIATE_eax %92 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_1 +# IF_weird_2 +LOAD_IMMEDIATE_eax %120 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_2 +# IF_weird_3 +LOAD_IMMEDIATE_eax %48 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_3 +LOAD_IMMEDIATE_eax %1 +RETURN +JUMP %_END_IF_weird_3 +:ELSE_weird_3 +# IF_weird_4 +LOAD_IMMEDIATE_eax %49 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_4 +LOAD_IMMEDIATE_eax %1 +RETURN +JUMP %_END_IF_weird_4 +:ELSE_weird_4 +# IF_weird_5 +LOAD_IMMEDIATE_eax %50 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_5 +# IF_weird_6 +LOAD_IMMEDIATE_eax %50 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %3 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_6 +LOAD_IMMEDIATE_eax %1 +RETURN +JUMP %_END_IF_weird_6 +:ELSE_weird_6 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %3 +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_weird +POP_ebx # _process_expression_locals +RETURN +:_END_IF_weird_6 +JUMP %_END_IF_weird_5 +:ELSE_weird_5 +# IF_weird_7 +LOAD_IMMEDIATE_eax %51 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_7 +# IF_weird_8 +LOAD_IMMEDIATE_eax %65 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %3 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_8 +LOAD_IMMEDIATE_eax %1 +RETURN +JUMP %_END_IF_weird_8 +:ELSE_weird_8 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %3 +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_weird +POP_ebx # _process_expression_locals +RETURN +:_END_IF_weird_8 +JUMP %_END_IF_weird_7 +:ELSE_weird_7 +# IF_weird_9 +LOAD_IMMEDIATE_eax %56 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_9 +LOAD_IMMEDIATE_eax %1 +RETURN +JUMP %_END_IF_weird_9 +:ELSE_weird_9 +# IF_weird_10 +LOAD_IMMEDIATE_eax %57 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_10 +LOAD_IMMEDIATE_eax %1 +RETURN +JUMP %_END_IF_weird_10 +:ELSE_weird_10 +# IF_weird_11 +LOAD_IMMEDIATE_eax %97 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_11 +LOAD_IMMEDIATE_eax %1 +RETURN +JUMP %_END_IF_weird_11 +:ELSE_weird_11 +# IF_weird_12 +LOAD_IMMEDIATE_eax %65 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_12 +LOAD_IMMEDIATE_eax %1 +RETURN +JUMP %_END_IF_weird_12 +:ELSE_weird_12 +# IF_weird_13 +LOAD_IMMEDIATE_eax %98 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_13 +LOAD_IMMEDIATE_eax %1 +RETURN +JUMP %_END_IF_weird_13 +:ELSE_weird_13 +# IF_weird_14 +LOAD_IMMEDIATE_eax %66 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_14 +LOAD_IMMEDIATE_eax %1 +RETURN +JUMP %_END_IF_weird_14 +:ELSE_weird_14 +# IF_weird_15 +LOAD_IMMEDIATE_eax %99 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_15 +LOAD_IMMEDIATE_eax %1 +RETURN +JUMP %_END_IF_weird_15 +:ELSE_weird_15 +# IF_weird_16 +LOAD_IMMEDIATE_eax %67 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_16 +LOAD_IMMEDIATE_eax %1 +RETURN +JUMP %_END_IF_weird_16 +:ELSE_weird_16 +# IF_weird_17 +LOAD_IMMEDIATE_eax %100 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_17 +LOAD_IMMEDIATE_eax %1 +RETURN +JUMP %_END_IF_weird_17 +:ELSE_weird_17 +# IF_weird_18 +LOAD_IMMEDIATE_eax %68 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_18 +LOAD_IMMEDIATE_eax %1 +RETURN +JUMP %_END_IF_weird_18 +:ELSE_weird_18 +# IF_weird_19 +LOAD_IMMEDIATE_eax %101 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_19 +LOAD_IMMEDIATE_eax %1 +RETURN +JUMP %_END_IF_weird_19 +:ELSE_weird_19 +# IF_weird_20 +LOAD_IMMEDIATE_eax %69 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_20 +LOAD_IMMEDIATE_eax %1 +RETURN +JUMP %_END_IF_weird_20 +:ELSE_weird_20 +# IF_weird_21 +LOAD_IMMEDIATE_eax %102 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_21 +LOAD_IMMEDIATE_eax %1 +RETURN +JUMP %_END_IF_weird_21 +:ELSE_weird_21 +# IF_weird_22 +LOAD_IMMEDIATE_eax %70 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_22 +LOAD_IMMEDIATE_eax %1 +RETURN +JUMP %_END_IF_weird_22 +:ELSE_weird_22 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %3 +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_weird +POP_ebx # _process_expression_locals +RETURN +:_END_IF_weird_22 +:_END_IF_weird_21 +:_END_IF_weird_20 +:_END_IF_weird_19 +:_END_IF_weird_18 +:_END_IF_weird_17 +:_END_IF_weird_16 +:_END_IF_weird_15 +:_END_IF_weird_14 +:_END_IF_weird_13 +:_END_IF_weird_12 +:_END_IF_weird_11 +:_END_IF_weird_10 +:_END_IF_weird_9 +:_END_IF_weird_7 +:_END_IF_weird_5 +:_END_IF_weird_4 +:_END_IF_weird_3 +JUMP %_END_IF_weird_2 +:ELSE_weird_2 +# IF_weird_23 +LOAD_IMMEDIATE_eax %110 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_23 +# IF_weird_24 +LOAD_IMMEDIATE_eax %58 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_24 +LOAD_IMMEDIATE_eax %1 +RETURN +JUMP %_END_IF_weird_24 +:ELSE_weird_24 +:_END_IF_weird_24 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_weird +POP_ebx # _process_expression_locals +RETURN +JUMP %_END_IF_weird_23 +:ELSE_weird_23 +# IF_weird_25 +LOAD_IMMEDIATE_eax %116 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_25 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_weird +POP_ebx # _process_expression_locals +RETURN +JUMP %_END_IF_weird_25 +:ELSE_weird_25 +# IF_weird_26 +LOAD_IMMEDIATE_eax %34 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_weird_26 +LOAD_IMMEDIATE_eax %1 +RETURN +JUMP %_END_IF_weird_26 +:ELSE_weird_26 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %3 +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_weird +POP_ebx # _process_expression_locals +RETURN +:_END_IF_weird_26 +:_END_IF_weird_25 +:_END_IF_weird_23 +:_END_IF_weird_2 +JUMP %_END_IF_weird_1 +:ELSE_weird_1 +:_END_IF_weird_1 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_weird +POP_ebx # _process_expression_locals +RETURN +# Defining function escape_lookup +:FUNCTION_escape_lookup +# IF_escape_lookup_0 + +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %92 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %120 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_escape_lookup_0 + +# Defining local t1 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_hexify +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #t1 +# Defining local t2 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %3 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_hexify +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #t2 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_escape_lookup_0 + +:ELSE_escape_lookup_0 + +# IF_escape_lookup_1 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %92 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %110 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_escape_lookup_1 +LOAD_IMMEDIATE_eax %10 +RETURN +JUMP %_END_IF_escape_lookup_1 +:ELSE_escape_lookup_1 +# IF_escape_lookup_2 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %92 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %116 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_escape_lookup_2 +LOAD_IMMEDIATE_eax %9 +RETURN +JUMP %_END_IF_escape_lookup_2 +:ELSE_escape_lookup_2 +# IF_escape_lookup_3 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %92 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %92 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_escape_lookup_3 +LOAD_IMMEDIATE_eax %92 +RETURN +JUMP %_END_IF_escape_lookup_3 +:ELSE_escape_lookup_3 +# IF_escape_lookup_4 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %92 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %39 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_escape_lookup_4 +LOAD_IMMEDIATE_eax %39 +RETURN +JUMP %_END_IF_escape_lookup_4 +:ELSE_escape_lookup_4 +# IF_escape_lookup_5 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %92 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %34 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_escape_lookup_5 +LOAD_IMMEDIATE_eax %34 +RETURN +JUMP %_END_IF_escape_lookup_5 +:ELSE_escape_lookup_5 +# IF_escape_lookup_6 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %92 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %114 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_escape_lookup_6 +LOAD_IMMEDIATE_eax %13 +RETURN +JUMP %_END_IF_escape_lookup_6 +:ELSE_escape_lookup_6 +:_END_IF_escape_lookup_6 +:_END_IF_escape_lookup_5 +:_END_IF_escape_lookup_4 +:_END_IF_escape_lookup_3 +:_END_IF_escape_lookup_2 +:_END_IF_escape_lookup_1 +:_END_IF_escape_lookup_0 + +LOAD_IMMEDIATE_eax &STRING_1 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &STRING_2 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_exit +POP_ebx # _process_expression_locals +RETURN +# Defining function collect_regular_string +:FUNCTION_collect_regular_string +# Defining local j +LOAD_IMMEDIATE_eax %0 +PUSH_eax #j +# Defining local i +LOAD_IMMEDIATE_eax %0 +PUSH_eax #i +# Defining local message +LOAD_IMMEDIATE_eax %4096 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_calloc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #message +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %34 +POP_ebx # _common_recursion +STORE_CHAR +:WHILE_collect_regular_string_0 + +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %END_WHILE_collect_regular_string_0 + +# THEN_while_collect_regular_string_0 + +# IF_collect_regular_string_1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %92 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %120 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_collect_regular_string_1 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_escape_lookup +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %4 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_collect_regular_string_1 +:ELSE_collect_regular_string_1 +# IF_collect_regular_string_2 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %92 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_collect_regular_string_2 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_escape_lookup +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_collect_regular_string_2 +:ELSE_collect_regular_string_2 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +:_END_IF_collect_regular_string_2 +:_END_IF_collect_regular_string_1 +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %WHILE_collect_regular_string_0 + +:END_WHILE_collect_regular_string_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %34 +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %10 +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +# Defining function collect_weird_string +:FUNCTION_collect_weird_string +# Defining local j +LOAD_IMMEDIATE_eax %1 +PUSH_eax #j +# Defining local k +LOAD_IMMEDIATE_eax %1 +PUSH_eax #k +# Defining local table +LOAD_IMMEDIATE_eax &STRING_3 +PUSH_eax #table +# Defining local hold +LOAD_IMMEDIATE_eax %4096 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_calloc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #hold +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %39 +POP_ebx # _common_recursion +STORE_CHAR +:WHILE_collect_weird_string_0 + +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %END_WHILE_collect_weird_string_0 + +# THEN_while_collect_weird_string_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %32 +POP_ebx # _common_recursion +STORE_CHAR +# IF_collect_weird_string_1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %92 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %120 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_collect_weird_string_1 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_upcase +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %3 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_upcase +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %4 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_collect_weird_string_1 +:ELSE_collect_weird_string_1 +# IF_collect_weird_string_2 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %92 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %110 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_collect_weird_string_2 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %48 +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %65 +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_collect_weird_string_2 +:ELSE_collect_weird_string_2 +# IF_collect_weird_string_3 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %92 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %116 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_collect_weird_string_3 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %48 +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %57 +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_collect_weird_string_3 +:ELSE_collect_weird_string_3 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %4 +COPY_eax_to_ecx +POP_eax +SAR_eax_cl +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %15 +POP_ebx # _common_recursion +AND_eax_ebx +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +:_END_IF_collect_weird_string_3 +:_END_IF_collect_weird_string_2 +:_END_IF_collect_weird_string_1 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %3 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %WHILE_collect_weird_string_0 + +:END_WHILE_collect_weird_string_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %32 +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %48 +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %48 +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %3 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %39 +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %4 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %10 +POP_ebx # _common_recursion +STORE_CHAR +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +# Defining function parse_string +:FUNCTION_parse_string +# IF_parse_string_0 + +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_weird +POP_ebx # _process_expression_locals +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %58 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +OR_eax_ebx +TEST +JUMP_EQ %ELSE_parse_string_0 + +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_collect_weird_string +POP_ebx # _process_expression_locals +RETURN +JUMP %_END_IF_parse_string_0 + +:ELSE_parse_string_0 + +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_collect_regular_string +POP_ebx # _process_expression_locals +RETURN +:_END_IF_parse_string_0 + +RETURN +# Defining function initialize_types +:FUNCTION_initialize_types +LOAD_IMMEDIATE_eax &GLOBAL_global_types +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %28 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_calloc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_types +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_4 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_types +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %4 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_types +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_types +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_types +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_types +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +# Defining local a +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %28 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_calloc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #a +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_5 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %4 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +# Defining local b +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %28 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_calloc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #b +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_6 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %4 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +# Defining local c +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %28 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_calloc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #c +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_7 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +# Defining local d +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %28 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_calloc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #d +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_8 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %4 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +# Defining local e +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %28 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_calloc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #e +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_9 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %4 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +# Defining local f +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %28 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_calloc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #f +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_10 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %4 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +# looking up offset +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +# looking up offset +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +# looking up offset +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_types +LOAD_INTEGER +# looking up offset +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +POP_ebx # _recursive_statement_locals +POP_ebx # _recursive_statement_locals +POP_ebx # _recursive_statement_locals +POP_ebx # _recursive_statement_locals +POP_ebx # _recursive_statement_locals +POP_ebx # _recursive_statement_locals +RETURN +# Defining function lookup_type +:FUNCTION_lookup_type +# Defining local i +PUSH_eax #i +# FOR_initialization_lookup_type_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_types +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +:FOR_lookup_type_0 + +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %FOR_END_lookup_type_0 + +JUMP %FOR_THEN_lookup_type_0 + +:FOR_ITER_lookup_type_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %FOR_lookup_type_0 + +:FOR_THEN_lookup_type_0 + +# IF_lookup_type_1 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_lookup_type_1 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_lookup_type_1 +:ELSE_lookup_type_1 +:_END_IF_lookup_type_1 +JUMP %FOR_ITER_lookup_type_0 + +:FOR_END_lookup_type_0 + +LOAD_IMMEDIATE_eax %0 +POP_ebx # _return_result_locals +RETURN +# Defining function build_member +:FUNCTION_build_member +# Defining local member_type +CALL_IMMEDIATE %FUNCTION_type_name +PUSH_eax #member_type +# Defining local i +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %28 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_calloc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #i +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %16 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_member_size +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +# Defining function build_union +:FUNCTION_build_union +# Defining local size +LOAD_IMMEDIATE_eax %0 +PUSH_eax #size +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_11 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_12 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +:WHILE_build_union_0 + +LOAD_IMMEDIATE_eax %125 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %END_WHILE_build_union_0 + +# THEN_while_build_union_0 + +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_build_member +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# IF_build_union_1 +LOAD_IMMEDIATE_eax &GLOBAL_member_size +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETG +MOVEZBL +TEST +JUMP_EQ %ELSE_build_union_1 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_member_size +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_build_union_1 +:ELSE_build_union_1 +:_END_IF_build_union_1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_13 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_14 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +JUMP %WHILE_build_union_0 + +:END_WHILE_build_union_0 + +LOAD_IMMEDIATE_eax &GLOBAL_member_size +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +# Defining function create_struct +:FUNCTION_create_struct +# Defining local offset +LOAD_IMMEDIATE_eax %0 +PUSH_eax #offset +# Defining local head +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %28 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_calloc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #head +# Defining local i +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %28 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_calloc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #i +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_types +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_types +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %4 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_15 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_16 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +# Defining local last +LOAD_IMMEDIATE_eax %0 +PUSH_eax #last +:WHILE_create_struct_0 + +LOAD_IMMEDIATE_eax %125 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %END_WHILE_create_struct_0 + +# THEN_while_create_struct_0 + +# IF_create_struct_1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_17 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_create_struct_1 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_build_union +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_create_struct_1 +:ELSE_create_struct_1 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_build_member +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +:_END_IF_create_struct_1 +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_member_size +LOAD_INTEGER +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_18 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_19 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +JUMP %WHILE_create_struct_0 + +:END_WHILE_create_struct_0 + +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_20 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_21 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %16 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %16 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +POP_ebx # _recursive_statement_locals +POP_ebx # _recursive_statement_locals +POP_ebx # _recursive_statement_locals +POP_ebx # _recursive_statement_locals +RETURN +# Defining function type_name +:FUNCTION_type_name +# Defining local structure +LOAD_IMMEDIATE_eax %0 +PUSH_eax #structure +# IF_type_name_0 + +LOAD_IMMEDIATE_eax &STRING_22 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_type_name_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_type_name_0 + +:ELSE_type_name_0 + +:_END_IF_type_name_0 + +# Defining local ret +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_lookup_type +POP_ebx # _process_expression_locals +PUSH_eax #ret +# IF_type_name_1 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +XOR_ebx_eax_into_eax +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_type_name_1 +LOAD_IMMEDIATE_eax &STRING_23 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &STRING_24 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +CALL_IMMEDIATE %FUNCTION_line_error +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_exit +POP_ebx # _process_expression_locals +JUMP %_END_IF_type_name_1 +:ELSE_type_name_1 +# IF_type_name_2 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_type_name_2 +CALL_IMMEDIATE %FUNCTION_create_struct +LOAD_IMMEDIATE_eax %0 +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_type_name_2 +:ELSE_type_name_2 +:_END_IF_type_name_2 +:_END_IF_type_name_1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +:WHILE_type_name_3 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %42 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %END_WHILE_type_name_3 +# THEN_while_type_name_3 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %WHILE_type_name_3 +:END_WHILE_type_name_3 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +# Defining function line_error +:FUNCTION_line_error +LOAD_IMMEDIATE_eax &STRING_25 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &STRING_26 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %16 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_numerate_number +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +RETURN +# Defining function require_match +:FUNCTION_require_match +# IF_require_match_0 + +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +XOR_ebx_eax_into_eax +TEST +JUMP_EQ %ELSE_require_match_0 + +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +CALL_IMMEDIATE %FUNCTION_line_error +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_exit +POP_ebx # _process_expression_locals +JUMP %_END_IF_require_match_0 + +:ELSE_require_match_0 + +:_END_IF_require_match_0 + +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +RETURN +# Defining function emit +:FUNCTION_emit +# Defining local t +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %28 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_calloc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #t +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +# Defining function sym_declare +:FUNCTION_sym_declare +# Defining local a +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %28 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_calloc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #a +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +# Defining function sym_lookup +:FUNCTION_sym_lookup +# Defining local i +PUSH_eax #i +# FOR_initialization_sym_lookup_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +:FOR_sym_lookup_0 + +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %FOR_END_sym_lookup_0 + +JUMP %FOR_THEN_sym_lookup_0 + +:FOR_ITER_sym_lookup_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %FOR_sym_lookup_0 + +:FOR_THEN_sym_lookup_0 + +# IF_sym_lookup_1 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_sym_lookup_1 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_sym_lookup_1 +:ELSE_sym_lookup_1 +:_END_IF_sym_lookup_1 +JUMP %FOR_ITER_sym_lookup_0 + +:FOR_END_sym_lookup_0 + +LOAD_IMMEDIATE_eax %0 +POP_ebx # _return_result_locals +RETURN +# Defining function stack_index +:FUNCTION_stack_index +# Defining local depth +LOAD_IMMEDIATE_eax %4 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +MULTIPLY_eax_by_ebx_into_eax +PUSH_eax #depth +# Defining local i +PUSH_eax #i +# FOR_initialization_stack_index_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +:FOR_stack_index_0 + +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %FOR_END_stack_index_0 + +JUMP %FOR_THEN_stack_index_0 + +:FOR_ITER_stack_index_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %FOR_stack_index_0 + +:FOR_THEN_stack_index_0 + +# IF_stack_index_1 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_stack_index_1 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_stack_index_1 +:ELSE_stack_index_1 +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %4 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +:_END_IF_stack_index_1 +JUMP %FOR_ITER_stack_index_0 + +:FOR_END_stack_index_0 + +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %4 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +# FOR_initialization_stack_index_2 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %16 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +:FOR_stack_index_2 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %FOR_END_stack_index_2 +JUMP %FOR_THEN_stack_index_2 +:FOR_ITER_stack_index_2 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %FOR_stack_index_2 +:FOR_THEN_stack_index_2 +# IF_stack_index_3 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_stack_index_3 +# IF_stack_index_4 +LOAD_IMMEDIATE_eax &STRING_27 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_stack_index_4 +# IF_stack_index_5 +LOAD_IMMEDIATE_eax &STRING_28 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_stack_index_5 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %4 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_stack_index_5 +:ELSE_stack_index_5 +# IF_stack_index_6 +LOAD_IMMEDIATE_eax &STRING_29 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_stack_index_6 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %4 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_stack_index_6 +:ELSE_stack_index_6 +:_END_IF_stack_index_6 +:_END_IF_stack_index_5 +JUMP %_END_IF_stack_index_4 +:ELSE_stack_index_4 +:_END_IF_stack_index_4 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_stack_index_3 +:ELSE_stack_index_3 +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %4 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +:_END_IF_stack_index_3 +JUMP %FOR_ITER_stack_index_2 +:FOR_END_stack_index_2 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &STRING_30 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &STRING_31 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +CALL_IMMEDIATE %FUNCTION_line_error +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_exit +POP_ebx # _process_expression_locals +POP_ebx # _recursive_statement_locals +POP_ebx # _recursive_statement_locals +RETURN +# Defining function function_call +:FUNCTION_function_call +LOAD_IMMEDIATE_eax &STRING_32 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_33 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +# Defining local passed +LOAD_IMMEDIATE_eax %0 +PUSH_eax #passed +# IF_function_call_0 + +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %41 +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %ELSE_function_call_0 + +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_expression +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_34 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +STORE_INTEGER +:WHILE_function_call_1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %44 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %END_WHILE_function_call_1 +# THEN_while_function_call_1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_expression +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_35 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %WHILE_function_call_1 +:END_WHILE_function_call_1 +JUMP %_END_IF_function_call_0 + +:ELSE_function_call_0 + +:_END_IF_function_call_0 + +LOAD_IMMEDIATE_eax &STRING_36 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_37 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +# IF_function_call_2 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_function_call_2 +# Defining local a +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_sym_lookup +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #a +LOAD_EFFECTIVE_ADDRESS %24 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_38 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %32 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %24 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_stack_index +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_numerate_number +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %32 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %24 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_39 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %32 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +POP_ebx # _recursive_statement_locals +JUMP %_END_IF_function_call_2 +:ELSE_function_call_2 +# IF_function_call_3 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_function_call_3 +# Defining local a +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %16 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_sym_lookup +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #a +LOAD_EFFECTIVE_ADDRESS %24 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_40 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %32 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %24 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_stack_index +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_numerate_number +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %32 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %24 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_41 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %32 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +POP_ebx # _recursive_statement_locals +JUMP %_END_IF_function_call_3 +:ELSE_function_call_3 +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_42 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %10 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_postpend_char +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +:_END_IF_function_call_3 +:_END_IF_function_call_2 +# FOR_initialization_function_call_4 +:FOR_function_call_4 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +CMP +SETG +MOVEZBL +TEST +JUMP_EQ %FOR_END_function_call_4 +JUMP %FOR_THEN_function_call_4 +:FOR_ITER_function_call_4 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %FOR_function_call_4 +:FOR_THEN_function_call_4 +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_43 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %FOR_ITER_function_call_4 +:FOR_END_function_call_4 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +# Defining function sym_get_value +:FUNCTION_sym_get_value +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +# Defining local a +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_constant_list +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_sym_lookup +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #a +# IF_sym_get_value_0 + +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %ELSE_sym_get_value_0 + +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_44 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %16 +ADD_ebx_to_eax +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %10 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_postpend_char +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_sym_get_value_0 + +:ELSE_sym_get_value_0 + +:_END_IF_sym_get_value_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_sym_lookup +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# IF_sym_get_value_1 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %ELSE_sym_get_value_1 +# IF_sym_get_value_2 +LOAD_IMMEDIATE_eax &STRING_45 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_sym_get_value_2 +# IF_sym_get_value_3 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_46 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +XOR_ebx_eax_into_eax +TEST +JUMP_EQ %ELSE_sym_get_value_3 +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_47 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_stack_index +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_numerate_number +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_48 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_sym_get_value_3 +:ELSE_sym_get_value_3 +:_END_IF_sym_get_value_3 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_function_call +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_sym_get_value_2 +:ELSE_sym_get_value_2 +:_END_IF_sym_get_value_2 +LOAD_IMMEDIATE_eax &GLOBAL_current_target +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_49 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_stack_index +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_numerate_number +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_50 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# IF_sym_get_value_4 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_51 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +XOR_ebx_eax_into_eax +TEST +JUMP_EQ %ELSE_sym_get_value_4 +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_52 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_sym_get_value_4 +:ELSE_sym_get_value_4 +:_END_IF_sym_get_value_4 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_sym_get_value_1 +:ELSE_sym_get_value_1 +:_END_IF_sym_get_value_1 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %16 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_sym_lookup +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# IF_sym_get_value_5 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %ELSE_sym_get_value_5 +LOAD_IMMEDIATE_eax &GLOBAL_current_target +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +# IF_sym_get_value_6 +LOAD_IMMEDIATE_eax &STRING_53 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_sym_get_value_6 +# IF_sym_get_value_7 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_54 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +XOR_ebx_eax_into_eax +TEST +JUMP_EQ %ELSE_sym_get_value_7 +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_55 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_stack_index +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_numerate_number +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_56 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_sym_get_value_7 +:ELSE_sym_get_value_7 +:_END_IF_sym_get_value_7 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_function_call +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_sym_get_value_6 +:ELSE_sym_get_value_6 +:_END_IF_sym_get_value_6 +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_57 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_stack_index +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_numerate_number +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_58 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# IF_sym_get_value_8 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_59 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +XOR_ebx_eax_into_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_60 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +XOR_ebx_eax_into_eax +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_sym_get_value_8 +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_61 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_sym_get_value_8 +:ELSE_sym_get_value_8 +:_END_IF_sym_get_value_8 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_sym_get_value_5 +:ELSE_sym_get_value_5 +:_END_IF_sym_get_value_5 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_function_list +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_sym_lookup +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# IF_sym_get_value_9 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %ELSE_sym_get_value_9 +# IF_sym_get_value_10 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_62 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +XOR_ebx_eax_into_eax +TEST +JUMP_EQ %ELSE_sym_get_value_10 +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_63 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %10 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_postpend_char +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_sym_get_value_10 +:ELSE_sym_get_value_10 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_function_call +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _return_result_locals +RETURN +:_END_IF_sym_get_value_10 +JUMP %_END_IF_sym_get_value_9 +:ELSE_sym_get_value_9 +:_END_IF_sym_get_value_9 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_symbol_list +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_sym_lookup +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# IF_sym_get_value_11 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %ELSE_sym_get_value_11 +LOAD_IMMEDIATE_eax &GLOBAL_current_target +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_64 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %10 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_postpend_char +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# IF_sym_get_value_12 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_65 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +XOR_ebx_eax_into_eax +TEST +JUMP_EQ %ELSE_sym_get_value_12 +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_66 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_sym_get_value_12 +:ELSE_sym_get_value_12 +:_END_IF_sym_get_value_12 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_sym_get_value_11 +:ELSE_sym_get_value_11 +:_END_IF_sym_get_value_11 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &STRING_67 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +CALL_IMMEDIATE %FUNCTION_line_error +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_exit +POP_ebx # _process_expression_locals +POP_ebx # _recursive_statement_locals +RETURN +# Defining function primary_expr +:FUNCTION_primary_expr +# IF_primary_expr_0 + +LOAD_IMMEDIATE_eax %48 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %57 +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +TEST +JUMP_EQ %ELSE_primary_expr_0 + +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_68 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %10 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_postpend_char +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_primary_expr_0 + +:ELSE_primary_expr_0 + +# IF_primary_expr_1 +LOAD_IMMEDIATE_eax %97 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %122 +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %65 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %90 +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +POP_ebx # _common_recursion +OR_eax_ebx +TEST +JUMP_EQ %ELSE_primary_expr_1 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_sym_get_value +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_primary_expr_1 +:ELSE_primary_expr_1 +# IF_primary_expr_2 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %40 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_primary_expr_2 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_expression +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_69 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_70 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +JUMP %_END_IF_primary_expr_2 +:ELSE_primary_expr_2 +# IF_primary_expr_3 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %39 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_primary_expr_3 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_71 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# IF_primary_expr_4 +LOAD_IMMEDIATE_eax %92 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_primary_expr_4 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_escape_lookup +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_numerate_number +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_primary_expr_4 +:ELSE_primary_expr_4 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_numerate_number +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +:_END_IF_primary_expr_4 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_72 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_primary_expr_3 +:ELSE_primary_expr_3 +# IF_primary_expr_5 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %34 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_primary_expr_5 +# Defining local number_string +LOAD_IMMEDIATE_eax &GLOBAL_string_num +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_numerate_number +POP_ebx # _process_expression_locals +PUSH_eax #number_string +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_73 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_74 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_strings_list +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_75 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_strings_list +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_strings_list +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_strings_list +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_strings_list +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_76 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_strings_list +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_strings_list +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_parse_string +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_strings_list +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_string_num +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_string_num +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +POP_ebx # _recursive_statement_locals +JUMP %_END_IF_primary_expr_5 +:ELSE_primary_expr_5 +LOAD_IMMEDIATE_eax &STRING_77 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &STRING_78 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +CALL_IMMEDIATE %FUNCTION_line_error +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_exit +POP_ebx # _process_expression_locals +:_END_IF_primary_expr_5 +:_END_IF_primary_expr_3 +:_END_IF_primary_expr_2 +:_END_IF_primary_expr_1 +:_END_IF_primary_expr_0 + +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +RETURN +# Defining function pre_recursion +:FUNCTION_pre_recursion +LOAD_IMMEDIATE_eax &GLOBAL_last_type +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_target +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_79 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +RETURN +# Defining function promote_type +:FUNCTION_promote_type +# IF_promote_type_0 + +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_promote_type_0 + +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +RETURN +JUMP %_END_IF_promote_type_0 + +:ELSE_promote_type_0 + +:_END_IF_promote_type_0 + +# IF_promote_type_1 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_promote_type_1 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +RETURN +JUMP %_END_IF_promote_type_1 +:ELSE_promote_type_1 +:_END_IF_promote_type_1 +# Defining local i +PUSH_eax #i +# FOR_initialization_promote_type_2 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_types +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +:FOR_promote_type_2 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %FOR_END_promote_type_2 +JUMP %FOR_THEN_promote_type_2 +:FOR_ITER_promote_type_2 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %FOR_promote_type_2 +:FOR_THEN_promote_type_2 +# IF_promote_type_3 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_promote_type_3 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_promote_type_3 +:ELSE_promote_type_3 +:_END_IF_promote_type_3 +# IF_promote_type_4 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_promote_type_4 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_promote_type_4 +:ELSE_promote_type_4 +:_END_IF_promote_type_4 +# IF_promote_type_5 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_promote_type_5 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_promote_type_5 +:ELSE_promote_type_5 +:_END_IF_promote_type_5 +# IF_promote_type_6 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_promote_type_6 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +JUMP %_END_IF_promote_type_6 +:ELSE_promote_type_6 +:_END_IF_promote_type_6 +JUMP %FOR_ITER_promote_type_2 +:FOR_END_promote_type_2 +LOAD_IMMEDIATE_eax %0 +POP_ebx # _return_result_locals +RETURN +# Defining function post_recursion +:FUNCTION_post_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_target +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_target +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_last_type +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_promote_type +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_80 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +RETURN +# Defining function ceil_log2 +:FUNCTION_ceil_log2 +# Defining local result +LOAD_IMMEDIATE_eax %0 +PUSH_eax #result +# IF_ceil_log2_0 + +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +POP_ebx # _common_recursion +AND_eax_ebx +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_ceil_log2_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_ceil_log2_0 + +:ELSE_ceil_log2_0 + +:_END_IF_ceil_log2_0 + +:WHILE_ceil_log2_1 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +CMP +SETG +MOVEZBL +TEST +JUMP_EQ %END_WHILE_ceil_log2_1 +# THEN_while_ceil_log2_1 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +COPY_eax_to_ecx +POP_eax +SAR_eax_cl +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %WHILE_ceil_log2_1 +:END_WHILE_ceil_log2_1 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +# Defining function postfix_expr +:FUNCTION_postfix_expr +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_primary_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +:WHILE_postfix_expr_0 + +LOAD_IMMEDIATE_eax %1 +TEST +JUMP_EQ %END_WHILE_postfix_expr_0 + +# THEN_while_postfix_expr_0 + +# IF_postfix_expr_1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %91 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_postfix_expr_1 +# Defining local target +LOAD_IMMEDIATE_eax &GLOBAL_current_target +LOAD_INTEGER +PUSH_eax #target +# Defining local a +LOAD_IMMEDIATE_eax &GLOBAL_current_target +LOAD_INTEGER +PUSH_eax #a +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_pre_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_expression +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_post_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# IF_postfix_expr_2 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %ELSE_postfix_expr_2 +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_81 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_ceil_log2 +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_numerate_number +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_82 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_postfix_expr_2 +:ELSE_postfix_expr_2 +:_END_IF_postfix_expr_2 +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_83 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_current_target +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +# IF_postfix_expr_3 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_84 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +XOR_ebx_eax_into_eax +TEST +JUMP_EQ %ELSE_postfix_expr_3 +# IF_postfix_expr_4 +LOAD_IMMEDIATE_eax %4 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_postfix_expr_4 +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_85 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_postfix_expr_4 +:ELSE_postfix_expr_4 +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_86 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +:_END_IF_postfix_expr_4 +JUMP %_END_IF_postfix_expr_3 +:ELSE_postfix_expr_3 +:_END_IF_postfix_expr_3 +LOAD_IMMEDIATE_eax &STRING_87 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_88 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _recursive_statement_locals +POP_ebx # _recursive_statement_locals +JUMP %_END_IF_postfix_expr_1 +:ELSE_postfix_expr_1 +# IF_postfix_expr_5 +LOAD_IMMEDIATE_eax &STRING_89 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_postfix_expr_5 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_90 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +# Defining local i +PUSH_eax #i +# FOR_initialization_postfix_expr_6 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_target +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %16 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +:FOR_postfix_expr_6 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %FOR_END_postfix_expr_6 +JUMP %FOR_THEN_postfix_expr_6 +:FOR_ITER_postfix_expr_6 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %16 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %FOR_postfix_expr_6 +:FOR_THEN_postfix_expr_6 +# IF_postfix_expr_7 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_postfix_expr_7 +JUMP %FOR_END_postfix_expr_6 +JUMP %_END_IF_postfix_expr_7 +:ELSE_postfix_expr_7 +:_END_IF_postfix_expr_7 +JUMP %FOR_ITER_postfix_expr_6 +:FOR_END_postfix_expr_6 +# IF_postfix_expr_8 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_postfix_expr_8 +LOAD_IMMEDIATE_eax &STRING_91 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &GLOBAL_current_target +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &STRING_92 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &STRING_93 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +CALL_IMMEDIATE %FUNCTION_line_error +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_exit +POP_ebx # _process_expression_locals +JUMP %_END_IF_postfix_expr_8 +:ELSE_postfix_expr_8 +:_END_IF_postfix_expr_8 +# IF_postfix_expr_9 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %ELSE_postfix_expr_9 +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_94 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_95 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_numerate_number +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_96 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_postfix_expr_9 +:ELSE_postfix_expr_9 +:_END_IF_postfix_expr_9 +# IF_postfix_expr_10 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_97 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +XOR_ebx_eax_into_eax +TEST +JUMP_EQ %ELSE_postfix_expr_10 +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_98 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_postfix_expr_10 +:ELSE_postfix_expr_10 +:_END_IF_postfix_expr_10 +LOAD_IMMEDIATE_eax &GLOBAL_current_target +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +POP_ebx # _recursive_statement_locals +JUMP %_END_IF_postfix_expr_5 +:ELSE_postfix_expr_5 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +RETURN +:_END_IF_postfix_expr_5 +:_END_IF_postfix_expr_1 +JUMP %WHILE_postfix_expr_0 + +:END_WHILE_postfix_expr_0 + +RETURN +# Defining function unary_expr +:FUNCTION_unary_expr +# IF_unary_expr_0 + +LOAD_IMMEDIATE_eax &STRING_99 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_unary_expr_0 + +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_100 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_pre_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_postfix_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_post_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_101 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_unary_expr_0 + +:ELSE_unary_expr_0 + +# IF_unary_expr_1 +LOAD_IMMEDIATE_eax &STRING_102 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_unary_expr_1 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_103 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_pre_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_postfix_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_post_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_104 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_unary_expr_1 +:ELSE_unary_expr_1 +# IF_unary_expr_2 +LOAD_IMMEDIATE_eax &STRING_105 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_unary_expr_2 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_106 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_107 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +# Defining local a +CALL_IMMEDIATE %FUNCTION_type_name +PUSH_eax #a +LOAD_IMMEDIATE_eax &STRING_108 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_109 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_110 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_numerate_number +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_111 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +POP_ebx # _recursive_statement_locals +JUMP %_END_IF_unary_expr_2 +:ELSE_unary_expr_2 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_postfix_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +:_END_IF_unary_expr_2 +:_END_IF_unary_expr_1 +:_END_IF_unary_expr_0 + +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +RETURN +# Defining function additive_expr +:FUNCTION_additive_expr +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_unary_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +:WHILE_additive_expr_0 + +LOAD_IMMEDIATE_eax %1 +TEST +JUMP_EQ %END_WHILE_additive_expr_0 + +# THEN_while_additive_expr_0 + +# IF_additive_expr_1 +LOAD_IMMEDIATE_eax &STRING_112 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_additive_expr_1 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_pre_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_unary_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_post_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_113 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_additive_expr_1 +:ELSE_additive_expr_1 +# IF_additive_expr_2 +LOAD_IMMEDIATE_eax &STRING_114 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_additive_expr_2 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_pre_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_unary_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_post_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_115 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_additive_expr_2 +:ELSE_additive_expr_2 +# IF_additive_expr_3 +LOAD_IMMEDIATE_eax &STRING_116 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_additive_expr_3 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_pre_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_unary_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_post_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_117 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_additive_expr_3 +:ELSE_additive_expr_3 +# IF_additive_expr_4 +LOAD_IMMEDIATE_eax &STRING_118 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_additive_expr_4 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_pre_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_unary_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_post_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_119 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_additive_expr_4 +:ELSE_additive_expr_4 +# IF_additive_expr_5 +LOAD_IMMEDIATE_eax &STRING_120 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_additive_expr_5 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_pre_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_unary_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_post_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_121 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_additive_expr_5 +:ELSE_additive_expr_5 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +RETURN +:_END_IF_additive_expr_5 +:_END_IF_additive_expr_4 +:_END_IF_additive_expr_3 +:_END_IF_additive_expr_2 +:_END_IF_additive_expr_1 +JUMP %WHILE_additive_expr_0 + +:END_WHILE_additive_expr_0 + +RETURN +# Defining function shift_expr +:FUNCTION_shift_expr +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_additive_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +:WHILE_shift_expr_0 + +LOAD_IMMEDIATE_eax %1 +TEST +JUMP_EQ %END_WHILE_shift_expr_0 + +# THEN_while_shift_expr_0 + +# IF_shift_expr_1 +LOAD_IMMEDIATE_eax &STRING_122 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_shift_expr_1 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_pre_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_additive_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_post_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# Defining local old +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +PUSH_eax #old +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_free +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_123 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +POP_ebx # _recursive_statement_locals +JUMP %_END_IF_shift_expr_1 +:ELSE_shift_expr_1 +# IF_shift_expr_2 +LOAD_IMMEDIATE_eax &STRING_124 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_shift_expr_2 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_pre_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_additive_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_post_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# Defining local old +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +PUSH_eax #old +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_free +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_125 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +POP_ebx # _recursive_statement_locals +JUMP %_END_IF_shift_expr_2 +:ELSE_shift_expr_2 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +RETURN +:_END_IF_shift_expr_2 +:_END_IF_shift_expr_1 +JUMP %WHILE_shift_expr_0 + +:END_WHILE_shift_expr_0 + +RETURN +# Defining function relational_expr +:FUNCTION_relational_expr +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_shift_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +:WHILE_relational_expr_0 + +LOAD_IMMEDIATE_eax %1 +TEST +JUMP_EQ %END_WHILE_relational_expr_0 + +# THEN_while_relational_expr_0 + +# IF_relational_expr_1 +LOAD_IMMEDIATE_eax &STRING_126 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_relational_expr_1 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_pre_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_shift_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_post_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_127 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_relational_expr_1 +:ELSE_relational_expr_1 +# IF_relational_expr_2 +LOAD_IMMEDIATE_eax &STRING_128 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_relational_expr_2 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_pre_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_shift_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_post_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_129 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_relational_expr_2 +:ELSE_relational_expr_2 +# IF_relational_expr_3 +LOAD_IMMEDIATE_eax &STRING_130 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_relational_expr_3 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_pre_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_shift_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_post_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_131 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_relational_expr_3 +:ELSE_relational_expr_3 +# IF_relational_expr_4 +LOAD_IMMEDIATE_eax &STRING_132 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_relational_expr_4 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_pre_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_shift_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_post_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_133 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_relational_expr_4 +:ELSE_relational_expr_4 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +RETURN +:_END_IF_relational_expr_4 +:_END_IF_relational_expr_3 +:_END_IF_relational_expr_2 +:_END_IF_relational_expr_1 +JUMP %WHILE_relational_expr_0 + +:END_WHILE_relational_expr_0 + +RETURN +# Defining function equality_expr +:FUNCTION_equality_expr +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_relational_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +:WHILE_equality_expr_0 + +LOAD_IMMEDIATE_eax %1 +TEST +JUMP_EQ %END_WHILE_equality_expr_0 + +# THEN_while_equality_expr_0 + +# IF_equality_expr_1 +LOAD_IMMEDIATE_eax &STRING_134 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_equality_expr_1 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_pre_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_relational_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_post_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_135 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_equality_expr_1 +:ELSE_equality_expr_1 +# IF_equality_expr_2 +LOAD_IMMEDIATE_eax &STRING_136 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_equality_expr_2 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_pre_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_relational_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_post_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_137 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_equality_expr_2 +:ELSE_equality_expr_2 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +RETURN +:_END_IF_equality_expr_2 +:_END_IF_equality_expr_1 +JUMP %WHILE_equality_expr_0 + +:END_WHILE_equality_expr_0 + +RETURN +# Defining function bitwise +:FUNCTION_bitwise +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_equality_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +:WHILE_bitwise_0 + +LOAD_IMMEDIATE_eax %1 +TEST +JUMP_EQ %END_WHILE_bitwise_0 + +# THEN_while_bitwise_0 + +# IF_bitwise_1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %38 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_bitwise_1 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_pre_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_equality_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_post_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_138 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_bitwise_1 +:ELSE_bitwise_1 +# IF_bitwise_2 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %124 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_bitwise_2 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_pre_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_equality_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_post_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_139 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_bitwise_2 +:ELSE_bitwise_2 +# IF_bitwise_3 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %94 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_bitwise_3 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_pre_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_equality_expr +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_post_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_140 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_bitwise_3 +:ELSE_bitwise_3 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +RETURN +:_END_IF_bitwise_3 +:_END_IF_bitwise_2 +:_END_IF_bitwise_1 +JUMP %WHILE_bitwise_0 + +:END_WHILE_bitwise_0 + +RETURN +# Defining function expression +:FUNCTION_expression +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_bitwise +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# IF_expression_0 + +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %61 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_expression_0 + +# Defining local target +LOAD_IMMEDIATE_eax &GLOBAL_current_target +LOAD_INTEGER +PUSH_eax #target +# Defining local member +LOAD_IMMEDIATE_eax &STRING_141 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #member +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_pre_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_expression +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_post_recursion +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# IF_expression_1 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +TEST +JUMP_EQ %ELSE_expression_1 +# IF_expression_2 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_expression_2 +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_142 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_expression_2 +:ELSE_expression_2 +# IF_expression_3 +LOAD_IMMEDIATE_eax %4 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_expression_3 +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_143 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_expression_3 +:ELSE_expression_3 +:_END_IF_expression_3 +:_END_IF_expression_2 +JUMP %_END_IF_expression_1 +:ELSE_expression_1 +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_144 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +:_END_IF_expression_1 +POP_ebx # _recursive_statement_locals +POP_ebx # _recursive_statement_locals +JUMP %_END_IF_expression_0 + +:ELSE_expression_0 + +:_END_IF_expression_0 + +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +RETURN +# Defining function collect_local +:FUNCTION_collect_local +# Defining local type_size +CALL_IMMEDIATE %FUNCTION_type_name +PUSH_eax #type_size +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_145 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_146 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# Defining local a +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression2 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_sym_declare +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #a +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +# IF_collect_local_0 + +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %61 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_collect_local_0 + +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_expression +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_collect_local_0 + +:ELSE_collect_local_0 + +:_END_IF_collect_local_0 + +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %24 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_147 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_148 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_149 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_150 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +# Defining function process_if +:FUNCTION_process_if +# Defining local number_string +LOAD_IMMEDIATE_eax &GLOBAL_current_count +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_numerate_number +POP_ebx # _process_expression_locals +PUSH_eax #number_string +LOAD_IMMEDIATE_eax &GLOBAL_current_count +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_count +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_151 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_152 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_153 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_154 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_155 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_expression +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_156 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_157 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_158 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_159 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_160 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_statement +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_161 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_162 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_163 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_164 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_165 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# IF_process_if_0 + +LOAD_IMMEDIATE_eax &STRING_166 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_process_if_0 + +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_statement +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_process_if_0 + +:ELSE_process_if_0 + +:_END_IF_process_if_0 + +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_167 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_168 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_169 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +# Defining function process_for +:FUNCTION_process_for +# Defining local number_string +LOAD_IMMEDIATE_eax &GLOBAL_current_count +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_numerate_number +POP_ebx # _process_expression_locals +PUSH_eax #number_string +LOAD_IMMEDIATE_eax &GLOBAL_current_count +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_count +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +# Defining local nested_break +LOAD_IMMEDIATE_eax &GLOBAL_break_target +LOAD_INTEGER +PUSH_eax #nested_break +# Defining local nested_locals +LOAD_IMMEDIATE_eax &GLOBAL_break_locals +LOAD_INTEGER +PUSH_eax #nested_locals +LOAD_IMMEDIATE_eax &GLOBAL_break_locals +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_break_target +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_170 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_171 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_172 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_173 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_174 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_175 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_176 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +# IF_process_for_0 + +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_177 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +XOR_ebx_eax_into_eax +TEST +JUMP_EQ %ELSE_process_for_0 + +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_expression +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_process_for_0 + +:ELSE_process_for_0 + +:_END_IF_process_for_0 + +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_178 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_179 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_180 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_181 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_182 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_expression +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_183 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_184 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_185 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_186 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_187 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_188 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_189 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_190 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_191 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_expression +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_192 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_193 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_194 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_195 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_196 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_197 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_198 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_statement +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_199 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_200 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_201 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_202 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_203 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_break_target +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_break_locals +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +# Defining function process_asm +:FUNCTION_process_asm +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_204 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_205 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +:WHILE_process_asm_0 + +LOAD_IMMEDIATE_eax %34 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %END_WHILE_process_asm_0 + +# THEN_while_process_asm_0 + +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_206 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %WHILE_process_asm_0 + +:END_WHILE_process_asm_0 + +LOAD_IMMEDIATE_eax &STRING_207 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_208 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &STRING_209 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_210 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +RETURN +# Defining function process_do +:FUNCTION_process_do +# Defining local number_string +LOAD_IMMEDIATE_eax &GLOBAL_current_count +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_numerate_number +POP_ebx # _process_expression_locals +PUSH_eax #number_string +LOAD_IMMEDIATE_eax &GLOBAL_current_count +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_count +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +# Defining local nested_break +LOAD_IMMEDIATE_eax &GLOBAL_break_target +LOAD_INTEGER +PUSH_eax #nested_break +# Defining local nested_locals +LOAD_IMMEDIATE_eax &GLOBAL_break_locals +LOAD_INTEGER +PUSH_eax #nested_locals +LOAD_IMMEDIATE_eax &GLOBAL_break_locals +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_break_target +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_211 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_212 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_213 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_214 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_215 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_statement +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_216 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_217 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &STRING_218 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_219 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_expression +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_220 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_221 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &STRING_222 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_223 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_224 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_225 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_226 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_227 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_228 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_break_locals +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_break_target +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +# Defining function process_while +:FUNCTION_process_while +# Defining local number_string +LOAD_IMMEDIATE_eax &GLOBAL_current_count +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_numerate_number +POP_ebx # _process_expression_locals +PUSH_eax #number_string +LOAD_IMMEDIATE_eax &GLOBAL_current_count +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_count +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +# Defining local nested_break +LOAD_IMMEDIATE_eax &GLOBAL_break_target +LOAD_INTEGER +PUSH_eax #nested_break +# Defining local nested_locals +LOAD_IMMEDIATE_eax &GLOBAL_break_locals +LOAD_INTEGER +PUSH_eax #nested_locals +LOAD_IMMEDIATE_eax &GLOBAL_break_locals +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_break_target +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_229 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_230 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_231 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_232 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_233 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_234 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_235 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_expression +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_236 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_237 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_238 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_239 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_240 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_241 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_242 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_statement +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_243 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_244 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_245 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_current_function +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_246 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_247 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %28 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_break_locals +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_break_target +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +# Defining function return_result +:FUNCTION_return_result +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +# IF_return_result_0 + +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %59 +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %ELSE_return_result_0 + +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_expression +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_return_result_0 + +:ELSE_return_result_0 + +:_END_IF_return_result_0 + +LOAD_IMMEDIATE_eax &STRING_248 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_249 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +# Defining local i +PUSH_eax #i +# FOR_initialization_return_result_1 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +:FOR_return_result_1 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %FOR_END_return_result_1 +JUMP %FOR_THEN_return_result_1 +:FOR_ITER_return_result_1 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %FOR_return_result_1 +:FOR_THEN_return_result_1 +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_250 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %FOR_ITER_return_result_1 +:FOR_END_return_result_1 +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_251 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +# Defining function recursive_statement +:FUNCTION_recursive_statement +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +# Defining local frame +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #frame +:WHILE_recursive_statement_0 + +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_252 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +XOR_ebx_eax_into_eax +TEST +JUMP_EQ %END_WHILE_recursive_statement_0 + +# THEN_while_recursive_statement_0 + +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_statement +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %WHILE_recursive_statement_0 + +:END_WHILE_recursive_statement_0 + +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +# IF_recursive_statement_1 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %ELSE_recursive_statement_1 +# Defining local i +PUSH_eax #i +# FOR_initialization_recursive_statement_2 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +:FOR_recursive_statement_2 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %FOR_END_recursive_statement_2 +JUMP %FOR_THEN_recursive_statement_2 +:FOR_ITER_recursive_statement_2 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %FOR_recursive_statement_2 +:FOR_THEN_recursive_statement_2 +# IF_recursive_statement_3 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_253 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +XOR_ebx_eax_into_eax +TEST +JUMP_EQ %ELSE_recursive_statement_3 +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_254 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_recursive_statement_3 +:ELSE_recursive_statement_3 +:_END_IF_recursive_statement_3 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %FOR_ITER_recursive_statement_2 +:FOR_END_recursive_statement_2 +POP_ebx # _recursive_statement_locals +JUMP %_END_IF_recursive_statement_1 +:ELSE_recursive_statement_1 +:_END_IF_recursive_statement_1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +# Defining function statement +:FUNCTION_statement +# IF_statement_0 + +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %123 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_statement_0 + +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_recursive_statement +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_statement_0 + +:ELSE_statement_0 + +# IF_statement_1 +LOAD_IMMEDIATE_eax %58 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_statement_1 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_255 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_statement_1 +:ELSE_statement_1 +# IF_statement_2 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_sym_lookup +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %16 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_sym_lookup +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_lookup_type +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +POP_ebx # _common_recursion +AND_eax_ebx +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_256 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +OR_eax_ebx +TEST +JUMP_EQ %ELSE_statement_2 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_collect_local +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_statement_2 +:ELSE_statement_2 +# IF_statement_3 +LOAD_IMMEDIATE_eax &STRING_257 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_statement_3 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_process_if +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_statement_3 +:ELSE_statement_3 +# IF_statement_4 +LOAD_IMMEDIATE_eax &STRING_258 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_statement_4 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_process_do +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_statement_4 +:ELSE_statement_4 +# IF_statement_5 +LOAD_IMMEDIATE_eax &STRING_259 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_statement_5 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_process_while +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_statement_5 +:ELSE_statement_5 +# IF_statement_6 +LOAD_IMMEDIATE_eax &STRING_260 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_statement_6 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_process_for +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_statement_6 +:ELSE_statement_6 +# IF_statement_7 +LOAD_IMMEDIATE_eax &STRING_261 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_statement_7 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_process_asm +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_statement_7 +:ELSE_statement_7 +# IF_statement_8 +LOAD_IMMEDIATE_eax &STRING_262 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_statement_8 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_263 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_264 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_265 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_266 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +JUMP %_END_IF_statement_8 +:ELSE_statement_8 +# IF_statement_9 +LOAD_IMMEDIATE_eax &STRING_267 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_statement_9 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_return_result +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_statement_9 +:ELSE_statement_9 +# IF_statement_10 +LOAD_IMMEDIATE_eax &STRING_268 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_statement_10 +# IF_statement_11 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_break_target +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_statement_11 +LOAD_IMMEDIATE_eax &STRING_269 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +CALL_IMMEDIATE %FUNCTION_line_error +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_exit +POP_ebx # _process_expression_locals +JUMP %_END_IF_statement_11 +:ELSE_statement_11 +:_END_IF_statement_11 +# Defining local i +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %20 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #i +:WHILE_statement_12 +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_break_locals +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %END_WHILE_statement_12 +# THEN_while_statement_12 +# IF_statement_13 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_statement_13 +JUMP %END_WHILE_statement_12 +JUMP %_END_IF_statement_13 +:ELSE_statement_13 +:_END_IF_statement_13 +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_270 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %WHILE_statement_12 +:END_WHILE_statement_12 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_271 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_break_target +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_272 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_273 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_274 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _recursive_statement_locals +JUMP %_END_IF_statement_10 +:ELSE_statement_10 +# IF_statement_14 +LOAD_IMMEDIATE_eax &STRING_275 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_statement_14 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_276 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_277 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_278 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +JUMP %_END_IF_statement_14 +:ELSE_statement_14 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_expression +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &STRING_279 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_280 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_require_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +:_END_IF_statement_14 +:_END_IF_statement_10 +:_END_IF_statement_9 +:_END_IF_statement_8 +:_END_IF_statement_7 +:_END_IF_statement_6 +:_END_IF_statement_5 +:_END_IF_statement_4 +:_END_IF_statement_3 +:_END_IF_statement_2 +:_END_IF_statement_1 +:_END_IF_statement_0 + +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +RETURN +# Defining function collect_arguments +:FUNCTION_collect_arguments +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +:WHILE_collect_arguments_0 + +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_281 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +XOR_ebx_eax_into_eax +TEST +JUMP_EQ %END_WHILE_collect_arguments_0 + +# THEN_while_collect_arguments_0 + +# Defining local type_size +CALL_IMMEDIATE %FUNCTION_type_name +PUSH_eax #type_size +# IF_collect_arguments_1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %41 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_collect_arguments_1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_collect_arguments_1 +:ELSE_collect_arguments_1 +# IF_collect_arguments_2 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %44 +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %ELSE_collect_arguments_2 +# Defining local a +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression2 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %16 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_sym_declare +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #a +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %16 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +POP_ebx # _recursive_statement_locals +JUMP %_END_IF_collect_arguments_2 +:ELSE_collect_arguments_2 +:_END_IF_collect_arguments_2 +:_END_IF_collect_arguments_1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +# IF_collect_arguments_3 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %44 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_collect_arguments_3 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_collect_arguments_3 +:ELSE_collect_arguments_3 +:_END_IF_collect_arguments_3 +POP_ebx # _recursive_statement_locals +JUMP %WHILE_collect_arguments_0 + +:END_WHILE_collect_arguments_0 + +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +RETURN +# Defining function declare_function +:FUNCTION_declare_function +# Defining local essential +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #essential +LOAD_IMMEDIATE_eax &GLOBAL_current_function +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_current_count +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +STORE_INTEGER +# Defining local func +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %28 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_calloc +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression2 +LOAD_IMMEDIATE_eax &GLOBAL_global_function_list +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_sym_declare +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #func +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %12 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_collect_arguments +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &GLOBAL_global_function_list +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +# IF_declare_function_0 + +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %59 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_declare_function_0 + +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_declare_function_0 + +:ELSE_declare_function_0 + +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_282 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_283 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_284 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_285 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_statement +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# IF_declare_function_1 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_286 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +XOR_ebx_eax_into_eax +TEST +JUMP_EQ %ELSE_declare_function_1 +LOAD_EFFECTIVE_ADDRESS %16 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_287 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_declare_function_1 +:ELSE_declare_function_1 +:_END_IF_declare_function_1 +:_END_IF_declare_function_0 + +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN +# Defining function program +:FUNCTION_program +# Defining local type_size +PUSH_eax #type_size +:WHILE_program_0 + +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETNE +MOVEZBL +TEST +JUMP_EQ %END_WHILE_program_0 + +# THEN_while_program_0 + +:new_type #C goto label +# IF_program_1 +LOAD_IMMEDIATE_eax &STRING_288 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +TEST +JUMP_EQ %ELSE_program_1 +LOAD_IMMEDIATE_eax &GLOBAL_global_constant_list +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_process_expression2 +LOAD_IMMEDIATE_eax &GLOBAL_global_constant_list +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_sym_declare +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_constant_list +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %16 +ADD_ebx_to_eax +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_program_1 +:ELSE_program_1 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +CALL_IMMEDIATE %FUNCTION_type_name +POP_ebx # _common_recursion +STORE_INTEGER +# IF_program_2 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_program_2 +JUMP %new_type +JUMP %_END_IF_program_2 +:ELSE_program_2 +:_END_IF_program_2 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +# IF_program_3 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %59 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_program_3 +LOAD_IMMEDIATE_eax &GLOBAL_global_symbol_list +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_process_expression2 +LOAD_IMMEDIATE_eax &GLOBAL_global_symbol_list +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_sym_declare +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_globals_list +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_289 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %4 +ADD_ebx_to_eax +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_290 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_prepend_string +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_globals_list +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_globals_list +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &STRING_291 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_globals_list +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_emit +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_program_3 +:ELSE_program_3 +# IF_program_4 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %0 +POP_ebx # _common_recursion +ADD_ebx_to_eax +LOAD_BYTE +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %40 +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_program_4 +LOAD_EFFECTIVE_ADDRESS %8 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_declare_function +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_program_4 +:ELSE_program_4 +LOAD_IMMEDIATE_eax &STRING_292 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &STRING_293 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +CALL_IMMEDIATE %FUNCTION_line_error +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_exit +POP_ebx # _process_expression_locals +:_END_IF_program_4 +:_END_IF_program_3 +:_END_IF_program_1 +JUMP %WHILE_program_0 + +:END_WHILE_program_0 + +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _return_result_locals +RETURN +# Defining function recursive_output +:FUNCTION_recursive_output +# IF_recursive_output_0 + +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_recursive_output_0 + +RETURN +JUMP %_END_IF_recursive_output_0 + +:ELSE_recursive_output_0 + +:_END_IF_recursive_output_0 + +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +# looking up offset +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_recursive_output +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +# looking up offset +# -> offset calculation +LOAD_IMMEDIATE_ebx %8 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +RETURN +# Defining function main +:FUNCTION_main +# Defining local DEBUG +LOAD_IMMEDIATE_eax %0 +PUSH_eax #DEBUG +# Defining local in +LOAD_IMMEDIATE_eax %0 +PUSH_eax #in +# Defining local destination_file +LOAD_IMMEDIATE_eax %1 +PUSH_eax #destination_file +# Defining local i +LOAD_IMMEDIATE_eax %1 +PUSH_eax #i +:WHILE_main_0 + +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %24 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETLE +MOVEZBL +TEST +JUMP_EQ %END_WHILE_main_0 + +# THEN_while_main_0 + +# IF_main_1 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %28 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +SAL_eax_Immediate8 !2 +ADD_ebx_to_eax +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_main_1 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_main_1 +:ELSE_main_1 +# IF_main_2 +LOAD_EFFECTIVE_ADDRESS %24 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +SAL_eax_Immediate8 !2 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_294 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %28 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +SAL_eax_Immediate8 !2 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_295 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +OR_eax_ebx +TEST +JUMP_EQ %ELSE_main_2 +# Defining local name +LOAD_EFFECTIVE_ADDRESS %24 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +SAL_eax_Immediate8 !2 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #name +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_296 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_fopen +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# IF_main_3 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_main_3 +LOAD_IMMEDIATE_eax &STRING_297 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &STRING_298 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_exit +POP_ebx # _process_expression_locals +JUMP %_END_IF_main_3 +:ELSE_main_3 +:_END_IF_main_3 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +PUSH_eax #_process_expression2 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_read_all_tokens +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +POP_ebx # _recursive_statement_locals +JUMP %_END_IF_main_2 +:ELSE_main_2 +# IF_main_4 +LOAD_EFFECTIVE_ADDRESS %24 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +SAL_eax_Immediate8 !2 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_299 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %28 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +SAL_eax_Immediate8 !2 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_300 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +OR_eax_ebx +TEST +JUMP_EQ %ELSE_main_4 +LOAD_EFFECTIVE_ADDRESS %4 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %28 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +SAL_eax_Immediate8 !2 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_301 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_fopen +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +# IF_main_5 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_main_5 +LOAD_IMMEDIATE_eax &STRING_302 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %24 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +SAL_eax_Immediate8 !2 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &STRING_303 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_exit +POP_ebx # _process_expression_locals +JUMP %_END_IF_main_5 +:ELSE_main_5 +:_END_IF_main_5 +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %2 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_main_4 +:ELSE_main_4 +# IF_main_6 +LOAD_EFFECTIVE_ADDRESS %24 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +SAL_eax_Immediate8 !2 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_304 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %28 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +SAL_eax_Immediate8 !2 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_305 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +OR_eax_ebx +TEST +JUMP_EQ %ELSE_main_6 +LOAD_EFFECTIVE_ADDRESS %12 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +STORE_INTEGER +LOAD_EFFECTIVE_ADDRESS %0 + +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax %1 +POP_ebx # _common_recursion +ADD_ebx_to_eax +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_main_6 +:ELSE_main_6 +# IF_main_7 +LOAD_EFFECTIVE_ADDRESS %24 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +SAL_eax_Immediate8 !2 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_306 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %28 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +SAL_eax_Immediate8 !2 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_307 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +OR_eax_ebx +TEST +JUMP_EQ %ELSE_main_7 +LOAD_IMMEDIATE_eax &STRING_308 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_exit +POP_ebx # _process_expression_locals +JUMP %_END_IF_main_7 +:ELSE_main_7 +# IF_main_8 +LOAD_EFFECTIVE_ADDRESS %24 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %4 +LOAD_INTEGER +POP_ebx # _common_recursion +SAL_eax_Immediate8 !2 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_309 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %28 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %8 +LOAD_INTEGER +POP_ebx # _common_recursion +SAL_eax_Immediate8 !2 +ADD_ebx_to_eax +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &STRING_310 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_match +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +OR_eax_ebx +TEST +JUMP_EQ %ELSE_main_8 +LOAD_IMMEDIATE_eax &STRING_311 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_exit +POP_ebx # _process_expression_locals +JUMP %_END_IF_main_8 +:ELSE_main_8 +LOAD_IMMEDIATE_eax &STRING_312 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_exit +POP_ebx # _process_expression_locals +:_END_IF_main_8 +:_END_IF_main_7 +:_END_IF_main_6 +:_END_IF_main_4 +:_END_IF_main_2 +:_END_IF_main_1 +JUMP %WHILE_main_0 + +:END_WHILE_main_0 + +# IF_main_9 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_main_9 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +PUSH_eax #_process_expression2 +LOAD_IMMEDIATE_eax &STRING_313 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_read_all_tokens +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +JUMP %_END_IF_main_9 +:ELSE_main_9 +:_END_IF_main_9 +# IF_main_10 +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +POP_ebx # _common_recursion +CMP +SETE +MOVEZBL +TEST +JUMP_EQ %ELSE_main_10 +LOAD_IMMEDIATE_eax &STRING_314 +PUSH_eax #_process_expression1 +LOAD_IMMEDIATE_eax %2 +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_exit +POP_ebx # _process_expression_locals +JUMP %_END_IF_main_10 +:ELSE_main_10 +:_END_IF_main_10 +LOAD_IMMEDIATE_eax &GLOBAL_global_token +PUSH_eax #_common_recursion +LOAD_IMMEDIATE_eax &GLOBAL_global_token +LOAD_INTEGER +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_reverse_list +POP_ebx # _process_expression_locals +POP_ebx # _common_recursion +STORE_INTEGER +CALL_IMMEDIATE %FUNCTION_initialize_types +# Defining local output_list +LOAD_IMMEDIATE_eax %0 +PUSH_eax #_process_expression1 +CALL_IMMEDIATE %FUNCTION_program +POP_ebx # _process_expression_locals +PUSH_eax #output_list +LOAD_IMMEDIATE_eax &STRING_315 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_EFFECTIVE_ADDRESS %0 + +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_recursive_output +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +# IF_main_11 +LOAD_EFFECTIVE_ADDRESS %16 +LOAD_INTEGER +TEST +JUMP_EQ %ELSE_main_11 +LOAD_IMMEDIATE_eax &STRING_316 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +JUMP %_END_IF_main_11 +:ELSE_main_11 +:_END_IF_main_11 +LOAD_IMMEDIATE_eax &STRING_317 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &GLOBAL_globals_list +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_recursive_output +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &STRING_318 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +LOAD_IMMEDIATE_eax &GLOBAL_strings_list +LOAD_INTEGER +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_recursive_output +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +# IF_main_12 +LOAD_IMMEDIATE_eax %1 +PUSH_eax #_common_recursion +LOAD_EFFECTIVE_ADDRESS %20 +LOAD_INTEGER +POP_ebx # _common_recursion +XOR_ebx_eax_into_eax +TEST +JUMP_EQ %ELSE_main_12 +LOAD_IMMEDIATE_eax &STRING_319 +PUSH_eax #_process_expression1 +LOAD_EFFECTIVE_ADDRESS %12 +LOAD_INTEGER +PUSH_eax #_process_expression2 +CALL_IMMEDIATE %FUNCTION_file_print +POP_ebx # _process_expression_locals +POP_ebx # _process_expression_locals +JUMP %_END_IF_main_12 +:ELSE_main_12 +:_END_IF_main_12 +LOAD_IMMEDIATE_eax %0 +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +POP_ebx # _return_result_locals +RETURN + +# Program global variables + +:GLOBAL_global_types +NOP +:GLOBAL_global_token +NOP +:GLOBAL_strings_list +NOP +:GLOBAL_globals_list +NOP +:GLOBAL_input +NOP +:GLOBAL_token +NOP +:GLOBAL_line +NOP +:GLOBAL_file +NOP +:GLOBAL_string_index +NOP +:GLOBAL_member_size +NOP +:GLOBAL_global_symbol_list +NOP +:GLOBAL_global_function_list +NOP +:GLOBAL_global_constant_list +NOP +:GLOBAL_break_locals +NOP +:GLOBAL_current_target +NOP +:GLOBAL_break_target +NOP +:GLOBAL_current_function +NOP +:GLOBAL_current_count +NOP +:GLOBAL_string_num +NOP +:GLOBAL_last_type +NOP + +# Program strings + +:STRING_0 + +"Tried to print non-hex number +" +:STRING_1 +"Unknown escape recieved: " +:STRING_2 +" Unable to process +" +:STRING_3 +"0123456789ABCDEF" +:STRING_4 +"void" +:STRING_5 +"int" +:STRING_6 +"char*" +:STRING_7 +"char" +:STRING_8 +"FILE" +:STRING_9 +"FUNCTION" +:STRING_10 +"unsigned" +:STRING_11 +"ERROR in build_union +Missing { +" +:STRING_12 +"{" +:STRING_13 +"ERROR in build_union +Missing ; +" +:STRING_14 +";" +:STRING_15 +' 45 52 52 4F 52 20 69 6E 20 63 72 65 61 74 65 5F 73 74 72 75 63 74 0A 20 4D 69 73 73 69 6E 67 20 7B 0A 00' +:STRING_16 +"{" +:STRING_17 +"union" +:STRING_18 +' 45 52 52 4F 52 20 69 6E 20 63 72 65 61 74 65 5F 73 74 72 75 63 74 0A 20 4D 69 73 73 69 6E 67 20 3B 0A 00' +:STRING_19 +";" +:STRING_20 +' 45 52 52 4F 52 20 69 6E 20 63 72 65 61 74 65 5F 73 74 72 75 63 74 0A 20 4D 69 73 73 69 6E 67 20 3B 0A 00' +:STRING_21 +";" +:STRING_22 +"struct" +:STRING_23 +"Unknown type " +:STRING_24 +' 0A 00' +:STRING_25 +"In file: " +:STRING_26 +" On line: " +:STRING_27 +"main" +:STRING_28 +"argc" +:STRING_29 +"argv" +:STRING_30 +" does not exist in function " +:STRING_31 +" +" +:STRING_32 +"ERROR in process_expression_list +No ( was found +" +:STRING_33 +"(" +:STRING_34 +"PUSH_eax #_process_expression1 +" +:STRING_35 +"PUSH_eax #_process_expression2 +" +:STRING_36 +"ERROR in process_expression_list +No ) was found +" +:STRING_37 +")" +:STRING_38 +"LOAD_EFFECTIVE_ADDRESS %" +:STRING_39 +" +LOAD_INTEGER +CALL_eax +" +:STRING_40 +"LOAD_EFFECTIVE_ADDRESS %" +:STRING_41 +" +LOAD_INTEGER +CALL_eax +" +:STRING_42 +"CALL_IMMEDIATE %FUNCTION_" +:STRING_43 +"POP_ebx # _process_expression_locals +" +:STRING_44 +"LOAD_IMMEDIATE_eax %" +:STRING_45 +"FUNCTION" +:STRING_46 +"(" +:STRING_47 +"#Loading address of function +LOAD_EFFECTIVE_ADDRESS %" +:STRING_48 +" +LOAD_INTEGER +" +:STRING_49 +"LOAD_EFFECTIVE_ADDRESS %" +:STRING_50 +" +" +:STRING_51 +"=" +:STRING_52 +"LOAD_INTEGER +" +:STRING_53 +"FUNCTION" +:STRING_54 +"(" +:STRING_55 +"#Loading address of function +LOAD_EFFECTIVE_ADDRESS %" +:STRING_56 +" +LOAD_INTEGER +" +:STRING_57 +"LOAD_EFFECTIVE_ADDRESS %" +:STRING_58 +" +" +:STRING_59 +"=" +:STRING_60 +"argv" +:STRING_61 +"LOAD_INTEGER +" +:STRING_62 +"(" +:STRING_63 +"LOAD_IMMEDIATE_eax &FUNCTION_" +:STRING_64 +"LOAD_IMMEDIATE_eax &GLOBAL_" +:STRING_65 +"=" +:STRING_66 +"LOAD_INTEGER +" +:STRING_67 +" is not a defined symbol +" +:STRING_68 +"LOAD_IMMEDIATE_eax %" +:STRING_69 +"Error in Primary expression +Didn't get ) +" +:STRING_70 +")" +:STRING_71 +"LOAD_IMMEDIATE_eax %" +:STRING_72 +" +" +:STRING_73 +"LOAD_IMMEDIATE_eax &STRING_" +:STRING_74 +" +" +:STRING_75 +' 3A 53 54 52 49 4E 47 5F 00' +:STRING_76 +" +" +:STRING_77 +"Recieved " +:STRING_78 +" in primary_expr +" +:STRING_79 +"PUSH_eax #_common_recursion +" +:STRING_80 +"POP_ebx # _common_recursion +" +:STRING_81 +"SAL_eax_Immediate8 !" +:STRING_82 +" +" +:STRING_83 +"ADD_ebx_to_eax +" +:STRING_84 +"=" +:STRING_85 +"LOAD_INTEGER +" +:STRING_86 +"LOAD_BYTE +" +:STRING_87 +"ERROR in postfix_expr +Missing ] +" +:STRING_88 +"]" +:STRING_89 +"->" +:STRING_90 +"# looking up offset +" +:STRING_91 +"ERROR in postfix_expr " +:STRING_92 +"->" +:STRING_93 +" does not exist +" +:STRING_94 +"# -> offset calculation +" +:STRING_95 +"LOAD_IMMEDIATE_ebx %" +:STRING_96 +" +ADD_ebx_to_eax +" +:STRING_97 +"=" +:STRING_98 +"LOAD_INTEGER +" +:STRING_99 +"-" +:STRING_100 +"LOAD_IMMEDIATE_eax %0 +" +:STRING_101 +"SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +" +:STRING_102 +"!" +:STRING_103 +"LOAD_IMMEDIATE_eax %1 +" +:STRING_104 +"XOR_ebx_eax_into_eax +" +:STRING_105 +"sizeof" +:STRING_106 +"ERROR in unary_expr +Missing ( +" +:STRING_107 +"(" +:STRING_108 +"ERROR in unary_expr +Missing ) +" +:STRING_109 +")" +:STRING_110 +"LOAD_IMMEDIATE_eax %" +:STRING_111 +" +" +:STRING_112 +"+" +:STRING_113 +"ADD_ebx_to_eax +" +:STRING_114 +"-" +:STRING_115 +"SUBTRACT_eax_from_ebx_into_ebx +MOVE_ebx_to_eax +" +:STRING_116 +"*" +:STRING_117 +"MULTIPLY_eax_by_ebx_into_eax +" +:STRING_118 +"/" +:STRING_119 +"XCHG_eax_ebx +LOAD_IMMEDIATE_edx %0 +DIVIDE_eax_by_ebx_into_eax +" +:STRING_120 +"%" +:STRING_121 +"XCHG_eax_ebx +LOAD_IMMEDIATE_edx %0 +MODULUS_eax_from_ebx_into_ebx +MOVE_edx_to_eax +" +:STRING_122 +"<<" +:STRING_123 +"COPY_eax_to_ecx +POP_eax +SAL_eax_cl +" +:STRING_124 +">>" +:STRING_125 +"COPY_eax_to_ecx +POP_eax +SAR_eax_cl +" +:STRING_126 +"<" +:STRING_127 +"CMP +SETL +MOVEZBL +" +:STRING_128 +"<=" +:STRING_129 +"CMP +SETLE +MOVEZBL +" +:STRING_130 +">=" +:STRING_131 +"CMP +SETGE +MOVEZBL +" +:STRING_132 +">" +:STRING_133 +"CMP +SETG +MOVEZBL +" +:STRING_134 +"==" +:STRING_135 +"CMP +SETE +MOVEZBL +" +:STRING_136 +"!=" +:STRING_137 +"CMP +SETNE +MOVEZBL +" +:STRING_138 +"AND_eax_ebx +" +:STRING_139 +"OR_eax_ebx +" +:STRING_140 +"XOR_ebx_eax_into_eax +" +:STRING_141 +"]" +:STRING_142 +"STORE_CHAR +" +:STRING_143 +"STORE_INTEGER +" +:STRING_144 +"STORE_INTEGER +" +:STRING_145 +"# Defining local " +:STRING_146 +" +" +:STRING_147 +"ERROR in collect_local +Missing ; +" +:STRING_148 +";" +:STRING_149 +"PUSH_eax #" +:STRING_150 +" +" +:STRING_151 +"# IF_" +:STRING_152 +"_" +:STRING_153 +" +" +:STRING_154 +"ERROR in process_if +MISSING ( +" +:STRING_155 +"(" +:STRING_156 +"TEST +JUMP_EQ %ELSE_" +:STRING_157 +"_" +:STRING_158 +" +" +:STRING_159 +"ERROR in process_if +MISSING ) +" +:STRING_160 +")" +:STRING_161 +"JUMP %_END_IF_" +:STRING_162 +"_" +:STRING_163 +' 0A 3A 45 4C 53 45 5F 00' +:STRING_164 +"_" +:STRING_165 +" +" +:STRING_166 +"else" +:STRING_167 +' 3A 5F 45 4E 44 5F 49 46 5F 00' +:STRING_168 +"_" +:STRING_169 +" +" +:STRING_170 +"FOR_END_" +:STRING_171 +"_" +:STRING_172 +"# FOR_initialization_" +:STRING_173 +"_" +:STRING_174 +" +" +:STRING_175 +"ERROR in process_for +MISSING ( +" +:STRING_176 +"(" +:STRING_177 +";" +:STRING_178 +' 3A 46 4F 52 5F 00' +:STRING_179 +"_" +:STRING_180 +" +" +:STRING_181 +"ERROR in process_for +MISSING ;1 +" +:STRING_182 +";" +:STRING_183 +"TEST +JUMP_EQ %FOR_END_" +:STRING_184 +"_" +:STRING_185 +" +JUMP %FOR_THEN_" +:STRING_186 +"_" +:STRING_187 +' 0A 3A 46 4F 52 5F 49 54 45 52 5F 00' +:STRING_188 +"_" +:STRING_189 +" +" +:STRING_190 +"ERROR in process_for +MISSING ;2 +" +:STRING_191 +";" +:STRING_192 +"JUMP %FOR_" +:STRING_193 +"_" +:STRING_194 +' 0A 3A 46 4F 52 5F 54 48 45 4E 5F 00' +:STRING_195 +"_" +:STRING_196 +" +" +:STRING_197 +"ERROR in process_for +MISSING ) +" +:STRING_198 +")" +:STRING_199 +"JUMP %FOR_ITER_" +:STRING_200 +"_" +:STRING_201 +' 0A 3A 46 4F 52 5F 45 4E 44 5F 00' +:STRING_202 +"_" +:STRING_203 +" +" +:STRING_204 +"ERROR in process_asm +MISSING ( +" +:STRING_205 +"(" +:STRING_206 +" +" +:STRING_207 +"ERROR in process_asm +MISSING ) +" +:STRING_208 +")" +:STRING_209 +"ERROR in process_asm +MISSING ; +" +:STRING_210 +";" +:STRING_211 +"DO_END_" +:STRING_212 +"_" +:STRING_213 +' 3A 44 4F 5F 00' +:STRING_214 +"_" +:STRING_215 +" +" +:STRING_216 +"ERROR in process_do +MISSING while +" +:STRING_217 +"while" +:STRING_218 +"ERROR in process_do +MISSING ( +" +:STRING_219 +"(" +:STRING_220 +"ERROR in process_do +MISSING ) +" +:STRING_221 +")" +:STRING_222 +"ERROR in process_do +MISSING ; +" +:STRING_223 +";" +:STRING_224 +"TEST +JUMP_NE %DO_" +:STRING_225 +"_" +:STRING_226 +' 0A 3A 44 4F 5F 45 4E 44 5F 00' +:STRING_227 +"_" +:STRING_228 +" +" +:STRING_229 +"END_WHILE_" +:STRING_230 +"_" +:STRING_231 +' 3A 57 48 49 4C 45 5F 00' +:STRING_232 +"_" +:STRING_233 +" +" +:STRING_234 +"ERROR in process_while +MISSING ( +" +:STRING_235 +"(" +:STRING_236 +"TEST +JUMP_EQ %END_WHILE_" +:STRING_237 +"_" +:STRING_238 +" +# THEN_while_" +:STRING_239 +"_" +:STRING_240 +" +" +:STRING_241 +"ERROR in process_while +MISSING ) +" +:STRING_242 +")" +:STRING_243 +"JUMP %WHILE_" +:STRING_244 +"_" +:STRING_245 +' 0A 3A 45 4E 44 5F 57 48 49 4C 45 5F 00' +:STRING_246 +"_" +:STRING_247 +" +" +:STRING_248 +"ERROR in return_result +MISSING ; +" +:STRING_249 +";" +:STRING_250 +"POP_ebx # _return_result_locals +" +:STRING_251 +"RETURN +" +:STRING_252 +"}" +:STRING_253 +"RETURN +" +:STRING_254 +"POP_ebx # _recursive_statement_locals +" +:STRING_255 +" #C goto label +" +:STRING_256 +"struct" +:STRING_257 +"if" +:STRING_258 +"do" +:STRING_259 +"while" +:STRING_260 +"for" +:STRING_261 +"asm" +:STRING_262 +"goto" +:STRING_263 +"JUMP %" +:STRING_264 +" +" +:STRING_265 +"ERROR in statement +Missing ; +" +:STRING_266 +";" +:STRING_267 +"return" +:STRING_268 +"break" +:STRING_269 +"Not inside of a loop or case statement" +:STRING_270 +"POP_ebx # break_cleanup_locals +" +:STRING_271 +"JUMP %" +:STRING_272 +" +" +:STRING_273 +"ERROR in statement +Missing ; +" +:STRING_274 +";" +:STRING_275 +"continue" +:STRING_276 +" +#continue statement +" +:STRING_277 +"ERROR in statement +Missing ; +" +:STRING_278 +";" +:STRING_279 +"ERROR in statement +MISSING ; +" +:STRING_280 +";" +:STRING_281 +")" +:STRING_282 +"# Defining function " +:STRING_283 +" +" +:STRING_284 +' 3A 46 55 4E 43 54 49 4F 4E 5F 00' +:STRING_285 +" +" +:STRING_286 +"RETURN +" +:STRING_287 +"RETURN +" +:STRING_288 +"CONSTANT" +:STRING_289 +' 3A 47 4C 4F 42 41 4C 5F 00' +:STRING_290 +" +" +:STRING_291 +"NOP +" +:STRING_292 +"Recieved " +:STRING_293 +" in program +" +:STRING_294 +"-f" +:STRING_295 +"--file" +:STRING_296 +"r" +:STRING_297 +"Unable to open for reading file: " +:STRING_298 +' 0A 20 41 62 6F 72 74 69 6E 67 20 74 6F 20 61 76 6F 69 64 20 70 72 6F 62 6C 65 6D 73 0A 00' +:STRING_299 +"-o" +:STRING_300 +"--output" +:STRING_301 +"w" +:STRING_302 +"Unable to open for writing file: " +:STRING_303 +' 0A 20 41 62 6F 72 74 69 6E 67 20 74 6F 20 61 76 6F 69 64 20 70 72 6F 62 6C 65 6D 73 0A 00' +:STRING_304 +"-g" +:STRING_305 +"--debug" +:STRING_306 +"-h" +:STRING_307 +"--help" +:STRING_308 +' 20 2D 66 20 69 6E 70 75 74 20 66 69 6C 65 0A 20 2D 6F 20 6F 75 74 70 75 74 20 66 69 6C 65 0A 20 2D 2D 68 65 6C 70 20 66 6F 72 20 74 68 69 73 20 6D 65 73 73 61 67 65 0A 20 2D 2D 76 65 72 73 69 6F 6E 20 66 6F 72 20 66 69 6C 65 20 76 65 72 73 69 6F 6E 0A 00' +:STRING_309 +"-V" +:STRING_310 +"--version" +:STRING_311 +' 42 61 73 69 63 20 74 65 73 74 20 76 65 72 73 69 6F 6E 20 30 2E 30 2E 30 2E 31 61 0A 00' +:STRING_312 +' 55 4E 4B 4E 4F 57 4E 20 41 52 47 55 4D 45 4E 54 0A 00' +:STRING_313 +"STDIN" +:STRING_314 +"Either no input files were given or they were empty +" +:STRING_315 +" +# Core program + +" +:STRING_316 +' 0A 3A 45 4C 46 5F 64 61 74 61 0A 00' +:STRING_317 +" +# Program global variables + +" +:STRING_318 +" +# Program strings + +" +:STRING_319 +' 0A 3A 45 4C 46 5F 65 6E 64 0A 00' + +:ELF_end diff --git a/test/test100/hello.sh b/test/test100/hello.sh index 11479e8..74cb65a 100755 --- a/test/test100/hello.sh +++ b/test/test100/hello.sh @@ -1,6 +1,25 @@ #! /bin/sh set -ex # Build the test +if [ -f bin/M2-Planet ] +then +bin/M2-Planet -f test/functions/file.c \ + -f test/functions/malloc.c \ + -f test/functions/calloc.c \ + -f test/functions/exit.c \ + -f test/functions/match.c \ + -f test/functions/numerate_number.c \ + -f test/functions/file_print.c \ + -f cc.h \ + -f test/functions/string.c \ + -f cc_reader.c \ + -f cc_strings.c \ + -f cc_types.c \ + -f functions/require_match.c \ + -f cc_core.c \ + -f cc.c \ + -o test/test100/cc.M1 || exit 1 +else bin/M2-Planet-gcc -f test/functions/file.c \ -f test/functions/malloc.c \ -f test/functions/calloc.c \ @@ -17,6 +36,7 @@ bin/M2-Planet-gcc -f test/functions/file.c \ -f cc_core.c \ -f cc.c \ -o test/test100/cc.M1 || exit 1 +fi # Macro assemble with libc written in M1-Macro M1 -f test/common_x86/x86_defs.M1 \