X-Git-Url: https://code.kerkeslager.com/?p=fur;a=blobdiff_plain;f=crossplatform_ir_generation.py;fp=crossplatform_ir_generation.py;h=7f8a6ec40f6ada6b26b9448e90273c65be053ea5;hp=fad62225667612884085be3b6ae4b094f4fdae05;hb=909476f4bdcdaea7d5724019d2fb46ec304cc755;hpb=f378cbf85e3dbd26d5a97b6ac9b1aeb0811ecf74 diff --git a/crossplatform_ir_generation.py b/crossplatform_ir_generation.py index fad6222..7f8a6ec 100644 --- a/crossplatform_ir_generation.py +++ b/crossplatform_ir_generation.py @@ -60,13 +60,18 @@ def generate_integer_literal_expression(counters, expression): return referenced_entry_list, instruction_list +def escape_name(name): + return name.replace('$','$$').replace('_','$') + def generate_lambda_expression(counters, expression): - if expression.name is None or 'lambda' in expression.name.lower(): - import ipdb; ipdb.set_trace() + if expression.name is None: + name = '__lambda__' + else: + name = escape_name(expression.name) - name_counter = counters.get(expression.name, 0) + name_counter = counters.get(name, 0) counters[expression.name] = name_counter + 1 - label = '{}${}'.format(expression.name, name_counter) + label = '{}${}'.format(name, name_counter) referenced_entry_list_list = [] instruction_list_list = []