PP_SV is a pretty printer designed to format SystemVerilog code according to a unified styling standard. It operates through syntax analysis using the Slang library. By constructing a Concrete Syntax Tree (CST), PP_SV completely reconstructs the code, ensuring readability and consistent style throughout the entire codebase.
The project uses git submodules for dependencies. To clone it correctly, run:
git clone --recurse-submodules https://github.com/g4rry1/PP_SV.gitIf you've already cloned the project without submodules:
git submodule update --init --recursivemkdir build && cd build
cmake ..
cmake --build . (or make)After successful build, run:
./my_project [path to SystemVerilog file]If you don't have it installed, run:
sudo apt-get install libgtest-dev./build/run_testsThe project uses the following libraries as submodules:
| Library | Purpose |
|---|---|
| slang | SystemVerilog processing library |
To update dependencies to the latest versions:
git submodule update --remote --recursiveIf you encounter build errors related to dependencies:
git submodule deinit --all
git submodule update --init --recursive