summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arch/micro_asm.py9
1 files changed, 8 insertions, 1 deletions
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