Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mlir-rs/tblgen-rs
Tablegen bindings for Rust
https://github.com/mlir-rs/tblgen-rs
llvm tablegen
Last synced: 18 days ago
JSON representation
Tablegen bindings for Rust
- Host: GitHub
- URL: https://github.com/mlir-rs/tblgen-rs
- Owner: mlir-rs
- License: other
- Created: 2024-04-29T13:15:32.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2025-01-16T11:41:15.000Z (19 days ago)
- Last Synced: 2025-01-16T11:47:36.619Z (19 days ago)
- Topics: llvm, tablegen
- Language: Rust
- Homepage: https://mlir-rs.github.io/tblgen-rs/tblgen/
- Size: 2.72 MB
- Stars: 2
- Watchers: 1
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# tblgen
[![GitHub Action](https://img.shields.io/github/actions/workflow/status/mlir-rs/tblgen-rs/test.yaml?branch=master&style=flat-square)](https://github.com/mlir-rs/tblgen-rs/actions?query=workflow%3Atest)
[![Crate](https://img.shields.io/crates/v/tblgen.svg?style=flat-square)](https://crates.io/crates/tblgen)
![Crates.io Total Downloads](https://img.shields.io/crates/d/tblgen)
![Crates.io License](https://img.shields.io/crates/l/tblgen)Original project: https://gitlab.com/Danacus/tblgen-rs.
Original author: Daan Vanoverloop.
Thanks to Daan for giving us access to publish to the original `tblgen` crate, we can now switch from the old `tblgen-alt` to `tblgen`. Future updates will be pushed to the original crate.
This crate provides raw bindings and a safe wrapper for TableGen, a domain-specific language used by the LLVM project.
The goal of this crate is to enable users to develop custom TableGen backends in Rust. Hence the primary use case of this crate are procedural macros that generate Rust code from TableGen description files.
## Documentation
Read the documentation at https://mlir-rs.github.io/tblgen-rs/tblgen/.
## Supported LLVM Versions
An installation of LLVM is required to use this crate. Both LLVM 16, 17, 18 and 19 are supported and can be selected using feature flags.
The `TABLEGEN__PREFIX` environment variable can be used to specify a custom directory of the LLVM installation.