[comp.lang.modula2] Garden's Point Modula-2

warwick@cs.uq.oz.au (Warwick Allison) (06/05/91)

The Queensland University of Technology has developed a Modula-2 compiler
which produces C as intermediate code.

I think this is an excellent idea, as it means the optimisation techniques
developed over many years for C can be utilized for Modula-2.

Great stuff, cheers to QUT.
Warwick.
--
  _-_|\       warwick@cs.uq.oz.au
 /     *  <-- Computer Science Department,
 \_.-._/      University of Queensland,
      v       Brisbane, AUSTRALIA.

X903@DMAFHT1.BITNET (Marc Wachowitz) (06/05/91)

What is the legal state of this product? Is it commercial, freeware,
shareware, public domain or whatever?
In case it's not commercial (in which case I would have no need for it),
is there a mail/ftp address where to get more information (or possibly
the compiler itself)?
What are the possible compilation/target environments?

Thanks for all information

Marc Wachowitz
X903@DMAFHT1.BITNET

haitto@nada.kth.se (Hasse Haitto) (06/05/91)

In article <1772@uqcspe.cs.uq.oz.au> warwick@cs.uq.oz.au writes:
>The Queensland University of Technology has developed a Modula-2 compiler
>which produces C as intermediate code.

How good an implementation is this, does it support the full language or
some subset only?  Is it available by ftp?

frankb@sbsvax.cs.uni-sb.de (Frank Bauernoeppel) (06/06/91)

Gardens Point M2 is commercially available from

	A+L AG, Daederitz 61, CH-2540 Grenchen, Switzerland 
	Phone: (+41) 65 52 03 11 	
	Fax:   (+41) 65 52 03 79

You can get more information about the product there.

-- 
Dr. Frank Bauernoeppel

Universitaet des Saarlandes, Fachbereich Informatik, SFB 124
6600 Saarbruecken, Germany

Phone: (+49) 681 302 2064, 	Fax: (+49) 681 302 4421
email: frankb@cs.uni-sb.de

iwm@doc.ic.ac.uk (Ian Moor) (06/06/91)

In article <1772@uqcspe.cs.uq.oz.au> warwick@cs.uq.oz.au (Warwick Allison) writes:

>   The Queensland University of Technology has developed a Modula-2 compiler
>   which produces C as intermediate code.
>
>   I think this is an excellent idea, as it means the optimisation techniques
>   developed over many years for C can be utilized for Modula-2.

