My Open-Source Projects


C# Algorithms
C#-powered plug-and-play class-library project of standard Data Structures and Algorithms. It contains 35+ Data Structures and 30+ Algorithms designed as Object-Oriented isolated components. Even though this project started for educational purposes, the implemented Data Structures and Algorithms are efficient, stable and tested.

PyCOOLC
Compiler for the COOL Programming Language, targetting the MIPS 32-bit architecture, written entirely in Python 3. COOL is a type-safe, object-oriented and statically typed language. PyCOOLC is a compiler for COOL that emits MIPS 32-bit assembly code.
Status: WIP.

Assembler.hack
16-bit machine code assembler written in Python 3. It reads a program written in the Hack Assembly Language (*.asm text file), assembles it to a 16-bit binary machine code program, written in the Hack Machine Language, and then saves the assembled machine code program to a new file (*.hack text file). This project was implemented as part of building a complete 16-bit computer through the nand2tetris project.

micro_kanren.py
μKanren (microKanren and miniKanren) refer to a family of embedded DSLs (Domain-Specific Languages) for Relational-Declarative Logic programming. This is an object-oriented implementation of μKanren for Python, using Python 3 as the host language.

PBFI
Yet another educational interpreter for the BrainFuck Programming Language written in Python 3. This might not be the shortest BrainFuck interpreter you'd come acorss, however the style of programming is for educational purposes only.

Awesome Compilers
A curated list of awesome resources, learning materials, tools, frameworks, platforms, technologies and projects in the field of Compilers, Interpreters and Runtimes.


Other Open-Source Contributions


C# ORM, co-creator
Lightweight object-relational mapper, written in C# as a class-library project. Capable of processing database table's relations and generating SQL queries.

iBill, co-creator
Enterprise, multi-featured, billing, invoicing and reporting app of various telephony infrastructures and providers (i.e. MS Lync and Asterisk), written in C# and ASP.NET Web Forms.

For a complete list of my open-source contributions, please refer to my GitHub account: github.com/aalhour