Skip to main content
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.


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)

Source distribution for hrmcompiler 0.2.0
File Size Uploaded
hrmcompiler-0.2.0.tar.gz 9.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hrmcompiler 0.2.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page