Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kassane/llvm-zig
LLVM bindings written in Zig
https://github.com/kassane/llvm-zig
ffi-bindings libclang llvm llvm-bindings llvm-c llvm-c-api zig zig-package
Last synced: about 2 months ago
JSON representation
LLVM bindings written in Zig
- Host: GitHub
- URL: https://github.com/kassane/llvm-zig
- Owner: kassane
- License: mit
- Created: 2023-04-21T16:26:20.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-19T14:04:45.000Z (4 months ago)
- Last Synced: 2024-10-24T16:21:59.114Z (about 2 months ago)
- Topics: ffi-bindings, libclang, llvm, llvm-bindings, llvm-c, llvm-c-api, zig, zig-package
- Language: Zig
- Homepage:
- Size: 96.7 KB
- Stars: 29
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# LLVM Kaleidoscope written on Zig
The purpose of this repository is to learn about the [`llvm`][llvm] compiler
infrastructure and practice some [`ziglang`][zig].To reach the goals set, we follow the official llvm tutorial [`Kaleidoscope:
Implementing a Language with LLVM`][llvm-tutorial]. This tutorial is written in
`C++` and structured in multiple chapters, we will try to follow along and
implement every chapter in zig.### Requirement
- [zig v0.13.0](https://ziglang.org/download) or higher.
## References
| Rust | Go | C |
| --- | --- | --- |
|[llvm-sys] / [inkwell] | [go-llvm] | LLVM-C |
| [llvm-kaleidoscope-rs] | [llvm-tuto-kaleidoscope-golang] | [llvm-c-kaleidoscope] |## License
This project is licensed under the [MIT](LICENSE) license.
[llvm]: https://llvm.org
[llvm-sys]: https://gitlab.com/taricorp/llvm-sys.rs
[go-llvm]: https://github.com/tinygo-org/go-llvm
[inkwell]: https://github.com/TheDan64/inkwell
[llvm-kaleidoscope-rs]: https://github.com/johannst/llvm-kaleidoscope-rs
[llvm-c-kaleidoscope]: https://github.com/benbjohnson/llvm-c-kaleidoscope
[llvm-tuto-kaleidoscope-golang]: https://github.com/vhiribarren/llvm-tuto-kaleidoscope-golang
[llvm-tutorial]: https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/index.html
[llvm-ch1]: https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl01.html
[llvm-ch2]: https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl02.html
[llvm-ch3]: https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl03.html
[llvm-ch4]: https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl04.html
[llvm-ch5]: https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl05.html
[zig]: https://ziglang.org