home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.atari.st.tech
- Path: sparky!uunet!mnemosyne.cs.du.edu!nyx!ilepore
- From: ilepore@nyx.cs.du.edu (Ian Lepore)
- Subject: Sozobon 1.2, 1.33i, 2.0, Heat-and-Serve
- Message-ID: <1992Jul31.190446.5353@mnemosyne.cs.du.edu>
- X-Disclaimer: Nyx is a public access Unix system run by the University
- of Denver for the Denver community. The University has neither
- control over nor responsibility for the opinions of users.
- Sender: usenet@mnemosyne.cs.du.edu (netnews admin account)
- Organization: Nyx, Public Access Unix at U. of Denver Math/CS dept.
- Date: Fri, 31 Jul 92 19:04:46 GMT
- Lines: 63
-
- Sozobon v1.2 is the first release that can rightly be said to have really
- worked at all. Not that it worked well, mind, there's a large variety of
- codegen bugs and sequences in source that can gracelessly crash the compiler.
- You have to be well on your way to being an ST (and to some degree unix) guru
- just to install the compiler and do a Hello World program. A beginner has
- little chance of getting this beast installed and configured without help.
-
- Sozobon v2.0 is v1.2 warmed over. It adds long external identifiers as a
- new feature, but little else. All the codegen bugs from v1.2 are still
- there. It also includes a debugger, which will work with all other versions
- of Sozobon or HSC as well.
-
- Sozobon v1.33i is my modified version of Sozobon v1.2. I dubbed it the
- "Heat-and-Serve" release, because it comes with an INSTALL.PRG that installs
- and configures the compiler for you. At the end of the install, you can
- just double-click on EXAMPLES.MAK (or, for CLI users, cd examples;make) and
- it's up and running, compiling a test suite for you to ensure the installation
- was clean. v1.33i is basically v1.2 with lots of bugfixes and a fair number
- of new features. The new features include desktop-friendliness, for those
- (like me) who hate using a CLI, and a variety of extensions that move toward
- ANSI compatibility. (EG, #else, #error, #line, #pragma handling; adjacent
- string literals are concatenated into a single string; things like that.)
- The optimizer in 1.33i is improved with lots of new peephole sequences.
- All the compiler pieces are faster, generally at least 50% faster, than 1.2.
- Source code that would crash 1.2 is accepted by 1.33 in most cases. (And,
- when a bad code sequence is encountered that confuses it, it gets reported
- like any other error, instead of just putting bombs on the screen.)
-
- To avoid confusion with ongoing releases of Sozobon (v2.0 was released by
- the sozo crew just after I had released 1.33i; I thought they had gone out
- of the ST business), I've changed the name of my versions to Heat-and-Serve C
- (HSC) from now on. Version 1.40 is in testing now, and should be ready for
- release in a couple weeks. New things in 1.40 include:
-
- - More improvements towards ANSI compatibility (still not prototypes yet)
- including #elif handling, proper handling of function-like macros.
- - Codegen bugfixes; library routine bugfixes.
- - Full ARGV support on all tools, compiler pieces, and programs created
- with the new compiler/library.
- - The compiler runs properly as a MiNT background task now.
- - The optimizer is WAY faster (eg: one module that used to take 7 minutes
- to optimize now takes 90 seconds); this affects mainly the worstcase
- situations like huge functions to be optimized.
- - You can now access arrays of any size. In general, pointer math is
- much more compliant than it used to be. size_t is still unsigned short,
- and sizeof(int) is still hardwired as 2 bytes. Despite this, you can
- use a size_t type to index into an array bigger than 32 or 64k. (But,
- if you ask for sizeof(hugearray) it'll give you a loss-of-significance
- error).
- - You are still limited to 32k on the size of any single structure, but
- you can have arrays of structures that exceed 32 or 64k total. (I humbly
- suggest that if you have a structure bigger then 32k, it might be wise
- to reconsider your design; there are certainly other ways to skin that cat).
-
- Well, that about covers it. There's a zillion other little things that have
- been enhanced in 1.33i and 1.40 that I haven't mentioned. (Oh -- full
- support for void* types was added to 1.33i, forgot to mention that.)
-
-
- --
- - Ian
- (void *) where prohibited by law
-
-