Verible
Verible is a suite of SystemVerilog developer tools
...In doing so, it can be adapted to parse preprocessed source files, which is what real compilers and toolchains require. The spirit of the project is that no-one should ever have to develop a SystemVerilog parser for their own application, because developing a standard-compliant parser is an enormous task due to the syntactic complexity of the language. Verible's parser is also regularly tested against an ever-growing suite of (tool-independent) language compliance tests. A lesser (but notable) objective is that the language-agnostic components of Verible be usable for rapidly developing language support tools for other languages.