Projects

SSC - Simple Syntax Compiler

This is a small compiler written in C++ to learn more about the process of compiling and assembling code by converting a text file written in a high-level programming language, parsing it and then generate it in the form of assembly code.

SSC supports two statements: let to declare a variable and print to print an integer expression. Every statement ends with a semicolon. Lines beginning with // are treated as comments.

Supported operators are +, -, *, and /, with the usual precedence (* and / bind tighter than + and -). Parentheses can be used to group expressions. Variables must be declared with let before they are used, and cannot be declared twice.

Example:

// declare variables
let x = 10;
let y = 2;

// print an expression
print x * y + 5;

calcbench

Simple processor benchmark using prime number calculation.

cpubench

x86-64 processor benchmark program that evaluates integer operations, floating point operations, memory access, cache performance and multithreading.

membench

A program for evaluating the memory system which outputs different array sizes, and their corresponding different stride value