X-Git-Url: https://code.kerkeslager.com/?a=blobdiff_plain;f=transformation.py;h=6a5354bc94793c0ba60bf1cd2ed39e425f06988e;hb=ad9360cb4b392987edff8e3a650a2fbbc51f7046;hp=09a9b771d5b5bf12376a45ba206fae5b80710c07;hpb=3769b766b898b95fd699e3cb6d005576a4c22086;p=fur diff --git a/transformation.py b/transformation.py index 09a9b77..6a5354b 100644 --- a/transformation.py +++ b/transformation.py @@ -62,8 +62,6 @@ CFunctionCallForFurInfixOperator = collections.namedtuple( 'CFunctionCallForFurInfixOperator', [ 'name', - 'left', - 'right', ], ) @@ -240,34 +238,19 @@ FUR_INFIX_OPERATOR_TO_C_INFIX_OPERATOR = { '>': CInfixDeclaration(name='greaterThan', in_type='integer', out_type='boolean', operator='>'), } -def transform_comparison_level_expression(accumulators, expression): - accumulators.operator_set.add(FUR_INFIX_OPERATOR_TO_C_INFIX_OPERATOR[expression.operator]) - - return CFunctionCallForFurInfixOperator( - name=FUR_INFIX_OPERATOR_TO_C_INFIX_OPERATOR[expression.operator].name, - left=transform_expression(accumulators, expression.left), - right=transform_expression(accumulators, expression.right), - ) - def transform_infix_operator_without_c_equivalent(accumulators, expression): return CFunctionCallForFurInfixOperator( name='concatenate', - left=transform_expression(accumulators, expression.left), - right=transform_expression(accumulators, expression.right), ) + def transform_infix_expression(accumulators, expression): if expression.operator in FUR_INFIX_OPERATOR_TO_C_FUNCTION: return transform_infix_operator_without_c_equivalent(accumulators, expression) - if expression.order == 'comparison_level': - return transform_comparison_level_expression(accumulators, expression) - accumulators.operator_set.add(FUR_INFIX_OPERATOR_TO_C_INFIX_OPERATOR[expression.operator]) return CFunctionCallForFurInfixOperator( name=FUR_INFIX_OPERATOR_TO_C_INFIX_OPERATOR[expression.operator].name, - left=transform_expression(accumulators, expression.left), - right=transform_expression(accumulators, expression.right), ) def transform_integer_literal_expression(accumulators, expression):