Compiler
This is a LEX and YACC based compiler which is designed to be compiled and ran under Win32 and UNIX platforms (under UNIX lex and yacc are required). It supports a pascal-like non-case-sensitive language, short circuit evaluation, error checking and detection. It generates intermediate code in a text file which can then be interpreted on multiple platform using the interpreter project below.
Download it in .ZIP format HERE
Download it in tar'd gzip format HERE
Multi-platform Byte-code Interpreter
This interpreter takes as input the intermediate code generated by the compiler. It then allocates virtual registers and memory regions internally and processes the code. It can also be compiled on both Win32 and UNIX platforms. It handles runtime bounds-checking as well as file IO and console output.
Download it in .ZIP format HERE
Download it in tar'd gzip format HERE