slang is a SystemVerilog compiler frontend and language-services toolkit.
It lexes, parses, type-checks and elaborates SystemVerilog projects, exposing the resulting representation both through its command-line tools and as a reusable software library. The compiler includes static-analysis and lint diagnostics, but its scope is considerably broader than a conventional linter: the same frontend can support editors, refactoring software, synthesis tools and other applications that need a detailed understanding of SystemVerilog source. Its ability to continue parsing imperfect source also makes the infrastructure useful for interactive development tools where files are frequently incomplete while being edited.
This is free and open source software.
Key Features
- Parses, type-checks and elaborates SystemVerilog source using a standards-focused compiler frontend.
- Provides command-line linting and static-analysis diagnostics covering a wide range of potentially problematic constructs.
- Offers configurable warning groups together with controls for enabling, disabling and promoting individual diagnostics.
- Supports source comments that selectively disable and re-enable lint warnings around intentional constructs.
- Can emit diagnostics in JSON form for integration with automated tools and development environments.
- Provides access to the elaborated abstract syntax tree for source inspection and custom analysis.
- Can serialise project AST information as JSON for use by external programs.
- Includes Python bindings for applications that need programmatic access to SystemVerilog parsing and compilation facilities.
- Is designed to remain useful on incomplete or erroneous source, an important property for editor-based tooling.
- Can act as a preprocessor frontend for software that performs later stages of an electronic design workflow.
- Supports source-code introspection, generation and refactoring applications through its reusable library interfaces.
- Includes additional tooling built on the compiler infrastructure for analysing and improving SystemVerilog projects.
Website: github.com/MikePopoloski/slang
Support:
Developer: Michael Popoloski
License: MIT License
slang is written in C++. Learn C++ with our recommended free books and free tutorials.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |


Please read our Comment Policy before commenting.