Metadata-Version: 2.4
Name: tree-sitter-systemverilog
Version: 0.2.1
Summary: SystemVerilog 1800-2023 Parser
Author-email: "Gonzalo M. Larumbe" <gonzalomlarumbe@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/gmlarumbe/tree-sitter-systemverilog
Project-URL: Funding, https://github.com/sponsors/gmlarumbe
Keywords: incremental,parsing,tree-sitter,systemverilog
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Compilers
Classifier: Topic :: Text Processing :: Linguistic
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: core
Requires-Dist: tree-sitter~=0.24; extra == "core"
Dynamic: license-file

[![CI](https://github.com/gmlarumbe/tree-sitter-systemverilog/actions/workflows/ci.yml/badge.svg)](https://github.com/gmlarumbe/tree-sitter-systemverilog/actions/workflows/ci.yml)
[![CI-Bindings](https://github.com/gmlarumbe/tree-sitter-systemverilog/actions/workflows/ci_bind.yml/badge.svg)](https://github.com/gmlarumbe/tree-sitter-systemverilog/actions/workflows/ci_bind.yml)

# tree-sitter-systemverilog

Full SystemVerilog IEEE 1800-2023 grammar for [tree-sitter](https://github.com/tree-sitter/tree-sitter).

# Differences with [tree-sitter-verilog](https://github.com/tree-sitter/tree-sitter-verilog)

## Pros ##
- Full implementation of the latest SystemVerilog standard (IEEE 1800-2023)
- Robust and reliable: [sv-tests results](https://chipsalliance.github.io/sv-tests-results/)
- Actively maintained
- Thoroughly tested (~2000 tests, including the whole UVM 2.0 and some open source projects)
- Implements node fields
- Supports parsing of code snippets (e.g., always block outside of a module)
- Basic preprocessing capabilities
- Currently used on Emacs `verilog-ts-mode` and `nvim systemverilog` plugin

## Cons
- Generated parser is double the size
  - Generation of the compiled grammar takes longer (this only needs to be done once)

## References

- https://en.wikipedia.org/wiki/Verilog
- http://tree-sitter.github.io/tree-sitter/creating-parsers

