• Stars
    star
    7
  • Rank 2,294,772 (Top 46 %)
  • Language
    C#
  • License
    Other
  • Created about 7 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Sempiler lets you write native, semantic, idiomatic, x-platform code from your favourite programming language, without frameworks or virtual machines.

More Repositories

1

SmartGrid-Simulation

A large and complex MSc Java project (awarded a mark of 80%) that simulates the interactions between Households and Aggregators in a SmartGrid network (including the associated security concerns). I was responsible for all of the code below (namely the core system framework code) with the exception of a few files (clearly marked with @author JDoc annotations, and included in this repo for completeness). The code uses a plethora of Design Patterns such as Singleton, Observer, and Command (to mimic higher-order functions). During the simulation a random set of Households with multiple Appliances are generated for each Aggregator. Appliances have varying power requirements, and usage hours that are modelled via implementations of the IPolicy interface. This allows a user to model events such as a Dinner at which time the Oven, Lights, and other related Appliances would be in use. The TimedEvent framework handles callbacks, scheduling and replaying of events. There is a GUI that shows the network at different granularities, right down to individual graphed Appliance usage for a Household as the program runs. A mock-Command Line, that provided alternate program control, was also implemented. A Thread Safe Controller is responsible for asynchronously executing user interactions to avoid ConcurrentModificationExceptions. The program outputs verbose messages to a text file for reviewing after the simulation completes.
Java
9
star
2

Vapor-API

Vapor API is an Android app development framework that makes writing great apps easier by taking care of the clumsy Android boilerplate code and gory details associated with performing common tasks on Android. Inspired by the power and flexibility of jQuery, with fluent methods, global custom callbacks, and succinct syntax.
Java
5
star
3

System-F-Compiler

My MSc Individual Project was a System F Compiler written in Scala, awarded a mark of 88%. It accepts System F raw input and uses mathematical inference rules and logic to translate it across 5 intermediate calculi, eventually emitting Typed Assembly Language code. This TAL code is executed on a custom Virtual Machine that I wrote in addition to the compiler, utilising a Least Recently Used (LRU) cache routine to evict the contents of pseudo-registers adhoc. The Compiler itself performs lexing and parsing initially, before translating the input to Continuation Passing Style (CPS), whereby functions pass results to continuations that represent the remainder of the computation that the program will perform. Thereafter it performs Closure Conversion to capture free variable state, and separate it from the accompanying machine code instructions. It then Hoists all functions to global scope, naming them uniquely on the Heap.
Scala
1
star