Principles of Programming Languages and Systems
PELAB - Programming Environment Laboratory
Dept. of Computer and Information Science,
Linköping University, Sweden
To avoid some common programming errors when using Mathematica, you may be interested in reading SafeProg.nb. To use these facilities, copy the SafeMathProg.m file to a directory you create called ~/MathCore/MathCore (under Unix), or C:\MathCore\MathCore\ (under Windows). You also may need to update and place the file init.m, e.g. in your home directory (Unix) or under C: (Windows), to put this package into the Mathematica path.
Note: The yacc grammar file for Exp1 can be found in the directory http://www.ida.liu.se/~petfr/princprog/rml-exp1.