From d265c9951f79e544a5d5cedbba6810feff812cc7 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Thu, 14 Jun 2007 13:45:37 +0000 Subject: Fix up param regular expression to not duplicated the escaping \ and to pair up \s correctly. --HG-- extra : convert_revision : b4b790fb8cfd2a9e28568cf978eca70b1c65806b --- src/arch/micro_asm.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/arch/micro_asm.py b/src/arch/micro_asm.py index 307c9118b..a8a63e1f8 100644 --- a/src/arch/micro_asm.py +++ b/src/arch/micro_asm.py @@ -232,8 +232,15 @@ def t_ANY_ID(t): # Parameters are a string of text which don't contain an unescaped statement # statement terminator, ie a newline or semi colon. def t_params_PARAMS(t): - r'([^\n;]|((?<=\\)[\n;]))+' + r'([^\n;\\]|(\\[\n;\\]))+' t.lineno += t.value.count('\n') + unescapeParamsRE = re.compile(r'(\\[\n;\\])') + def unescapeParams(mo): + val = mo.group(0) + print "About to sub %s for %s" % (val[1], val) + return val[1] + print "Looking for matches in %s" % t.value + t.value = unescapeParamsRE.sub(unescapeParams, t.value) t.lexer.begin('asm') return t -- cgit v1.2.3