Skip to content

actlab-fhy/FhY-core

Repository files navigation

FhY Core

FhY Core is a collection of utilities for FhY and other parts of the compiler.

Utility Description
Identifier Unique naming class with a non-unique name hint and a unique ID.
Error Custom error registration and core errors for the compiler.
Expression General expression represented as an AST with a parser and printer.
Constraint General logical constraint.
Parameter Real, integer, orginal, categorical, and permutation parameters.
Types Core type system for the compiler.
Memory Instance Extensible record for an instance of data in memory.
Symbol Table Nested symbol table.
General Utility - Python 3.11 Enums String and integer enum types only introduced in Python 3.11
General Utility - Stack General stack utility that wraps deque.
General Utility - POSET General partially ordered set utility represented as a directed graph.
General Utility - Lattice General lattice (order theory) utility represented with a POSET.
General Utility - Dictionary Utilities Additional dictionary helper functions.

Table of Contents

Install FhY Core from PyPi

Coming Soon

Build FhY Core from Source Code

  1. Clone the repository from GitHub.

    git clone https://github.com/actlab-fhy/FhY-core.git
  2. Create and prepare a Python virtual environment.

    cd FhY-core
    python -m venv .venv
    source .venv/bin/activate
    python -m pip install -U pip
    pip install setuptools wheel
  3. Install FhY.

    # Standard Installation
    pip install .
    
    # For contributors
    pip install ".[dev]"

Contributing - For Developers

Want to start contributing the FhY Core? Please take a look at our contribution guide