Senior Project - Everest

Re-design and Re-implementation of the MacroScope Programming Language

Objective is a software engineering company with its own proprietary language,
called MacroScope. MacroScope is an interpreted, high-level, object-driven,
English-like language. To speed the interpretation, MacroScope code is first
compiled into a compact binary format by a compiler. The compiled files are
then interpreted at run-time. MacroScope is particularly suited to the
development of data-entry intensive graphical user interfaces.

The purpose of this project was to do a complete re-implementation of
MacroScope. This included the formalization of the language, development of a
compiler, and redesign and implementation of the run time system. Formalization
of the language involved the development of a formal syntax specification,
along with a specification of the semantics of the language. The compiler,
based on the compiler construction tool ELI, includes pre-processing
capabilities, debugging information, and accurate error reporting, as well as
generated Java code as output. This generated Java can be compiled and linked
with a set of Java classes that form the executable runtime system.