[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
PPC-targeted compiler
Hi all,
I've done a port of the ETH PPC-targeted compiler which produces ETH symbol and
object files to o2c. It works from the command line and is independent of the
Oberon System. Here's a brief description of the command line interface:
Compiler
--------
This is a simple one-pass ETH compiler based on the original OOP compiler
by Regis Crelier and modified to produce PPC code by Markus A. Hof.
The original compiler runs on Oberon System 4 on a Power Mac. This
version runs from the command line and will produce PPC ETH object
and symbol files on any platform which has support for o2c.
Invocation syntax is: Compiler [options] <oberon module> {[oberon module]}.
The following command line options are supported:
-h Print this text
-d Show intermediate syntax tree
-x Index check on
-v Overflow check on
-r Range check on
-t Type check on
-s Generation of new symbol file allowed
-p Pointer initialization
-n NIL pointer checks on read accesses
-a Assert evaluation
-f Find text position of breakpc
-c Use PowerPC instruction set
-w Suppress warning 301
The default options are -x -t -n -p -a -c. Adding these options to the
command line will toggle the appropriate flags.
Sorry, a "Make" facility isn't currently available. It may be possible to
port the Oberon system Make to work from a command line, but I haven't
investigated this possibility yet.
NOTE: I haven't tested this compiler very much but will do so over the
next few weeks in changing the object code format to produce XCOFF output.
This compiler may be useful to anyone porting the Oberon system to another PPC
platform which doesn't currently have an Oberon System available. If this is
the case, I have the full Oberon System source code, including the loader, so
contact me at the email address below.
Decode
------
This utility is part of the Oberon System. It basically decodes the Obj
output from the compiler to give a disassembled version of the object code and
some additional information about symbolic references, pointers, etc.
Invocation: Decode <oberon object>
Miscellaneous
-------------
I've also included a new Out module which is required to compile the compiler
source using o2c. The only change from the original Out module is the
addition of a "Hex" function which outputs an 8-digit hexadecimal number to
the output stream.
Regards,
Michael
--------------------------------------------------------------
Michael Griebling, P. Eng. mgriebling@bix.com
Computer Inspirations grieblm@trt.allied.com