X-Git-Url: https://code.kerkeslager.com/?p=fur;a=blobdiff_plain;f=conversion.py;fp=conversion.py;h=29a40d7d330d4450036e63cb9b88c6befc40cf1b;hp=04cbdab94f4124bb90fabad43b302d115879b109;hb=b7a244b6319f5c770582283097f6184e5a6ec192;hpb=c45c61444aae3df328e4dc84acf7e31e58a1f64e diff --git a/conversion.py b/conversion.py index 04cbdab..29a40d7 100644 --- a/conversion.py +++ b/conversion.py @@ -2,6 +2,13 @@ import collections import normalization +CPSBuiltinExpression = collections.namedtuple( + 'CPSBuiltinExpression', + ( + 'symbol', + ), +) + CPSFunctionCallExpression = collections.namedtuple( 'CPSFunctionCallExpression', ( @@ -131,6 +138,9 @@ CPSProgram = collections.namedtuple( ), ) +def convert_builtin_expression(expression): + return CPSBuiltinExpression(symbol=expression.symbol) + def convert_function_call_expression(expression): return CPSFunctionCallExpression( metadata=expression.metadata, @@ -170,6 +180,7 @@ def convert_variable_expression(expression): def convert_expression(expression): return { + normalization.NormalBuiltinExpression: convert_builtin_expression, normalization.NormalFunctionCallExpression: convert_function_call_expression, normalization.NormalIfElseExpression: convert_if_else_expression, normalization.NormalIntegerLiteralExpression: convert_integer_literal_expression,