[net.micro.mac] Mac C 1.5 - after the upgrade

chuqui@nsc.UUCP (Chuq Von Rospach) (06/17/85)

I've had the upgrade to Consulair's Mac C compiler (version 1.5 is the
compiler minus floating point, 2.0 has floating point) and I'm been working
at porting Doug Moen's 'example' application template to MacC from Sumacc.

So far, I'm pretty impressed with Mac C, but there are some interesting
warts on the system that I keep stepping into, and since I haven't seen anyone
mention these on the net I thought I would pass my findings on to people
considering buying the compiler.

First, remember that MacC requires the Apple Macintosh Development System,
it is NOT a standalone compiler. It interfaces well with the MDS, but
remember that you have to buy both unless you bpought early enough to get
the prerelease version of the MDS that consulair was shipping with the
compiler before April. 

I've found three discrepancies between IM and the Mac C implementation of
the Toolkit (the Toolkit support package is the strongest part of the
compiler package. MacC generates standalone applications, and supports the
full Toolkit on the Mac in a straightforward and useful way):

    o in Packages.h, the structure SFReply uses the name 'Name' for the
    filename instead of the IM fName.

    o FlushEvents(), which was originally defined in two places in IM,
    still supports the obsolete one parameter form.

    o SetEventMask() seems to have been left out of the trap list.


None of these are major problems, more or less hassles. The only real
'problem' that I've found, and I consider this a significant weakness, is
that the compiler is case dependent on function names and toolkit traps
(flushEvents() is significant from FlushEvents()) but when the linker 
can't resolve the difference, it prints the error message out in full
upper case. This makes locating case problems a real pain, especially in
multifile compilations such as Example. People who are planning to do
serious application development should be aware of this in MacC and plan 
accordingly. 

I'm right now trying to track down the last few link problems in Example,
and assuming I don't run into strange problems with it, should be able to
post a MacC version of it soon.

Many thanks to Doug for writing Example originally and for answering a lot
of really dumb questions during the port. I think we're going to try to
come up with a version that is source code compatible between MacC and
Sumacc once I have something stable, and that way we can move enhancements
to both compilers rather easily.

chuq

P.S. anyone implement 'grep' for the Mac yet? *sigh*


-- 
:From the misfiring synapses of:                  Chuq Von Rospach
{cbosgd,fortune,hplabs,ihnp4,seismo}!nsc!chuqui   nsc!chuqui@decwrl.ARPA

The offices were very nice, and the clients were only raping the land, and
then, of course, there was the money...