X-Git-Url: https://code.kerkeslager.com/?p=fur;a=blobdiff_plain;f=transformation.py;h=56b61f323c50faefb541308899a35dbf5164bc96;hp=eb6d9cbe66805da3e9636be50262b2d2d99e1134;hb=68eb624cc15463008b9ed38e17315e9a1f8bdeb0;hpb=3a076cfd2c46c9f3b51815facd613445722a340b diff --git a/transformation.py b/transformation.py index eb6d9cb..56b61f3 100644 --- a/transformation.py +++ b/transformation.py @@ -1,7 +1,7 @@ import collections +import conversion import normalization -import parsing # TODO Remove this import, as we should be normalizing everything before it gets here CIntegerLiteral = collections.namedtuple( 'CIntegerLiteral', @@ -157,7 +157,7 @@ BUILTINS = { } def transform_variable_expression(accumulators, expression): - assert isinstance(expression, normalization.NormalVariableExpression) + assert isinstance(expression, conversion.CPSVariableExpression) return CVariableExpression(variable=expression.variable) def transform_string_literal_expression(accumulators, expression): @@ -236,14 +236,14 @@ def transform_list_append_statement(accumulators, expression): def transform_expression(accumulators, expression): return { - normalization.NormalFunctionCallExpression: transform_function_call_expression, - normalization.NormalIntegerLiteralExpression: transform_integer_literal_expression, - normalization.NormalListConstructExpression: transform_list_construct_expression, + conversion.CPSFunctionCallExpression: transform_function_call_expression, + conversion.CPSIntegerLiteralExpression: transform_integer_literal_expression, + conversion.CPSListConstructExpression: transform_list_construct_expression, normalization.NormalListGetExpression: transform_list_get_expression, - normalization.NormalStructureLiteralExpression: transform_structure_literal_expression, - normalization.NormalStringLiteralExpression: transform_string_literal_expression, - normalization.NormalSymbolExpression: transform_symbol_expression, - normalization.NormalVariableExpression: transform_variable_expression, + conversion.CPSStructureLiteralExpression: transform_structure_literal_expression, + conversion.CPSStringLiteralExpression: transform_string_literal_expression, + conversion.CPSSymbolExpression: transform_symbol_expression, + conversion.CPSVariableExpression: transform_variable_expression, }[type(expression)](accumulators, expression) def transform_symbol_assignment_statement(accumulators, assignment_statement): @@ -338,16 +338,16 @@ def transform_push_statement(accumulators, statement): def transform_statement(accumulators, statement): return { - normalization.NormalArrayVariableInitializationStatement: transform_array_variable_initialization_statement, - normalization.NormalAssignmentStatement: transform_symbol_assignment_statement, - normalization.NormalExpressionStatement: transform_expression_statement, - normalization.NormalFunctionDefinitionStatement: transform_function_definition_statement, - normalization.NormalIfElseStatement: transform_if_else_statement, - normalization.NormalListAppendStatement: transform_list_append_statement, - normalization.NormalPushStatement: transform_push_statement, - normalization.NormalSymbolArrayVariableInitializationStatement: transform_symbol_array_variable_initialization_statement, - normalization.NormalVariableInitializationStatement: transform_variable_initialization_statement, - normalization.NormalVariableReassignmentStatement: transform_variable_reassignment_statement, + conversion.CPSArrayVariableInitializationStatement: transform_array_variable_initialization_statement, + conversion.CPSAssignmentStatement: transform_symbol_assignment_statement, + conversion.CPSExpressionStatement: transform_expression_statement, + conversion.CPSFunctionDefinitionStatement: transform_function_definition_statement, + conversion.CPSIfElseStatement: transform_if_else_statement, + conversion.CPSListAppendStatement: transform_list_append_statement, + conversion.CPSPushStatement: transform_push_statement, + conversion.CPSSymbolArrayVariableInitializationStatement: transform_symbol_array_variable_initialization_statement, + conversion.CPSVariableInitializationStatement: transform_variable_initialization_statement, + conversion.CPSVariableReassignmentStatement: transform_variable_reassignment_statement, }[type(statement)](accumulators, statement)