#bytebraise #syntax #status #rowan #bytebraise-syntax

bytebraise-syntax

BitBake parsing, syntax, and AST definitions for bytebraise

1 unstable release

Uses new Rust 2024

new 0.1.0 May 1, 2025

#3 in #rowan

Download history 97/week @ 2025-04-27

97 downloads per month
Used in bytebraise

MIT license

130KB
3.5K SLoC

bytebraise

This project is a proof-of-concept experiment to see how much of BitBake can be implemented in Rust.

Status

This is very early code and still somewhat a testbed for ideas.

What is implemented

FAQ

Q: Do you intend to replace BitBake?
A: Definitely not.

Q: Then why build this?
A: Mostly just to see if it's possible and as an exercise to learn Rust. I also wanted a deeper understanding of BitBake, and what better way to get that than by reimplementing it?

Q: What could it be used for?
A: Right now, not much. Eventually, it could be useful for linters and formatters. What's especially nice about Rust is that you can build statically-linked executables and thus avoid the nightmare of distributing Python applications. Do however note that it's not currently feasible to statically-link applications using bytebraise's optional python support, due to this issue.

License

bytebraise is licensed under the GNU General Public License version 2.0. See LICENSE.GPL-2.0-only for further details.

Portions of this work have been derived from Rust Analyzer, which is MIT licensed. Those derived portions are clearly marked at the top of the files. The MIT license is included (LICENSE.MIT) for your reference.

Disclaimer

This is not an official Agilent product. No support is implied.

Dependencies

~4MB
~74K SLoC