🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.modula2
Article #3835

Re: Modula-2 On Suns; A Search

#3835
From: Alan Lovejoy
Date: Fri, 18 Sep 1987 13:50
59 lines
3441 bytes
In article <412@trwspf.TRW.COM> thomsen@trwspf.UUCP (Mark Thomsen) writes:
>My question is, what is the status of the Modula-2 compiler's on the Sun?  I
>know of Sun's and Djaverhi (sp??) products to some extent, but we have not
>kept up with the latest and greatest.  What are the compiers available and has
>anyone some recommendations on what is good?  Especially of interest would
>be an arrangement where we can scrape off Unix for a target machine to run our
>own real-time O/S written in Modula-2.  Also, is there a Modula-2 for the
>new Sun 4/SPARC setup?

I strongly recommend you do a *thorough* test drive of the Djavaherri
and/or Sun Modula-2 compilers before committing yourself to them.  I
haven't used these products for more than a year, but the last time I
did...

Happily, I know of another compiler for UNIX V/m680x0 machines.  This
compiler implements a very rich version of the language, and has an
absolutely *awesome* code generator/optimizer.  It's marketed by
Masthaven, in England.  Unhappily, the blurb they sent me is on loan
to a friend, so I can't quote an address.  (I know, if all I have is
a blurb, how do I know so much about it?  Because I have the compiler.
That is,  I have a *sibling* of the compiler, which is about 99.9%
the same as the one Masthaven is selling, but not for UNIX, and not
sold by Masthaven).  

There is of course the problem that SunOS is not UNIX V, exactly.  Will
the compiler run on a Sun?  Don't know.  Perhaps a Macintosh II with
A/UX would run it.  Since I'm planning to get a Mac II, I'm going to
have to check this out eventually as well.

The compiler has CARDINAL(16 bits), LONGCARD(32 bits), SHORTCARD(8
bits), INTEGER(16 bits), LONGINT(32 bits), SHORTINT(8 bits), CHAR,
BOOLEAN, REAL(32 bits), LONGREAL(64 bits), ADDRESS, WORD (16 bits),
SET OF (any scalar range up to 32767) and correctly sees 'a' as either
a CHAR or an ARRAY [0..0] OF CHAR.  It allows CAP, VAL, ORD, SIZE,
TSIZE, etc., to be used in ConstExpressions, even in a CONST statement.
It supports FIRST and LAST (which Wirth called MIN and MAX in PIM2v3).
Machine code can be inserted in-line using what are called 'code
procedures':  PROCEDURE Move(from: ADDRESS; size: LONGCARD; to: ADDRESS);
	      CODE
	        0341H;    
		0008H;
		...
	      END Move;

The compiler generates the code for pushing the actuall arguments on the
stack when a code procedure is called. It is up to you to remove them
using the right machine code.

The compiler also supports conditional compilation, romable code,
dynamic linking, 3 different ways of referencing objects external
to a module which can be independently selected for code and data
objects, 3 levels of optimization which can be targeted at seven
different mixes between speed and space optimization....

You get the idea (there's more...).

--alan@pdn

		
Technical Details
Message-ID: <1372@pdn.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!husc6!rutgers!mtune!codas!usfvax2!pdn!alan
References: <412@trwspf.TRW.COM>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!husc6!rutgers!mtune!codas!usfvax2!pdn!alan
From: alan@pdn.UUCP (Alan Lovejoy)
Newsgroups: comp.lang.modula2
Subject: Re: Modula-2 On Suns; A Search
Message-ID: <1372@pdn.UUCP>
Date: Fri, 18-Sep-87 09:50:26 EDT
Article-I.D.: pdn.1372
Posted: Fri Sep 18 09:50:26 1987
Date-Received: Sun, 20-Sep-87 05:15:24 EDT
References: <412@trwspf.TRW.COM>
Reply-To: alan@pdn.UUCP (0000-Alan Lovejoy)
Organization: Paradyne Corporation, Largo, Florida
Lines: 59