Skip to content

Commit 72247cd

Browse files
committed
Add support for veriblelint
1 parent 36b4f8d commit 72247cd

File tree

3 files changed

+27
-1
lines changed

3 files changed

+27
-1
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ verilator ... 2>&1 | eda-log-parser -t verilator -f json
1717

1818
Supported tools:
1919

20+
- `veriblelint`: VeribleLintLogParser
2021
- `verilator`: Verilator
2122
- `vivado`: Xilinx Vivado
2223

edalogparser/main.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
import sys
22
import argparse
33

4+
from .verible import VeribleLintLogParser
45
from .verilator import VerilatorLogParser
56
from .vivado import VivadoLogParser
67

7-
tools = { "verilator": VerilatorLogParser, "vivado": VivadoLogParser }
8+
tools = { "veriblelint": VeribleLintLogParser,
9+
"verilator": VerilatorLogParser,
10+
"vivado": VivadoLogParser }
811

912
def main():
1013
parser = argparse.ArgumentParser()

edalogparser/verible.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from .base import LogParser, LogEntry, Log
2+
import re
3+
4+
class VeribleLintLogParser(LogParser):
5+
regex = re.compile(r"^(.*?):(\d+):(\d+): (.*) \[Style: (.*?)\]")
6+
7+
def __init__(self):
8+
super().__init__()
9+
10+
def parse(self, log):
11+
entries = Log()
12+
for line in log:
13+
m = self.regex.match(line)
14+
if m:
15+
severity = "warning"
16+
msg = m.group(4)
17+
file = m.group(1)
18+
line = m.group(2)
19+
col = m.group(3)
20+
code = m.group(5)
21+
entries.append(LogEntry(severity=severity, msg=msg, file=file, line=line, col=col, code=code))
22+
return entries

0 commit comments

Comments
 (0)