qbe-reader

A parser for the QBE intermediate language in Rust

git clone https://git.8pit.net/qbe-reader.git

 1## QBE IR Parser for Rust
 2
 3qbe-reader is a Rust parser for v1.1 of the intermediate language of the [QBE compiler backend][qbe web].
 4The parser is presently in very early stages of development.
 5Most of the syntax is support but only a handful of instructions are properly parsed presently.
 6For this reason, the API is not stable and still subject to change.
 7
 8I am using this parser to develop a symbolic execution tool for QBE IL: https://github.com/nmeum/qsym
 9
10### Usage
11
12The library is presently not available on crates.io.
13However, for now it is possible to depend directly on the Git repository:
14
15    [dependencies]
16    qbe_reader = { git = "https://github.com/nmeum/qbe-reader.git" }
17
18Keep in mind though, that the API provided by qbe-reader is not yet stable though.
19
20### See also
21
22* The [documentation of the QBL IL][qbe-il 1.1]
23* [qbe-rs][qbe-rs github] an unparser for the QBE IL in Rust
24
25### License
26
27This program is free software: you can redistribute it and/or modify it
28under the terms of the GNU Affero General Public License as published by
29the Free Software Foundation, either version 3 of the License, or (at
30your option) any later version.
31
32This program is distributed in the hope that it will be useful, but
33WITHOUT ANY WARRANTY; without even the implied warranty of
34MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
35General Public License for more details.
36
37You should have received a copy of the GNU Affero General Public License
38along with this program. If not, see <https://www.gnu.org/licenses/>.
39
40[qbe web]: https://c9x.me/compile/
41[qbe-rs github]: https://github.com/garritfra/qbe-rs
42[qbe-il 1.1]: https://c9x.me/compile/doc/il-v1.1.html