HRM Compiler
============
Work-in-progress compiler to have an high-level tool
to reason about problems in Human Resources Machines.
I hate pseudo-assembly, and I want to write a compiler.
## Install
```
virtualenv .hrm
source .hrm/bin/activate
pip install -e .
```
## Usage
`hrmc <script>`
## Examples
There is no formal doc about the accepted grammar (check _parser.py_),
but you can find some examples in the `examples` folder.
## Development
### Run tests
To run the unit tests, execute `pytest`.
### Run differential testing
To check that a new optimization does not introduces bugs, it is possible to
use [hrm-interpreter](https://github.com/alfateam123/hrm-interpreter)
and a custom script to compile the examples with different flags and run the different
builds.
To be able to perform this kind of testing:
1. install rust and cargo via rustup
2. clone and build `hrm-interpreter` in the parent directory of this repository
3. run `run_all_on_interpreter.py`
If something is wrong, you should see an AssertionError.
============
Work-in-progress compiler to have an high-level tool
to reason about problems in Human Resources Machines.
I hate pseudo-assembly, and I want to write a compiler.
## Install
```
virtualenv .hrm
source .hrm/bin/activate
pip install -e .
```
## Usage
`hrmc <script>`
## Examples
There is no formal doc about the accepted grammar (check _parser.py_),
but you can find some examples in the `examples` folder.
## Development
### Run tests
To run the unit tests, execute `pytest`.
### Run differential testing
To check that a new optimization does not introduces bugs, it is possible to
use [hrm-interpreter](https://github.com/alfateam123/hrm-interpreter)
and a custom script to compile the examples with different flags and run the different
builds.
To be able to perform this kind of testing:
1. install rust and cargo via rustup
2. clone and build `hrm-interpreter` in the parent directory of this repository
3. run `run_all_on_interpreter.py`
If something is wrong, you should see an AssertionError.
Metadata
Release files for hrmcompiler 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hrmcompiler-0.2.0.tar.gz | 9.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hrmcompiler-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.1 kB
Release files / hrmcompiler-0.2.0.tar.gz
| Download URL | hrmcompiler-0.2.0.tar.gz |
|---|---|
| Size | 9.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aa2e5eca448380d70cc262b51cb66154b95b607379c36ac6af7014e2d83aab88
|
|
BLAKE2b-256 checksum How to use checksums |
1fbe33b3c2554e0564f3a4a7b2d2ba11270a9cd4df35601f92d396e760e9014b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0
|
Release files / hrmcompiler-0.2.0-py3-none-any.whl
| Download URL | hrmcompiler-0.2.0-py3-none-any.whl |
|---|---|
| Size | 10.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1d8f7393f18a5d9ad17f95467bfded58864dbf95d5a7bda37e401a627a738c0a
|
|
BLAKE2b-256 checksum How to use checksums |
0a60911b1616c66448d8d8c09e31a4a093c4aee6eb42d4f7d577d80824f4d840
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0
|