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