But I don't think there are techniques for optimising C that cannot be applied
to Modula-2 directly. Indeed, some optimisations must be easier on Modula-2
because the language has fewer loopholes (consider generating code for
MODULA-2 and C  `for' statements).

There is a problem generating C for things that have no close equivalents,
such as nested procedures, something like

 PROCEDURE A;
  
  PROCEDURE B;
   BEGIN
    A;
  END B;
 
 BEGIN
  A;
  B;
 END A;

cannot easily be mapped to C. Gardens Point seems to produce incorrect C
for something like this. 


--
Ian W Moor
  Internet: iwm@doc.ic.ac.uk
  JANET: iwm@uk.ac.ic.doc
           
 Department of Computing,  That which you call a crime when one man does it,
 Imperial College.         you call government when done by many.
 180 Queensgate          
 London SW7 UK.          

untch@hubcap.clemson.edu (Roland Untch) (06/07/91)

From article <IWM.91Jun6140721@swan.doc.ic.ac.uk>, by iwm@doc.ic.ac.uk (Ian Moor):
> There is a problem generating C for things that have no close equivalents,
> such as nested procedures, something like
>     (. . . example deleted . . .) 
> cannot easily be mapped to C. Gardens Point seems to produce incorrect C
> for something like this. 

    Do you know for a fact that Garden's Point Modula-2 produces
incorrect C?  Methods for mapping nested procedures into a "flat"
language like C were explicated in the article:
        N. Sundaresan, ``Translation of Nested Pascal
        Routines to C'', SIGPLAN Notices, v.25 n.5,
        May 1990, pp. 69-81.


-- 
Roland Untch, Comp. Sci. Dept., Clemson University, Clemson, SC 29634-1906
INTERNET: untch@hubcap.clemson.edu    UUCP: ... !gatech!hubcap!untch

iwm@doc.ic.ac.uk (Ian Moor) (06/08/91)

In article <1991Jun7.114900.7574@hubcap.clemson.edu> untch@hubcap.clemson.edu (Roland Untch) writes:

  >> There is a problem generating C for things that have no close equivalents,
  >> such as nested procedures, something like
  >>     (. . . example deleted . . .) 
  >> cannot easily be mapped to C. Gardens Point seems to produce incorrect C
  >> for something like this. 

   >    Do you know for a fact that Garden's Point Modula-2 produces
   >incorrect C?  

More details: this was the SPARC version of Garden's Point, which
we had for evaluation from their UK agent  RTA before easter. The C output
from a program like the example I quoted caused the C compiler  to complain
about an illegal redeclaration of one the procedures. The procedure was
called before definition in the C.
--
Ian W Moor
  Internet: iwm@doc.ic.ac.uk
  JANET: iwm@uk.ac.ic.doc
           
 Department of Computing,  That which you call a crime when one man does it,
 Imperial College.         you call government when done by many.
 180 Queensgate          
 London SW7 UK.          

pcg@aber.ac.uk (Piercarlo Grandi) (06/15/91)

On 4 Jun 91 23:44:50 GMT, warwick@cs.uq.oz.au (Warwick Allison) said:

warwick> The Queensland University of Technology has developed a
warwick> Modula-2 compiler which produces C as intermediate code.

They come second; the excellent p2c translator developed at CalTech by
gjc also translates Modula 2 to C, as well as many Pascal dialects. It
is easily retrievable by FTP from the CS CalTech server.

warwick> [ ... ] Great stuff, cheers to QUT.

Cheers also to gjc at CalTech. Now, if only he had chosen to develop
more sensible things than a 30,000 long symbolic algebra calculator in
Emacs Lisp as his next project... :-). But I remain a gjc fan.
--
Piercarlo Grandi                   | ARPA: pcg%uk.ac.aber@nsfnet-relay.ac.uk
Dept of CS, UCW Aberystwyth        | UUCP: ...!mcsun!ukc!aber-cs!pcg
Penglais, Aberystwyth SY23 3BZ, UK | INET: pcg@aber.ac.uk

Pat.Terry@p101.f4.n7104.z5.fidonet.org (Pat Terry) (06/16/91)

pcg@aber.ac.uk (Piercarlo Grandi) writes

 >warwick> The Queensland University of Technology has developed a
 >warwick> Modula-2 compiler which produces C as intermediate code.

 >They come second; the excellent p2c translator developed at CalTech by
 >gjc also translates Modula 2 to C, as well as many Pascal dialects. It
 >is easily retrievable by FTP from the CS CalTech server.

I think you miss the point.  GPM is a proper compiler, not a "convert as much 
as we can to C" product.  Also it has one of the best outhorities on M-2 as its 
primary author.
 




--  
uucp: uunet!m2xenix!puddle!5!7104!4.101!Pat.Terry
Internet: Pat.Terry@p101.f4.n7104.z5.fidonet.org

warwick@cs.uq.oz.au (Warwick Allison) (06/17/91)

>warwick> The Queensland University of Technology has developed a
>warwick> Modula-2 compiler which produces C as intermediate code.

>They come second; the excellent p2c translator developed at CalTech by
>gjc also translates Modula 2 to C, as well as many Pascal dialects. It
>is easily retrievable by FTP from the CS CalTech server.

But does p2c optimise in the translation (see post from QUT)

Warwick.
--
  _-_|\       warwick@cs.uq.oz.au
 /     *  <-- Computer Science Department,
 \_.-._/      University of Queensland,
      v       Brisbane, AUSTRALIA.