M2-Planet/seed.M1

16442 lines
362 KiB
Plaintext

# 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