Article View: comp.lang.modula2
Article #173Re: Modula2 front end for gcc?
From: Devon E Bowen
Date: Fri, 14 Jul 1989 18:39
Date: Fri, 14 Jul 1989 18:39
54 lines
2937 bytes
2937 bytes
In article <944@gould.doc.ic.ac.uk> dcw@doc.ic.ac.uk (Duncan C White) writes:
>I am still testing this translator out, but if anyone would like to look at
>it, I'd be happy to send them the source code & documents. On a strictly
>as-is basis!!
I'm very interested. Please let me know where I can get a copy.
>>As far as its characteristics, it will have all the feature described
>>by Wirth (yes, even coroutines).
>
>May I ask how it does this? setjmp()/longjmp() ? or assembly-support.
This is, of course, OS/architecture dependent. We pan to implement it as
such by leaving it in the separate Processes module. We will then write
the module according to the OS/architecture. We plan to support true
parallel processing on the Encore Multimax and coroutines on BSD and SunOS.
The Multimax port will be simple since the OS already provides for shared
memory and semaphores. For the BSD and SunOS modules, we'll probably use
assembly to save and rewrite the call frame as needed. This is the last
of our concerns at this stage, though. I am very interested in talking to
Peter about his setjmp/longjmp ideas. Can I get an address for him?
>> 2) variable number of parameters passed to a function.
>
>Presumably when you pass a variable no of parameters to a function, type-
>checking goes out of the window?
Right. This is being included to take advantage of the variable parameter
C I/O like printf, etc. The cleanest way to do this is to define a new
procedure type (maybe "cprocedure") that tells the system to just accept
any parameters with no type checking. This still leaves it as an extension
that will not break the standard language.
>I like the assertion function built into the language.
Thanks. This will initially only be included as an external module. It
can then be added as a compiler-known function later. This is needed in
case our compiler eventually ends up used in introductory classes (which
are currently taught on Macs).
>As to linking with C, that's absolutely essential IMHO..
Couldn't agree with you more (expecially since I'm primarily a C hack).
>If you want any beta-testers, let me know...
I'll be posting here when ready. I've gotten a lot of interst by mail
as well.
Devon Bowen (KA2NRC) FAX: (716) 636-3464
University at Buffalo BITNET: bowen@sunybcs.BITNET
Internet: bowen@cs.Buffalo.EDU
UUCP: ...!{watmath,boulder,decvax,rutgers}!sunybcs!bowen
Technical Details
Message-ID:
<7943@cs.Buffalo.EDU>Path:
arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!leah!bingvaxu!sunybcs!bowenReferences:
<8728@pyr.gatech.EDU> <7894@cs.Buffalo.EDU> <944@gould.doc.ic.ac.uk>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!leah!bingvaxu!sunybcs!bowen From: bowen@cs.Buffalo.EDU (Devon E Bowen) Newsgroups: comp.lang.modula2 Subject: Re: Modula2 front end for gcc? Message-ID: <7943@cs.Buffalo.EDU> Date: 14 Jul 89 18:39:20 GMT References: <8728@pyr.gatech.EDU> <7894@cs.Buffalo.EDU> <944@gould.doc.ic.ac.uk> Reply-To: bowen@sunybcs.UUCP (Devon E Bowen) Organization: SUNY/Buffalo Computer Science Lines: 54