ISA parser: Loosen the regular expressions matching filenames.

The regular expressions matching filenames in the ##include directives and the
internally generated ##newfile directives where only looking for filenames
composed of alpha numeric characters, periods, and dashes. In Unix/Linux, the
rules for what characters can be in a filename are much looser than that. This
change replaces those expressions with ones that look for anything other than
a quote character. Technically quote characters are allowed as well so we
should allow escaping them somehow, but the additional complexity probably
isn't worth it.
This commit is contained in:
Gabe Black 2011-06-07 00:46:54 -07:00
parent a59a143a25
commit ab3704170e

View file

@ -1215,7 +1215,7 @@ class ISAParser(Grammar):
return t
def t_NEWFILE(self, t):
r'^\#\#newfile\s+"[\w/.-]*"'
r'^\#\#newfile\s+"[^"]*"'
self.fileNameStack.push((t.value[11:-1], t.lexer.lineno))
t.lexer.lineno = 0
@ -1998,7 +1998,7 @@ StaticInstPtr
f.close()
# This regular expression matches '##include' directives
includeRE = re.compile(r'^\s*##include\s+"(?P<filename>[\w/.-]*)".*$',
includeRE = re.compile(r'^\s*##include\s+"(?P<filename>[^"]*)".*$',
re.MULTILINE)
def replace_include(self, matchobj, dirname):