@@ -202,10 +202,7 @@ writing a parser from scratch).
202
202
The Verilator program also contains a very similar front end as
203
203
Verilog-Perl and can create XML output showing the abstract syntax tree.
204
204
Verilator also understands how to elaborate and connect complex pins and
205
- types, but supports mostly only the synthesis subset of SystemVerilog.
206
-
207
- If you're looking to parse only synthesizable code this is the recommended
208
- route.
205
+ types, but supports a subset of SystemVerilog.
209
206
210
207
=item Verilog-Mode for Emacs
211
208
@@ -215,6 +212,34 @@ a better solution to this problem, as it results in completely portable
215
212
code; the program (Verilog-Mode) isn't needed for others to update the
216
213
design. It's also in very common usage, including by many IP providers.
217
214
215
+ =item slang
216
+
217
+ SystemVerilog Language Services (slang) L<https://sv-lang.com> provides
218
+ various components for lexing, parsing, type checking, and elaborating
219
+ SystemVerilog code. It's fast and supports UVM.
220
+
221
+ =item Surelog
222
+
223
+ Surelog L<https://github.com/chipsalliance/Surelog> is a SystemVerilog 2017
224
+ Pre-processor, Parser, Elaborator, and UHDM Compiler. It handles UVM and
225
+ provides an IEEE Design/TB C/C++ VPI and Python AST API.
226
+
227
+ =item SV-Parser
228
+
229
+ Sv-parser L<https://github.com/dalance/sv-parser> is a SystemVerilog parser
230
+ library fully compliant with IEEE 1800-2017. that returns a concrete
231
+ syntax tree.
232
+
233
+ =item Tree-Sitter-Verilog
234
+
235
+ Tree-Sitter-Verilog L<https://github.com/tree-sitter/tree-sitter-verilog>
236
+ is a verilog grammar for the JavaScript tree-sitter parser.
237
+
238
+ =item Verible
239
+
240
+ Verible L<https://github.com/chipsalliance/verible> parses IEEE 1800-2017,
241
+ with the ability to parse un-preprocessed source files.
242
+
218
243
=back
219
244
220
245
=head1 INSTALLATION
0 commit comments