Skip to main content

VHDL grammar for tree-sitter

Project description

Tree-sitter-vhdl

CI Fuzz matrix pypi

A VHDL parser for syntax highlighting.

References

Screenshots

Neovim, using nvim-treesitter and a Catppuccin colour scheme:

Screenshot

Other colour schemes

Neovim, using nvim-treesitter and a Tokyo Night colour scheme:

TokyoNight

Neovim, using nvim-treesitter and a One Dark colour scheme:

OneDark

If you'd like your favourite colour scheme to be listed here, issue a PR with a new screenshot of the screenshot example in the same style and composition as the other screenshots.

History

This version started off as a fork of alemuller/tree-sitter-vhdl, but ended up as a complete rewrite of the parser and highlighting scripts. It has very little in common with the original.

Limitations

This parser uses a simplified grammar, because the full formal grammar in the VHDL standard is highly ambiguous without compiling the entire code-base into a symbol table. In many cases, invalid syntax will parse into a valid tree.

For the same reason, there might be cases where valid syntax does not map to a valid tree. In this case, please log a bug report.

In addition, the following features are not implemented, and are considered outside the scope of this project.

  • IEEE Property Specification Language
  • VHDL Procedural Interface

Neovim Setup Process

This parser has been merged into the official nvim-treesitter, so it should work out of the box after adding it to the list of languages to install.

Helix Setup Process

This parser has been merged into the official Helix repo, so it should work out of the box.

Building

  • Follow the instructions here to setup your development environment.
  • Run npm install --save-dev tree-sitter-cli
  • Add node_modules/.bin to your environment path
  • From within the autogen directory, run py gen_token_trie.py (only required after updating the token lists within autogen)
  • Run tree-sitter generate
  • Run tree-sitter test

Contributing

Contributions are welcome. Read Contributing.md for more information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tree_sitter_vhdl-1.4.0.tar.gz (393.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

tree_sitter_vhdl-1.4.0-cp310-abi3-win_arm64.whl (200.0 kB view details)

Uploaded CPython 3.10+Windows ARM64

tree_sitter_vhdl-1.4.0-cp310-abi3-win_amd64.whl (201.7 kB view details)

Uploaded CPython 3.10+Windows x86-64

tree_sitter_vhdl-1.4.0-cp310-abi3-musllinux_1_2_x86_64.whl (431.7 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

tree_sitter_vhdl-1.4.0-cp310-abi3-musllinux_1_2_aarch64.whl (448.1 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

tree_sitter_vhdl-1.4.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (450.8 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

tree_sitter_vhdl-1.4.0-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (433.9 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

tree_sitter_vhdl-1.4.0-cp310-abi3-macosx_11_0_arm64.whl (216.1 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

tree_sitter_vhdl-1.4.0-cp310-abi3-macosx_10_9_x86_64.whl (202.7 kB view details)

Uploaded CPython 3.10+macOS 10.9+ x86-64

File details

Details for the file tree_sitter_vhdl-1.4.0.tar.gz.

File metadata

  • Download URL: tree_sitter_vhdl-1.4.0.tar.gz
  • Upload date:
  • Size: 393.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tree_sitter_vhdl-1.4.0.tar.gz
Algorithm Hash digest
SHA256 cb8b89ad35811bdefcdd2c71c2503800ff4ce3535e19ef39fe60bee1df45e831
MD5 5e0f1ee395997f6ed31a3b6136f33c33
BLAKE2b-256 22729ffa364c8e846ae037ff2cb4850571d7436c462da3be673f0b76b7950db5

See more details on using hashes here.

File details

Details for the file tree_sitter_vhdl-1.4.0-cp310-abi3-win_arm64.whl.

File metadata

File hashes

Hashes for tree_sitter_vhdl-1.4.0-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 3a3080d635b99af8742c51436d181dbca0976c9d5c14da366647052785e74380
MD5 47ff23d55944a907b48a830523c21ef3
BLAKE2b-256 5dbf5ff900a48c9795c20f94926f5f2c4771764efdf461299f1c01b90b25145f

See more details on using hashes here.

File details

Details for the file tree_sitter_vhdl-1.4.0-cp310-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for tree_sitter_vhdl-1.4.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 9f337081ed0cd746eefae3e5f1c4fb3c549ce70e648150472db64584a1efabf9
MD5 ff14baf547e3c29ab4ea194f37005a32
BLAKE2b-256 21e6eae737f90248ba37b042fd81e8f51fa85ed3d226d3e8c85e3c39edac2a09

See more details on using hashes here.

File details

Details for the file tree_sitter_vhdl-1.4.0-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter_vhdl-1.4.0-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e51793e15c337cd78f2a5696a9cdfbce75f4ffe189ba1d761fe82f19937d17f8
MD5 2188436dc562c7f2700cf3be38d3cec1
BLAKE2b-256 5063b7175606c90587c0b0c61ff36158889db9bd60b02e4221a6152aaea78289

See more details on using hashes here.

File details

Details for the file tree_sitter_vhdl-1.4.0-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for tree_sitter_vhdl-1.4.0-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 28b674b104b1dc42e392989e08a57297be35f5bb7be2328b9a2704e20489603d
MD5 9acc432585b6fa29220d28fdcb9efe85
BLAKE2b-256 25ec060277048f9f4d9a922dbd27e5deb9191846893ba7b3c112df59698df5d5

See more details on using hashes here.

File details

Details for the file tree_sitter_vhdl-1.4.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tree_sitter_vhdl-1.4.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7428be084e11a11c3a4043b6dc75a7cb7fa426f78fb8780aa2d261ba817ee2eb
MD5 52283f23f8623f833196069f4f617908
BLAKE2b-256 548b413ede3f41c55aa508b3d0da661165643eed8003ef981bb1c16a2c82678c

See more details on using hashes here.

File details

Details for the file tree_sitter_vhdl-1.4.0-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter_vhdl-1.4.0-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 8aaac150b046c043d8a1f85a96e1ec06bd09f541963f8e0648373af12c2b7059
MD5 f8f690e4b469fcaab10397aaaf08c1b2
BLAKE2b-256 8ee4342d6d7283e42f72dfb50d6cad9d11cc227a295c9e216b9ddd15812d2c66

See more details on using hashes here.

File details

Details for the file tree_sitter_vhdl-1.4.0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_sitter_vhdl-1.4.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 41f3b63654b35b5563080dd391793a412caebf047686b17b835c2ba9466137ec
MD5 91ed75d40df5ad06d4a6f1b33aa1a840
BLAKE2b-256 87ed5e8717fc5d8424319a49f8a4205ad97b274ae21309f4956e1b05c5702968

See more details on using hashes here.

File details

Details for the file tree_sitter_vhdl-1.4.0-cp310-abi3-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tree_sitter_vhdl-1.4.0-cp310-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 14b8dd8f23822be55b9d51985d9eabbaefbf6bf7707e5dfa26b1b184c21e7869
MD5 0c468637b1f6fa76520fd52f067c4b99
BLAKE2b-256 b4caab8771565b430a28903f85a0b1285adb61186d8635eec480e2427b3e9500

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page