Metadata-Version: 2.1
Name: crowbar-reference-compiler
Version: 0.0.5
Summary: the reference compiler for the Crowbar programming language
Home-page: https://git.sr.ht/~boringcactus/crowbar-reference-compiler
License: BlueOak-1.0.0
Author: Melody Horn
Author-email: melody@boringcactus.com
Requires-Python: >=3.7,<4.0
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Other
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Software Development :: Compilers
Requires-Dist: parsimonious (>=0.8.1,<0.9.0)
Requires-Dist: regex (>=2020.10.11,<2021.0.0)
Project-URL: Repository, https://git.sr.ht/~boringcactus/crowbar-reference-compiler
Description-Content-Type: text/markdown

the reference compiler for the [Crowbar](https://sr.ht/~boringcactus/crowbar-lang/) language.

requirements:
* [QBE](https://c9x.me/compile/) installed somewhere on your PATH
* gcc

usage (i probably will forget to update this so [check directly](https://git.sr.ht/~boringcactus/crowbar-reference-compiler/tree/main/crowbar_reference_compiler/__init__.py)):
```
usage: crowbarc-reference [-h] [-V] [-g] [--stop-at-parse-tree]
                          [--stop-at-qbe-ssa] [-S] [-c] [-D DEFINE_CONSTANT]
                          [-I INCLUDE_DIR] [-o OUT]
                          input

The reference compiler for the Crowbar programming language

positional arguments:
  input                 input file

optional arguments:
  -h, --help            show this help message and exit
  -V, --version         show program's version number and exit
  -g, --include-debug-info
  --stop-at-parse-tree
  --stop-at-qbe-ssa
  -S, --stop-at-assembly
  -c, --stop-at-object
  -D DEFINE_CONSTANT, --define-constant DEFINE_CONSTANT
                        define a constant with some literal value
  -I INCLUDE_DIR, --include-dir INCLUDE_DIR
                        folder to look for included headers within
  -o OUT, --out OUT     output file
```

