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.5.0.tar.gz (392.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.5.0-cp310-abi3-win_arm64.whl (199.8 kB view details)

Uploaded CPython 3.10+Windows ARM64

tree_sitter_vhdl-1.5.0-cp310-abi3-win_amd64.whl (201.6 kB view details)

Uploaded CPython 3.10+Windows x86-64

tree_sitter_vhdl-1.5.0-cp310-abi3-musllinux_1_2_x86_64.whl (432.1 kB view details)

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

tree_sitter_vhdl-1.5.0-cp310-abi3-musllinux_1_2_aarch64.whl (449.8 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

tree_sitter_vhdl-1.5.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (451.0 kB view details)

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

tree_sitter_vhdl-1.5.0-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (434.3 kB view details)

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

tree_sitter_vhdl-1.5.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.5.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.5.0.tar.gz.

File metadata

  • Download URL: tree_sitter_vhdl-1.5.0.tar.gz
  • Upload date:
  • Size: 392.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.5.0.tar.gz
Algorithm Hash digest
SHA256 84826daa18a271e6bd3e133a296331affbe92c8a1656fbcee7e04fec4e0c4bee
MD5 79a4ea554cdca590d0a1f304841ef63d
BLAKE2b-256 c398aac5d09c9cd2c5d4eccfae7eae2824aeebd1dd3cfd47bf073caa896917a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter_vhdl-1.5.0-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 fd8b8f40e023037002d3a95ca7f46b148ec53862835a1bc057a9ee6026d71791
MD5 4dff279defa3695bb406b70ce09a20e5
BLAKE2b-256 80cf4362c059f3c09cb86276b29dd901fbd16beaba990f4b6623b61a7f40ff9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter_vhdl-1.5.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 1516e6d685c4ee53babd1f77258ca7f5baee49b620aef453e169ffdbb2523bab
MD5 daae336e0b414df83ab0f15d5c98b6be
BLAKE2b-256 cabfd282491a3e6812bf13816fbdad859f3ba7186e4e72c50105410bd83d3372

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter_vhdl-1.5.0-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b31e1db12d06e54d34098243aad6119fcd9619ca19dfef7e5b7cc02b6a343139
MD5 ff34793c77c21d78e3f0bc72793ea9c3
BLAKE2b-256 624ba39f11684113413fc89feef20dc5b525ed7374e00633aa9a85107eb98dbb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter_vhdl-1.5.0-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d858bdbd36c5d19808258e50df8589eca0d88f59196beb8c72f85084d6ae157e
MD5 ef0b426723eebed7116edb867786590e
BLAKE2b-256 5d5f9e0b005798042ce7b01ce550509f5c7367f1ccdf2159e3a69403a519b44d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter_vhdl-1.5.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 07fcaee6f6a82d786581ba06da581bab307c78c2247b5c44619c79bac3a9b9fc
MD5 5fdcfcdfcf3cbc06f8c8dac19307105b
BLAKE2b-256 816ce0e8fc7a2eaeadccfb2f66420932ae98bbc095413e1305948e66f6c29043

See more details on using hashes here.

File details

Details for the file tree_sitter_vhdl-1.5.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.5.0-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 a57eec098e5b1e2741f8fc1710b48c57dc4d2a69913c2cf449f80fd91c3de3d8
MD5 866167696e4e981f85c77f159fff5f6f
BLAKE2b-256 5b15d21a0a15cb9646b4e8e12f5b08fa7458ff29871f98369e799b408b92c3b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter_vhdl-1.5.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ca323934c0a40f44d2267f7b48752955dc1d035ae7e26dee14e27ea1b784fb06
MD5 6a613dc37bba7e0d0582a58a1b9072b5
BLAKE2b-256 015e130532fb08f27a43fe30247ea20647ace4c65207f8a8d01f5b5d2fb05970

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tree_sitter_vhdl-1.5.0-cp310-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d4c607e3da0d527d32dea045be3867718edffb749538df983654a813a885be64
MD5 aee5d880e3a68bec0a4eec132819bce6
BLAKE2b-256 83b7593ce89ce4c47fa1374a28422c4a9184dfadabcb57e4c3bba277762446b4

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