4 def line_ref(dir, filename
, pattern
):
5 with
open(dir + "/src/" + filename
) as file:
6 if isinstance(pattern
, str):
7 pattern_re
= re
.compile(re
.escape(pattern
))
10 pattern
= pattern
.pattern
12 for number
, line
in enumerate(file, 1):
13 if pattern_re
.search(line
):
14 # Needs to match source locations for both verilog frontends
15 return fr
"{filename}:(?:{number}|\d+.\d+-{number}.\d+)"
17 raise RuntimeError("%s: pattern `%s` not found" % (filename
, pattern
))