Skip to content

Repository files navigation

PSSParser

This project provides a ANTLR4-based parser for the Accellera PSS language. It also provides an AST (data model) for processing the result of the parser.

Build Status

Agent skills

The wheel ships agent skills that teach a coding agent to use pssparser: pssparser (check and lint PSS), pssparser-checkers (write lint checks) and pssparser-api (build tools on the Python API). They are registered in the agent.skills entry-point group, so ivpm update installs them into .claude/skills/ and the other agent directories. The sources are in skills/, with pssparser-dev, a fourth skill for work on pssparser itself that is not shipped.

Checker Plug-ins

pssparser supports a plug-in system for custom Python-based checkers that run after a successful parse and link. Plug-ins can be contributed by any installed Python package via the pssparser.checkers entry_points group, or loaded on the fly with --load-checker MODULE:CLASS.

# List all registered checkers
pssparser --list-checkers

# List all marker IDs (built-in + plug-in)
pssparser --list-markers

# Describe a specific marker
pssparser --describe PSS001

# Run only a specific checker
pssparser --checker naming-convention model.pss

# Load and run a local checker (no install needed)
pssparser --load-checker myproject.rules:StyleChecker model.pss

See docs/checker_plugin_guide.rst for a full guide to writing and registering checker plug-ins.

About

ANTLR-based implementation of an Accellera PSS language parser with C++ and Python interfaces

Topics

Resources

Code of conduct

Contributing

Stars

13 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages