From: Gabe Black Date: Tue, 7 Jun 2011 07:46:54 +0000 (-0700) Subject: ISA parser: Loosen the regular expressions matching filenames. X-Git-Tag: stable_2012_02_02~285 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ab3704170e4b9e3f3ece995d6209c353a463a4a1;p=gem5.git 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. --- diff --git a/src/arch/isa_parser.py b/src/arch/isa_parser.py index 947742354..6cc113142 100755 --- a/src/arch/isa_parser.py +++ b/src/arch/isa_parser.py @@ -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[\w/.-]*)".*$', + includeRE = re.compile(r'^\s*##include\s+"(?P[^"]*)".*$', re.MULTILINE) def replace_include(self, matchobj, dirname):