X-Git-Url: https://code.kerkeslager.com/?p=fur;a=blobdiff_plain;f=normalization.py;h=fbe3d04835eaa753eab4aee4b71c6c29cb498791;hp=ca6f57f755dd004c9a40892e6b79d00e0c9554fe;hb=151f60b119247efb1bcf05a664f4324b71fac782;hpb=3297817843cd6bd087505a70d8e108f1baa35cff diff --git a/normalization.py b/normalization.py index ca6f57f..fbe3d04 100644 --- a/normalization.py +++ b/normalization.py @@ -293,14 +293,23 @@ def normalize_function_call_expression(counter, expression): function_expression = NormalVariableExpression(variable=function_variable) counter += 1 + result_variable = '${}'.format(counter) + + prestatements.append( + NormalVariableInitializationStatement( + variable=result_variable, + expression=NormalFunctionCallExpression( + function_expression=function_expression, + argument_count=len(arguments), + argument_items=NormalVariableExpression(variable=arguments_variable), + ), + ) + ) + return ( - counter, + counter + 1, tuple(prestatements), - NormalFunctionCallExpression( - function_expression=function_expression, - argument_count=len(arguments), - argument_items=NormalVariableExpression(variable=arguments_variable), - ), + NormalVariableExpression(variable=result_variable), ) def normalize_basic_infix_operation(counter, expression):