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:
parent
a59a143a25
commit
ab3704170e
1 changed files with 2 additions and 2 deletions
|
@ -1215,7 +1215,7 @@ class ISAParser(Grammar):
|
||||||
return t
|
return t
|
||||||
|
|
||||||
def t_NEWFILE(self, t):
|
def t_NEWFILE(self, t):
|
||||||
r'^\#\#newfile\s+"[\w/.-]*"'
|
r'^\#\#newfile\s+"[^"]*"'
|
||||||
self.fileNameStack.push((t.value[11:-1], t.lexer.lineno))
|
self.fileNameStack.push((t.value[11:-1], t.lexer.lineno))
|
||||||
t.lexer.lineno = 0
|
t.lexer.lineno = 0
|
||||||
|
|
||||||
|
@ -1998,7 +1998,7 @@ StaticInstPtr
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
# This regular expression matches '##include' directives
|
# 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)
|
re.MULTILINE)
|
||||||
|
|
||||||
def replace_include(self, matchobj, dirname):
|
def replace_include(self, matchobj, dirname):
|
||||||
|
|
Loading…
Reference in a new issue