Fix up param regular expression to not duplicated the escaping \ and to pair up ...
authorGabe Black <gblack@eecs.umich.edu>
Thu, 14 Jun 2007 13:45:37 +0000 (13:45 +0000)
committerGabe Black <gblack@eecs.umich.edu>
Thu, 14 Jun 2007 13:45:37 +0000 (13:45 +0000)
--HG--
extra : convert_revision : b4b790fb8cfd2a9e28568cf978eca70b1c65806b

src/arch/micro_asm.py

index 307c9118b0794ff8db1ae82d69af767915ba6bc3..a8a63e1f80ca920e43f3c3ee4f10c7008011404b 100644 (file)
@@ -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