home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.modula2
- Path: sparky!uunet!usc!elroy.jpl.nasa.gov!jato!csi!rrunner!eldred
- From: eldred@rrunner.jpl.nasa.gov (Dan Eldred)
- Subject: MacMETH 3.2 Modula 2 compiler--free
- Message-ID: <1992Dec23.024931.28817@csi.jpl.nasa.gov>
- Sender: usenet@csi.jpl.nasa.gov (Network Noise Transfer Service)
- Nntp-Posting-Host: rrunner
- Organization: Jet Propulsion Laboratory
- Date: Wed, 23 Dec 1992 02:49:31 GMT
- Lines: 56
-
- I recently ran across a modula2 compiler called MacMETH 3.2 on
- the sumex-aim archive. It is written by N. Wirth et al for the
- Macintosh, and it seems to be a pretty nice self contained package,
- once you get used to their abuse of the Macintosh user interface.
- I'm surprised to have not seen discussion about it on this newsgroup,
- so I'll start it. Features of MacMETH include:
-
- Built in editor which displays errors generated by compiler
- Option to use editor of your choice
- Smart shell for edit/compile/run cycles
- Compiler with 68000/68020/68040 options
- Linker for generating stand-alone applications
- Symbolic debugger
- Cross reference utility
- Lots of examples
- Extensive libraries (e.g. CursorMouse, Menu, FileSystem, etc.)
- A detailed and useful manual in Microsoft Word (~200 pages).
-
- The libraries make it much easier to do Macintosh GUI programming than
- by using the toolbox routines directly (which are also accessible); the
- ease of programming is comparable to Microsoft Quickbasic. I've run
- both the compiler and programs generated with it on a Mac Plus, an SE/30,
- and on a Mac Quadra without problems.
-
- The main irritation I have with MacMETH 3.2 is that it doesn't use the
- Macintosh interface in the normal way (but you get used to it quickly).
- While doing operations such as opening a file, a one-line window opens
- up at the bottom of the screen which displays a "best guess" for the
- next command. For example, if you have selected the "Edit" command then
- this window displays the name of the file which you have worked on most
- recently. To activate this selection you either have to hit the enter
- key or click the mouse on this small window. To get the standard Macintosh
- dialog box for opening a file, you hit the tab key when this small window
- opens. This is really obscure, violates the Macintosh GUI strategy, and
- I didn't figure it out until I plowed through the manual. Error messages
- are also displayed in this small window. Even though the system does
- become pretty efficient once you do learn it, it does not come close to
- conforming to the Mac interface.
-
- The only other problem I have found so far is that pathname variables
- are limited to 63 characters. This means you can't have source files
- for MacMETH buried too deep in a directory tree.
-
- User interface aside, it is a very high quality product. In particular,
- it has the simplicity and well-thought organization which are trademarks
- of N. Wirth. I had never touched a line of Modula code before MacMETH
- (I'm a Unix C programmer with experience in Pascal), yet I was up, running
- and writing code in Modula almost immediately. I'm certain there are other
- limitations (segment size, number of globals, size of symbol table, etc.)
- which are typical of Mac programs, though the manual claims that some very
- large projects were compiled with MacMETH. Also I don't know how to link a
- MacMETH program to, say, a Think C or Think Pascal program (any hints?).
- Nevertheless, I strongly recommend MacMETH 3.2. And you can't beat the
- price.
-
- - Dan eldred@rrunner.jpl.nasa.gov
-