				EULER
			A COMPILER AND INTERPRETER
		Wirth's and Weber's contribution to the
		development of ALGOL translated into Icon.



euler.icn	The EULER compiler and interpreter main program
eulerscn.icn	The EULER scanner
eulersem.icn	The EULER translator module
eulerint.icn	The EULER interpreter
euler.ll1	The parse tables for parsellk
euler.grm	The grammar file used by TLCLL1 to build euler.ll1

	From the TLCLL1 Parser:
PARSELL1.ICN	LL(1) parser
READLL1.ICN	input routine for translated grammars
SEMSTK.ICN	semantics routines called by PARSELL1.ICN to handle
		the semantics stack

	From the Icon Program Library:
xcode.icn
escape.icn
ebcdic.icn


		Building EULER

You can execute the batch file buildk.bat to build EULER.

Six files from the Icon Program Library and three files from 
the TLCLL1 parser generator are included with this distribution 
and can be compiled separately.

To build EULER by hand, you may execute

  icont -c xcodeobj escape ebcdic 

  icont -c parsell1 readll1 semstk
  icont -fs euler eulerscn eulersem eulerint parsell1.u1 readll1.u1 semstk.u1

The first icont line compiles the files from the IPL. You may
omit the line if you have the IPL installed. The second icont
line compiles modules from the TLCLL1 parser. The third line
compiles EULER's modules. The flag -fs tells the translator
that EULER calls some procedures by giving their names as
strings. In Icon version 8, this flag is not needed; in version
9 it is.

		Running EULER

To have EULER translate and execute a program prog.eul, execute

		Under Icon version 8:

	iconx euler prog.eul

		Under Icon version 9:

	 euler prog.eul

If you would also like a listing of the translated code, execute

		Under Icon version 8:

	iconx euler -s prog.eul

		Under Icon version 9:

	 euler -s prog.eul


		Getting Icon

If you do not have a copy of Icon, you can get it over the
Internet: ftp it from cs.arizona.edu:
	ftp ftp.cs.arizona.edu
	name: anonymous
	password: your_e-mail_address
	cd icon

Versions of Icon for several machines are in subdirectories of
directory icon. You may also want to pick up the Icon
Programming Library.

