items=tuple(arguments),
))
+ counter, function_prestatements, function_expression = normalize_expression(
+ counter,
+ expression.function,
+ )
+
+ for ps in function_prestatements:
+ prestatements.append(ps)
+
return (
counter,
tuple(prestatements),
NormalFunctionCallExpression(
- function=expression.function, # TODO Normalize the function
+ function=function_expression,
argument_count=len(arguments),
argument_items=NormalVariableExpression(variable=arguments_variable),
),
NormalNegationExpression(internal_expression=NormalVariableExpression(variable=internal_variable)),
)
-def normalize_parenthesized_expression(counter, expression):
- return normalize_expression(counter, expression.internal)
-
def normalize_expression(counter, expression):
return {
NormalInfixExpression: fake_normalization,
parsing.FurInfixExpression: normalize_infix_expression,
parsing.FurIntegerLiteralExpression: fake_normalization,
parsing.FurNegationExpression: normalize_negation_expression,
- parsing.FurParenthesizedExpression: normalize_parenthesized_expression,
parsing.FurStringLiteralExpression: fake_normalization,
parsing.FurSymbolExpression: fake_normalization,
}[type(expression)](counter, expression)