Ron Mak @ Apropos Logic

ron@apropos-logic.com

Writing Compilers and Interpreters (3rd edition):
A Software Engineering Approach

by Ronald Mak

Published by John Wiley & Sons, Inc.

Comments, criticisms, or suggestions? Please send them to ron@apropos-logic.com.

Download

Each chapter's Java code is packed in a jar file. Click on a link below to download the jar file containing the corresponding chapter's code:

To extract the code for Chapter 12, for example, enter the command

	jar -xvf Chapter12.jar

to create the directory Chapter12 containing the Java source tree.

Compile

To compile the Java code for Chapter 12, for example, enter the commands:

	cd Chapter12
	mkdir classes
	javac -classpath classes -d classes -sourcepath src src/*.java

Of course, a much better way to work with the Java source tree is to load it into a development environment such as the Eclipse IDE for Java developers.

Run

After compiling the Java code for Chapter 12, for example, the following command (entered while in directory Chapter12) will interpret the Pascal program hilbert.pas (enter 5 when it prompts for the rank):

	java -classpath classes Pascal execute hilbert.pas

To view the cross-reference table and the intermediate code (parse trees), include the -x and -i options, respectively. You can combine the options as -ix:

	java -classpath classes Pascal execute -ix hilbert.pas

The book describes each of the options i, x, l, a, f, c, and r.

.