Interpreters & Compilers

mgclisp REPL

While my love of programming is multifaceted, one of my main areas of interest in is the design and development of programming languages, their interpretation, and compilation.

While I am far from an expert on the subject, I have dedicated a good amount of time amassing resources and learning what I can on the subject including a small personal library of reference material. I have collected here some of my own efforts with the hope that others find them useful to their own pursuits.

Programming Languages

Owl – Owl is a dynamically typed, procedural, algol-like language, with pascal-like syntax, and C-Style scope rules. It is an interpreted language, and is always growing!

SimpleLang – This is a “jumping off point” project I put together for people who want to learn more about interpreters. It implements basic algebraic operators, assignment, test for aquality and compare with less than. It also has named variables, an if statement, a loop statement, and functions.

MGCBasic – A derivative of the BASIC programming language, inspired by my experiences using Tiny BASIC on a TRS-80 and QBasic 4.5 growing up. The syntax shares similarities with Tiny BASIC.

MGCLisp – an S-expression interpreter I developed to learn more about both the Lisp programming language and writing interpreters as well as apply some of the lessons learned while developing MGCBasic.

MGCsm – a simple stack machine developed in the course of writing several posts on Virtual Machines and Compilers.