X-Git-Url: https://code.kerkeslager.com/?p=fur;a=blobdiff_plain;f=desugaring.py;fp=desugaring.py;h=28d1a7820748b4ae463d1dc2b8aab73e3f47cdd7;hp=47dfe6fd1e5961264776b393c4da5510e3860e25;hb=b7a244b6319f5c770582283097f6184e5a6ec192;hpb=c45c61444aae3df328e4dc84acf7e31e58a1f64e diff --git a/desugaring.py b/desugaring.py index 47dfe6f..28d1a78 100644 --- a/desugaring.py +++ b/desugaring.py @@ -2,6 +2,14 @@ import collections import parsing +DesugaredBuiltinExpression = collections.namedtuple( + 'DesugaredBuiltinExpression', + ( + 'metadata', + 'symbol', + ), +) + DesugaredFunctionCallExpression = collections.namedtuple( 'DesugaredFunctionCallExpression', ( @@ -179,7 +187,7 @@ def desugar_infix_expression(expression): return DesugaredFunctionCallExpression( metadata=expression.metadata, - function=DesugaredSymbolExpression( + function=DesugaredBuiltinExpression( metadata=expression.metadata, symbol=function, ), @@ -203,7 +211,7 @@ def desugar_lambda_expression(expression): def desugar_list_item_expression(expression): return DesugaredFunctionCallExpression( metadata=expression.metadata, - function=DesugaredSymbolExpression( + function=DesugaredBuiltinExpression( metadata=expression.metadata, symbol='__get__', ), @@ -221,7 +229,7 @@ def desugar_list_literal_expression(expression): def desugar_negation_expression(expression): return DesugaredFunctionCallExpression( metadata=expression.metadata, - function=DesugaredSymbolExpression( + function=DesugaredBuiltinExpression( metadata=expression.metadata, symbol='__negate__', ),