Archive-name: compilers/free/part2 Last-modified: 2000/02/08 Version: 10.3 C variants ------------------------------------------------------------------------------- category: C variants description: These are languages that are closely based on C. lref: C-Refine,C++-Refine&comma *-Refine iref: (Duel) DUEL language: C, C++, Objective-C, RTL package: GNU CC (gcc) version: 2.7.1 parts: compiler, runtime, examples, documentation Library listed separately author: Richard Stallman and others location: ftp gcc-2.X.X.tar.gz from a GNU archive site MSDOS: ftp://oak.oakland.edu/pub/msdos/djgpp/* 6811: ftp://netcom.com/pub/coactive/gcc-6811-beta.tar.gz (these are diffs from 2.5.8 distribution) description: A very high quality, very portable compiler for C, C++, Objective-C. The compiler is designed to support multiple front-ends and multiple back-ends by translating first into RTL (Register Transfer Language) and from there into assembly for the target architecture. Front ends for Ada, Pascal, and Fortran are all under development. There is a bounds checking port based on gcc 2.7.1. Patches for this port are available at: ftp://dse.doc.ic.ac.uk/pub/misc/bcc conformance: C: superset of K&R C and ANSI C. C++: supports most ARM features; exceptions supported only on some platforms. Supports "bool". Alpha-level RTTI implementation included. Not yet supported: member templates, namespaces. Developers are tracking the draft ANSI/ISO standard and are committee members. Objective-C: Complies with NeXT proposed (ANSI?) standard. bugs: gnu.gcc.bug (for C/Objective-C), gnu.g++.bug (for C++) restriction: GNU General Public License ports: 3b1, a29k, aix385, alpha, altos3068, amix, arm, convex, crds, elxsi, fx2800, fx80, genix, hp320, clipper, i386-{dos,isc,sco,sysv.3,sysv.4,mach,bsd,linux,windows,OS/2}, iris,i860, i960, irix4, m68k, m88ksvsv.3, mips-news, mot3300, next, ns32k, nws3250-v.4, hp-pa, pc532, plexus, pyramid, romp, rs6000, sparc-sunos, freebsd sparc-solaris2, sparc-sysv.4, spur, sun386, tahoe, tow, umpis, vax-vms, vax-bsd, we32k, hitachi-{SH,8300}, 6811 portability: very high status: actively developed discussion: gnu.gcc.help (for C/Objective-C), gnu.g++.help (for C++) announcements: gnu.gcc.announce (for C/Objective-C), gnu.g++.announce (for C++) updated: 1995 language: C, C++, Objective-C, RTL package: GNU CC (gcc) - unsupported Macintosh port version: 1.37 parts: compiler, runtime, examples, documentation Library listed separately author: ? location: mpw-gcc-1.37.1r14 from ? description: This is an unsupported port of the GNU C compiler to the Macintosh environment. [If anyone knows who the author is please let me know - ed] bugs: ? restriction: GNU General Public License ports: Macintosh portability: very high status: ? updated: 1993/11/27 language: C, Fortran, SUIF package: Stanford Base SUIF Compiler Package (``basesuif'') version: 1.1.2 parts: compiler(->C,->SUIF), run-time, documentation, examples author: "Stanford Compiler Group" <[email protected]> location: ftp pub/suif/basesuif-1.1.2.tar.gz from ftp-suif.stanford.edu http://www-suif.Stanford.EDU description: SUIF is a framework for building large, complex compilers, targeted particular toward research in compiler algorithms. This package is the core of the system. It contains a kernel, which supports the Stanford University Intermediate Format (file I/O, manipulation, etc.), and a toolkit consisting of passes and libraries for program transformation. conformance: C front end, C back end ANSI-C, FORTRAN front end mostly f77, defining implementation of SUIF IR reference: Wide range of published papers available from web site bugs: [email protected] mailing list (more than 100 subscribers to this mailing list, including authors) restriction: Free for any use, commercial or non-commercial, only requires copyright notice be preserved; currently used in commercial products requires: Modern C++ compiler, such as GNU g++ 2.7.2.1, GNU make ports: Ultrix/DECstation, SunOS/SPARC, Solaris/SPARC/x86, Irix/SGI-Mips, Linux/x86, OSF/DECAlpha, + many more UNIX systems; partial ports to Visual C++ under NT and to Power Macintosh portability: Very system independent, but makefiles need to be replaced for non-UNIX systems if GNU make isn't used status: Very active and growing quickly, with Java and C++ front-ends, connections from DEC Fortran, gcc, and g++ front-ends and to gcc's RTL back-ends, and new code generators for many systems funded and underway, all to be made available publicly discussion: Several mailing lists, see http://www-suif.stanford.edu help: Several mailing lists, more than 200 active users support: No ``official'' support, but mailing lists usually provide support to any who ask announcements: [email protected] mailing list (see web site) updated: 1997/04 language: SUIF package: Harvard Machine SUIF (``machSUIF'') version: 1.1.2.beta parts: compiler(->MIPS,->ALPHA), libraries, documentation author: "HUBE Group" <[email protected]> location: ftp pub/hube/machsuif-1.1.2.beta.tar.gz from ftp.eecs.harvard.edu http://www.eecs.harvard.edu/~hube description: MachSUIF is a framework built on top of SUIF for building back-ends. The basic machSUIF distribution contains back-ends for MIPS and ALPHA and a general framework for building other back-ends for SUIF. reference: Several published papers, see web site restriction: Free for any use, commercial or non-commercial, only requires copyright notice be preserved requires: basesuif-1.1.2 ports: HP-UX 9.0, Digital Unix 3.2, BSD/OS 2.1 portability: Designed to be system independent status: Very active, new back-ends under way updated: 1997/05 language: Simple SUIF, SUIF package: Simple SUIF version: 1.0.0.beta.1 parts: translators(SUIF->SimpleSUIF, SimpleSUIF->SUIF), libraries, documentation author: "Stanford Compiler Group" <[email protected]> location: ftp pub/suif/simplesuif-1.0.0.beta.1.tar.gz from ftp-suif.stanford.edu description: Simple SUIF is a special IR designed for teaching compiler optimization, based on a simplified version of SUIF. This package includes a core library to manipulate the IR and read and write Simple SUIF files, plus a program to print Simple SUIF files and translators to and from regular SUIF, so all regular SUIF front and back ends can be hooked to Simple SUIF. bugs: [email protected] mailing list restriction: Free for any use, commercial or non-commercial, only requires copyright notice be preserved requires: basesuif-1.1.2 ports: Ultrix/DECstation, SunOS/SPARC, Solaris/SPARC/x86, Irix/SGI-Mips, Linux/x86, OSF/DECAlpha, + many more UNIX systems; portability: Very system independent, but makefiles need to be replaced for non-UNIX systems if GNU make isn't used status: A re-written version has been developed and will eventually be released, re-written version used in Stanford compiler class; released version used in a number of compiler classes at different universities discussion: [email protected] mailing list help: [email protected] mailing list support: No ``official'' support, but mailing lists usually provide support to any who ask announcements: [email protected] mailing list (see web site) updated: 1995/12 language: SUIF package: Stanford Base SUIF Parallelizer Package (``baseparsuif'') version: 1.0.0.beta.2 parts: compiler(SUIF->SUIF), runtime, examples author: "Stanford Compiler Group" <[email protected]> location: ftp pub/suif/baseparsuif-1.0.0.beta.2.tar.gz from ftp-suif.stanford.edu http://www-suif.Stanford.EDU description: This package contains a number of libraries and transformation and analysis passes to detect parallel loops and generate calls to a parallel runtime system for shared-address space multiprocessors. It parallelizes major benchmarks and provides good speedups on them. reference: See web site for papers bugs: [email protected] mailing list restriction: Free for any use, commercial or non-commercial, only requires copyright notice be preserved requires: basesuif-1.1.2 ports: Parallel runtime system ported to pthreads, DEC Alpha, KSR, SGI Irix, Stanford DASH systems portability: Runtime system should run on any machine with pthreads, others need complete custom version of the runtime, but the rest of the compiler is very system independent status: Active, with new reorganization and enhancements for interprocedural analysis, C pointer analysis planned discussion: [email protected] mailing list help: [email protected] mailing list support: No ``official'' support, but mailing lists usually provide support to any who ask announcements: [email protected] mailing list (see web site) updated: 1996/07 language: SUIF, Fortran77 package: SUIF Fortran Back-End (``fortback'') version: 1.0.0.beta.2 parts: compiler(SUIF->Fortran77) author: "Stanford Compiler Group" <[email protected]> location: ftp pub/suif/fortback-1.0.0.beta.2.tar.gz from ftp-suif.stanford.edu http://www-suif.Stanford.EDU description: This package provides a translation from SUIF to Fortran77. Since not all of SUIF can translate to Fortran 77, program is broken up into parts that go to Fortran 77, and the rest goes to C which is then linked to the Fortran parts. This provides improved performance over generating C alone in many cases because the Fortran 77 back-end compiler can often optimize better than a C compiler. conformance: output is ANSI Fortran 77 bugs: [email protected] mailing list restriction: Free for any use, commercial or non-commercial, only requires copyright notice be preserved requires: basesuif-1.1.2 ports: Ultrix/DECstation, SunOS/SPARC, Solaris/SPARC/x86, Irix/SGI-Mips, Linux/x86, OSF/DECAlpha, + many more UNIX systems; portability: Very system independent, but makefiles need to be replaced for non-UNIX systems if GNU make isn't used status: Actively used discussion: [email protected] mailing list help: [email protected] mailing list support: No ``official'' support, but mailing lists usually provide support to any who ask announcements: [email protected] mailing list (see web site) updated: 1996/07 language: SUIF package: SUIF Visual Browser (``suifvbrowser'') version: 1.0.0.beta.1 parts: SUIF IR visualization tool author: "Stanford Compiler Group" <[email protected]> location: ftp pub/suif/suifvbrowser-1.0.0.beta.1.tar.gz from ftp-suif.stanford.edu http://www-suif.Stanford.EDU description: The SUIF Visual Browser allows SUIF format files to be interactively browsed with a GUI under X. Windows show the SUIF representation, call-graph, source code, generated code, clicking in one window highlights corresponding pieces in other windows. bugs: [email protected] mailing list restriction: Free for any use, commercial or non-commercial, only requires copyright notice be preserved requires: basesuif-1.1.2, TCL-7.4, TK-4.0 ports: Ultrix/DECstation, SunOS/SPARC, Solaris/SPARC/x86, Irix/SGI-Mips, Linux/x86, OSF/DECAlpha, + many more UNIX systems; portability: Should be portable to any TCL/TK 7.4/4.0 implementation status: actively used discussion: [email protected] mailing list help: [email protected] mailing list support: No ``official'' support, but mailing lists usually provide support to any who ask announcements: [email protected] mailing list (see web site) updated: 1996/04 language: SUIF package: Halt SUIF version: 1.1.2.beta parts: instrumentation program author: "HUBE Group" <[email protected]> location: ftp users/cyoung/hatl.tar.gz from ftp.eecs.harvard.edu http://www.eecs.harvard.edu/~hube description: Halt SUIF takes SUIF code and instruments it so that the resulting output will produce branch feedback information for performance tuning. requires: basesuif-1.1.2 updated: ? language: SUIF package: SPARC Backend for SUIF (``sgen'') version: 1.0 parts: compiler(->SPARC) author: "UofT Compiler Group" <[email protected]> location: http://www.eecg.toronto.edu/~tcm/suif_code/sgen.tar.gz description: This is a SPARC code generator for SUIF based on the Harvard MachSUIF back-end framework for SUIF. bugs: [email protected] restriction: Free for any use, commercial or non-commercial, only requires copyright notice be preserved requires: basesuif-1.1.2, machsuif-1.1.2.beta ports: Solaris/SPARC status: PowerPC back-end coming soon support: No official support, authors will try to help updated: 1996/05 language: Sirius package: Sirius version: 1.2 parts: bytecode compiler, interpreter, linker, librarian, debugger, make, documentation, Windows IDE, misc utilities author: Alan Conroy. [email protected] location: http://www.accessone.com/~conroy/sirius.html features: non-conforming subset of Sirius programming language. bugs: http://www.accessone.com/~conroy/sirius.html restriction: none requires: DOS or Windows portability: MS DOS (v2.0 or later), MS Windows (v3.1 or later) status: supported help: http://www.accessone.com/~conroy/sirius.html support: [email protected] announcements: http://www.accessone.com/~conroy/sirius.html updated: 1997/09/06 language: C package: GNU C Library (glibc) version: 2.0.3 parts: library, documentation author: ? location: ftp glibc-2.0.3.tar.gz from a GNU archive site Source for "crypt" must be FTP'ed from non-USA site if you are outside the USA: ftp://glibc-1.09-crypt.tar.z from ftp.uni-c.dk. description: The GNU C library is a complete drop-in replacement for libc.a on Unix. It conforms to the ANSI C standard and POSIX.1, has most of the functions specified by POSIX.2, and is intended to be upward compatible with 4.3 and 4.4 BSD. It also has several functions from System V and other systems, plus GNU extensions. conformance: ANSI and POSIX.1 superset. Large subset of POSIX.2 bugs: Reports sent to mailing list [email protected]. ports: most os's on alpha, i386, m88k, mips, and sparc updated: 1994/11/07 language: C package: fdlibm version: ? parts: library author: Dr. K-C Ng location: ftp://netlib.att.com/netlib/fdlibm.tar description: Dr. K-C Ng has developed a new version of libm that is the basis for the bundled /usr/lib/libm.so in Solaris 2.3 for SPARC and for future Solaris 2 releases for x86 and PowerPC. It provides the standard functions necessary to pass the usual test suites. This new libm can be configured to handle exceptions in accordance with various language standards or in the spirit of IEEE 754. The C source code should be portable to any IEEE 754 system with minimal difficulty. conformance: IEEE 754 bugs: Send comments and bug reports to: [email protected]. updated: 1993/12/18 language: C package: c68/c386 version: 4.2a parts: compiler author: Matthew Brandt, Christoph van Wuellen, Keith and Dave Walker location: ftp://archimedes.nosc.mil/pub/misc/c386-4.2b.tar.Z [Temporary location, looking for a permanent home. -ed] You can get an older, 68k-only version from ftp://bode.ee.ualberta.ca/motorola/m68k/cc68k.arc description: K&R C plus prototypes and other ANSI features. targetted to several 68k and i386 assemblers, incl. gas. floating point support by inline code or emulation. lots of available warnings. better code generation than ACK. ports: 386 and 68k Minix. generic unix actually. status: actively worked on by the Walkers. discussion: comp.os.minix updated: ? language: C package: GNU superoptimizer version: 2.5 parts: exhaustive instruction sequence optimizer author: Torbjorn Granlund <[email protected]> with Tom Wood location: ftp superopt-2.5.tar.Z from a GNU archive site description: GSO is a function sequence generator that uses an exhaustive generate-and-test approach to find the shortest instruction sequence for a given function. You have to tell the superoptimizer which function and which CPU you want to get code for. This is useful for compiler writers. bugs: Torbjorn Granlund <[email protected]> restriction: GNU General Public License ports: Alpha, Sparc, i386, 88k, RS/6000, 68k, 29k, Pyramid(SP,AP,XP) updated: 1995 language: C package: cutils version: 1.5.2 description: C language miscellaneous utilities parts: C language miscellaneous utilities; C, obfusc, shrouder, highlight, yacc, literate author: [email protected] (Sandro Sigala) location: ftp://ftp.vix.com/guests/ssigala/pub/cutils ftp://sunsite.unc.edu/pub/Linux/devel/lang/c requires: ANSI C compiler restrictions: BSD-like updated: 1997/11 language: C package: xdbx version: 2.1 parts: X11 front end for dbx author: ? location: retrieve xxgdb from comp.sources.x volumes 11, 12, 13, 14, & 16 description: ? contact: Po Cheung <[email protected]> updated: 1992/02/22 language: C package: ups version: 2.1 parts: interpreter, symbolic debugger, tests, documentation author: Mark Russell <[email protected]> location: ? ftp://export.lcs.mit.edu/contrib/ups*.tar.Z ? unofficial: unofficial enhancements by Rod Armstrong <[email protected]>, available ftp://sj.ate.slb.com/misc/unix/ups/contrib/rob description: Ups is a source level C debugger that runs under X11 or SunView. Ups includes a C interpreter which allows you to add fragments of code simply by editing them into the source window bugs: Mark Russell <[email protected]> ports: Sun, Decstation, VAX(ultrix), HLH Clipper discussion: [email protected] updated: 1991/05/20 language: C package: C-Interp version: ? parts: interpreter author: ? location: ftp://oac2.hsc.uth.tmc.edu/Mac/Misc/C_Interp.sit description: An interpreter for a small subset of C, originally part of a communications package. contact: ? Chuck Shotton <[email protected]> updated: 1993/05/14 language: C package: ae (application executive) version: 2 parts: interpreter author: Brian Bliss <[email protected]> location: ftp://sp2.csrd.uiuc.edu/pub/CSRD_Software/APPL_EXEC/ description: ae (the "application executive") is a C interpreter library which is compiled with an application; hence, the interpreter exists in the same process and address space. it includes a dbx symbol table scanner to access compiled vars & routines, or you can enter them manually by providing a type/name declaration and the address. when the interpreter is invoked, source code fragments are read from the input stream (or a string), parsed, and evaluated immediately. The user can call compiled functions in addition to a few built-in intrinsics, declare new data types and data objects, etc. Different input streams can be evaluated in parallel on alliant machines. Version 2 differs substantially in that the code fragments are read into an intermediate form before being evaluated, and can be stored in this form and then called from either user code or the interpreter. Version 2 also handles looping constructs (and the full C language), unlike version 1. ports: SunOS (cc or gcc), Alliant FX, SGI (partial), Cray YMP (partial) updated: 1993/07/18 language: C (ANSI), lcc intermediate format package: lcc version: 3.4b parts: compiler, test suite, documentation authors: Chris Fraser <[email protected]> Dave Hanson <[email protected]> location: ftp://ftp.cs.princeton.edu/pub/lcc/* description: + hand coded C parser (faster than yacc) + retargetable + code "nearly as good as GCC" ports: x86, MIPS, SPARC status: small-scale production use discussion: email "subscribe lcc" to [email protected] updated: 1995/02/01 language: C, lcc intermediate format package: Chop version: 0.6 parts: code generator author: Alan L. Wendt <[email protected]> location: ftp://beethoven.cs.colostate.edu/pub/chop/0.6.tar.Z description: The current revision, 0.6, is interfaced with Fraser and Hanson's lcc front end. The result is a highly fast C compiler with good code selection and no global optimization. Project Status: Chop compiles and runs a number of small test programs on the Vax. I'm currently updating the NS32k and 68K retargets for lcc compatibility. After I get them working, I'll work on getting the system to compile itself, get struct assignments working, improve the code quality and compile speed, and run the SPEC benchmarks. That will be rev 1.0. reference: "Fast Code Generation Using Automatically-Generated Decision Trees", ACM SIGPLAN '90 PLDI updated: 1993/04/28 language: C (ANSI) package: lcc-win32 version: 1.2 parts: compiler, assembler, linker, resource compiler, resource editor, IDE, debugger, Windows header files, windows import libraries, make/dump utilities, import library generator. authors: Chris Fraser, Dave Hanson, Jacob Navia location: http://www.remcomp.com/lcc-win32 description: A free compiler system centered around the lcc compiler version 3.6 and heavily modified to run under windows 95/NT. Enhancements include native MMX instruction support through intrinsics, an optimizer, etc. ports: Runs only under windows 32 (Windows 95/NT) status: production use updated: 1977/08/01 contact: [email protected] bugs: [email protected] conformance: ANSI C + enhancements for windows 95/NT. Compatible MSVC. updated: ? language: C package: Cxref version: 1.4 parts: Documentation + Cross-reference generator author: Andrew M. Bishop <[email protected]> location: ftp://ftp.demon.co.uk/pub/unix/unix/tools/cxref-1.4.tgz ftp://sunsite.unc.edu/pub/Linux/devel/lang/c/cxref-1.4.tgz http://www.gedanken.demon.co.uk description: Produce LaTeX or HTML documentation including cross-references from C program source code. The documentation for the program is produced from comments in the code that are appropriately formatted. Cross references are provided for global variables, functions, include files and type definitions. features: + ANSI C + GCC extensions restrictions: GPL requires: Yacc, Lex, C compiler, HTML browser and/or LaTeX. ports: UNIX (Linux, SunOS, Solaris, HPUX) others? portability: Will compile for WinNT, OS/2, but needs a little work. status: Version 1.4 is stable Version 1.3 is stable (with known patches) Version 1.2 has a few bugs (fixed in 1.2[ab] patches). Versions 1.0 & 1.1 are known to contain bugs. discussion: By mail to author [email protected], or on cxref homepage via http://www.gedanken.demon.co.uk/ bugs: As for discussion above. help: As for discussion above. support: As for discussion above. announcements: comp.os.linux.announce and homepage. updated: 1997/07 language: C package: C-Tree version: .04 parts: Source author: Shaun Flisakowski location: ftp.kagi.com:/flisakow/ctree_04.tar.gz ftp.kagi.com:/flisakow/ctree_04.zip ftp.cs.wisc.edu:/coral/tmp/spf/ctree_04.tar.gz description: Takes the name of a file to parse as input, and returns a pointer to the parse tree generated; or NULL if there are errors, printing the errors to stderr. It is written using flex and bison. updated: 1997/07/13 language: C preprocessor package: amc version: 1.0 parts: compiler author: [email protected] location: http://www.din.net/amc description: Gives languages like C a module structure more akin to TurboPascal. Support for a more dynamic form of OOP is still in development, although the hooks are here. Some documentation is really needed, any voulanteers? features: well written code (IMHO), can easily add your own extensions and integrated them with little effort. bugs: It could do a better job of copying C code rather than using MACRO's. Later. restrictions: See license agreement, not many. Just E-mail author about anything not in agreement with License. ports: HP-UX, Linux, Solaris, NeXTStep contact: [email protected] updated: 1997/06/02 language: C package: GCT version: 1.4 parts: test-coverage-preprocessor author: Brian Marick <[email protected]> location: ftp://cs.uiuc.edu/pub/testing/gct.file/ftp.* description: GCT is test-coverage tool based on GNU C. Coverage tools measure how thoroughly a test suite exercises a program. restriction: CopyLeft ports: sun3, sun4, rs/6000, 68k, 88k, hp-pa, ibm 3090, ultrix, convex, sco discussion: [email protected] support: commercial support available from author, (217) 351-7228 updated: 1993/02/12 language: C package: Maspar MPL version: 3.1 parts: compiler author: Christopher Glaeser location: ftp://maspar.maspar.com/pub/mpl-* description: MPL is based on ANSI C and includes SIMD language estensions. The new keyword "plural" is a type qualifier which is used to declare variables on a parallel array. For example, the declaration "plural int i" declares an "i" on each of the parallel processors. In addition, plural expressions can be used in IF, WHILE, SWITCH, and other statements to support plural control flow. The MPL compiler is based on the GNU compiler. contact: Christopher Glaeser [email protected] updated: ? language: C package: gc version: 3.4 parts: library author: Hans-J. Boehm <[email protected]>, Alan J. Demers location: ftp://parcftp.xerox.com/pub/russell/gc3.4.tar.Z description: This is a garbage colecting storage allocator that is intended to be used as a plug-in replacement for C's malloc. Since the collector does not require pointers to be tagged, it does not attempt to ensure that all inaccessible storage is reclaimed. However, in our experience, it is typically more successful at reclaiming unused memory than most C programs using explicit deallocation. Unlike manually introduced leaks, the amount of unreclaimed memory typically stays bounded. ports: Sun-3, Sun-4 , Vax/BSD, Ultrix, i386/Unix, SGI, Alpha/OSF/1, Sequent (single threaded), Encore (single threaded), RS/600, HP-UX, Sony News, A/UX, Amiag, NeXT. updated: 1993/11/05 language: C package: dsp56k-gcc version: ? parts: compiler author: ? location: ftp://nic.funet.fi/pub/ham/dsp/dsp56k-tools/dsp56k-gcc.tar.Z Australia: ftp://evans.ee.adfa.oz.au/pub/micros/56k/g56k.tar.Z description: A port of gcc 1.37.1 to the Motorola DSP56000 done by Motorola contact: ? updated: ? language: C package: dsp56165-gcc version: ? parts: compiler author: Andrew Sterian <[email protected]> location: ftp://wuarchive.wustl.edu/usenet/alt.sources/? description: A port of gcc 1.40 to the Motorola DSP56156 and DSP56000. updated: ? language: C package: Harvest C version: 1.3 parts: compiler, assembler, linker. author: ? location: ftp://archive.umich.edu/mac/development/languages/harves* description: The parts of the system are all integrated in a unique application, which manages a "project" composed by several C source files and resource files (which contain data). ports: Macintosh contact: Eric W. Sink updated: 1992/05/26 language: C, C++ package: Cyclo - cyclomatic complexity tool version: the one and only version parts: code analysis tool author: Roger D Binns location: alt.sources archive, 1993/06/28, <[email protected]> description: It measures cyclomatic complexity, shows function calls and can draw flowgraphs of ANSI C and C++ code. requires: lex, C++ updated: 1993/06/28 language: C package: cxref version: ? parts: code analysis tool author: Arnold Robbins <arnold@gatech.?> location: use archie description: A cross-reference genrator updated: ? language: C package: xref version: ? parts: code analysis tool author: Jim Leinweber location: use archie description: A cross-reference genrator updated: 1985 ? language: C package: csize version: 1.12 parts: code analysis tool author: Christopher Lott <[email protected]> location: http://www.cs.umd.edu/users/cml/ description: A C language code counter updated: 1994/10/17 language: C, C++ package: Xcoral version: 2.5 parts: editor author: ? location: ftp://ftp.x.org/contrib/editors/xcoral* Europe: ftp://ftp.inria.fr/X/contrib-R5/clients/xcoral* description: Xcoral is a multiwindow mouse-based text editor, for X Window System, with a built-in browser to navigate through C functions and C++ classes hierarchies... Xcoral provides variables width fonts, menus, scrollbars, buttons, search, regions, kill-buffers and 3D look. Commands are accessible from menus or standard key bindings. Xcoral is a direct Xlib client and run on color/bw X Display. Also includes HTML and Latex modes. contact: Lionel Fournigault <[email protected]> updated: 1995/12/21 language: C++ package: Lily (LIsp LibrarY) version: 0.1 parts: library author: Roger Sheldon <[email protected]> location: ftp://sunsite.unc.edu/packages/development/libraries/lily-0.1.tar.gz description: Lilly is a C++ class library which gives C++ programmers the capability to write LISP-style code. Lily's garbage collection mechanism is not sufficient for commercial use. The documentation is incomplete. restriction: GNU Library General Public License requires: C++ (g++ or Turbo C++, but not cfront) updated: 1993/11/08 language: C++ package: C++SIM version: 1.0 parts: library author: Mark Little <[email protected]> location: ftp://arjuna.ncl.ac.uk/ ?? description: C++SIM is a class library that provides the same sort of features found in the simulation class libraries of SIMULA. updated: 1993/06/14 language: C++ package: ? signatures for GCC 2.5.2. ? version: ? parts: patches to GNU CC, documentation author: Gerald Baumgartner <[email protected]> location: ftp://ftp.cs.purdue.edu/pub/gb/* description: Signatures are very similar to abstract base classes except that they have their own heirarchy and can be applied to compiled classes. They provide a means of separating subtyping and inheritance. requires: GNU CC 2.5.2 updated: 1993/11/03 language: C++ package: aard ??? version: ? parts: memory use tracer author: ? location: ftp://wilma.cs.brown.edu/pub/aard.tar.Z description: We have a prototype implementation of a tool to do memory checking. It works by keeping track of the typestate of each byte of memory in the heap and the stack. The typestate can be one of Undefined, Uninitialized, Free or Set. The program can detect invalid transitions (i.e. attempting to set or use undefined or free storage or attempting to access uninitialized storage). In addition, the program keeps track of heap management through malloc and free and at the end of the run will report all memory blocks that were not freed and that are not accessible (i.e. memory leaks). The tools works using a spliced-in shared library. requires: Sparc, C++ 3.0.1, SunOS 4.X contact: Steve Reiss <[email protected]> updated: ? language: C++ package: ET++ version: 3.0-alpha parts: class libraries, documentation author: ? location: ftp://iamsun.unibe.ch/C++/ET++/* description: ? contact: Erich Gamma <[email protected]> updated: 1992/10/26 language: C++ package: C++ grammar version: ? parts: parser (yacc) author: ? location: comp.sources.misc volume ? description: [is this a copy of the Roskind grammar or something else? --ed] updated: 1991/10/23 language: C++ package: cppp version: 1.14 parts: parser (yacc) author: Tony Davis <[email protected]> location: ftp://wilma.cs.brown.edu/pub/cppp.tar.Z description: A compiler front-end for C++, with complete semantic processing. Outputs abstract syntax graph. restriction: Permission needed for incorporation into commercial software. requires: Native C++ compiler, lex, yacc, make, sed (or hand editing) status: Upgrading the back end. updated: 1993/05/26 language: C++ package: C++ Object Oriented Library version: COOL ?, GECOOL 2.1, JCOOL 0.1 parts: libraries, tests, documentation author: ? location: GECOOL, JCOOL: ftp://cs.utexas.edu/pub/COOL/* COOL: ftp://csc.ti.com/pub/COOL.tar.Z description: A C++ class library developed at Texas Instruments. Cool contains a set of containers like Vectors, List, Hash_Table, etc. It uses a shallow hierarchy with no common base class. The funtionality is close to Common Lisp data structures (like libg++). The template syntax is very close to Cfront3.x and g++2.x. Can build shared libraries on Suns. JCOOL's main difference from COOL and GECOOL is that it uses real C++ templates instead of a similar syntax that is preprocessed by a special 'cpp' distributed with COOL and GECOOL. ports: ? contact: Van-Duc Nguyen <[email protected]> updated: 1992/08/05 language: C++ package: GNU C++ Library (libg++) version: 2.6 parts: library author: Per Bothner <[email protected]> ? location: libg++-2.5.1.tar.gz from a GNU archive site description: The run-time library for the GNU C++ compiler. This package is separately maintained. conformance: ? ANSI and POSIX.1 superset bugs: [email protected] updated: 1994/07/19 language: C++ package: ??? A C++ Parser toolkit version: ? parts: library author: Mayan Moudgill <[email protected]> location: ftp://ftp.cs.cornell.edu/pub/Parse.shar description: A collection of C++ classes that make building a recursive descent parser/scanner very easy. ports: Sun 4 with cfront 3.0, portability: uses mmap(); probably low. updated: 1993/04/11 language: C++, Extended C++ package: EC++ version: ? parts: translator(C++), documentation author: Glauco Masotti <[email protected]> location: ? ftp://ftp.uu.net/languages/c++/EC++.tar.Z ? description: EC++ is a preprocessor that translates Extended C++ into C++. The extensions include: + preconditions, postconditions, and class invariants + parameterized classes + exception handling + garbage collection status: ? updated: 1989/10/10 language: C++ package: LEDA version: 3.0 parts: libraries author: ? location: ftp://ftp.mpi-sb.mpg.de/pub/LEDA/* description: library of efficient data types and algorithms. New with 3.0: both template and non-template versions. contact: Stefan N"aher <[email protected]> updated: 1992/11/30 language: E (a persistent C++ variant) package: GNU E version: 2.3.3 parts: compiler author: ? location: ftp://ftp.cs.wisc.edu/exodus/E/gnu_E* description: GNU E is a persistent, object oriented programming language developed as part of the Exodus project. GNU E extends C++ with the notion of persistent data, program level data objects that can be transparently used across multiple executions of a program, or multiple programs, without explicit input and output operations. GNU E's form of persistence is based on extensions to the C++ type system to distinguish potentially persistent data objects from objects that are always memory resident. An object is made persistent either by its declaration (via a new "persistent" storage class qualifier) or by its method of allocation (via persistent dynamic allocation using a special overloading of the new operator). The underlying object storage system is the Exodus storage manager, which provides concurrency control and recovery in addition to storage for persistent data. restriction: GNU General Public License; not all runtime sources are available (yet) requires: release 2.1.1 of the Exodus storage manager contact: [email protected] updated: 1993/01/20 language: C (ANSI) package: ? 1984 ANSI C to K&R C preprocessor ? version: ? parts: translator(K&R C) author: ? location: from comp.sources.unix archive volume 1 description: ? status: ? updated: ? language: C (ANSI) package: unproto ? version: ? 4 ? 1.6 ? parts: translator(K&R C) author: Wietse Venema <[email protected]> location: ftp://ftp.win.tue.nl/pub/unix/unproto4.shar.Z description: ? contact: ? updated: ? language: C (ANSI) package: LCLint version: 1.4 parts: code analysis tool author: David E Evans <[email protected]> location: ftp://larch.lcs.mit.edu/pub/Larch/lclint/ description: LCLint is a lint-like tool for ANSI C. It can be used like a traditional lint to detect certain classes of C errors statically; if formal specifications are also supplied, it can do more powerful checking to detect inconsistencies between specifications and code. references: http://larch-www.lcs.mit.edu:8001/larch/lclint.html ports: OSF/1, Ultrix, SunOS, Solaris, Linux, IRIX updated: 1994/10/16 language: C (ANSI) package: cproto version: 4 patchlevel 0 parts: translator(K&R C) author: Chin Huang <[email protected]> location: comp.sources.misc volume 29 description: cproto generates function prototypes from function definitions. It can also translate function definition heads between K&R style and ANSI C style. ports: Unix, VMS, MS-DOS updated: 1992/07/18 language: C (ANSI) package: cextract version: 1.7 parts: translator(K&R C), header file generator author: Adam Bryant <[email protected]> location: ftp from any comp.sources.reviewed archive description: A C prototype extractor, it is ideal for generating header files for large multi-file C programs, and will provide an automated method for generating all of the prototypes for all of the functions in such a program. It may also function as a rudimentary documentation extractor, generating a sorted list of all functions and their locations ports: Unix, VMS updated: 1992/11/03 language: C (ANSI) package: cgram version: ? parts: grammar author: Mohd Hanafiah Abdullah <[email protected]> location: ftp://primost.cs.wisc.edu/pub/comp.compilers/cgram-ll1.Z description: An ANSI C grammar in LL(k) (1 <= k <= 2). It's written in Scheme, so you need to have a Scheme interpreter to process the grammar using a program (f-f-d.s) that extracts the FIRST/FOLLOW/DIRECTOR sets. requires: Scheme ports: ? updated: ? language: C, ANSI C, C++ package: The Roskind grammars version: cpp5 (cf2.0) parts: parser(yacc), documenation author: Jim Roskind <[email protected]> location: ftp://ftp.infoseek.com/ftp/pub/c++grammar/* Japan: ftp://ftp.sra.co.jp/.a/pub/cmd/c++grammar/c++grammar2.0.tar.gz description: The C grammar is CLEAN, it does not use %prec, %assoc, and has only one shift-reduce conflict. The C++ grammar has a few conflicts. Also included is an extension to byacc that produces graphical parse trees automatically. conformance: the C grammar is true ANSI; the C++ grammar supports cfront 2.0 constructs. requires: byacc 1.8 (for graphical parse trees) status: actively developed updated: 1991/07/01 language: C (ANSI/ISO) package: Metre version: 2.3 parts: grammar(yacc,lex), generated parser files, metrics examples, documentation (man pages). author: Paul Long <[email protected]> location: ftp://iecc.com/pub/file/metre.tar.gz description: Metre is a freely-distributable ANSI/ISO Standard C parser whose behavior is determined by a set of rules. Sets are provided for a metrics tool and a call-tree tool. Written in Standard C, lex, and yacc, it is source-code portable across operating systems, Standard C compilers, and the various flavors of lex and yacc. conformance: Intended to conform to ANSI and ISO standards. updated: 1995/04/04 language: C, C++ package: xxgdb version: 1.06 parts: X11 front end for gdb author: ? location: retrieve xxgdb from comp.sources.x volumes 11, 12, 13, 14, & 16 description: ? contact: Pierre Willard <[email protected]> updated: 1992/02/22 language: C, C++ package: gdb version: 4.15.1 parts: symbolic debugger, documentation author: many, but most recently Fred Fish <[email protected]>, Stu Grossman <[email protected]>, and John Gilmore <[email protected]>, all of Cygnus Support location: ftp gdb-*.tar.[zZ] from a GNU archive site description: gdb is a full-featured symbolic debugger. It fills the same niche as dbx. Programs must be compiled with debugging symbols. bugs: <[email protected]> restriction: CopyLeft ports: most unix variants, vms, vxworks, amiga, msdos updated: 1995/11/04 language: C, C++ package: ddd version: 2.1 parts: symbolic graphical debugger, documentation author: Andreas Zeller location: ftp://ftp.ips.cs.tu-bs.de/pub/local/softech/ddd/ddd-2.1.tar.gz description: The Data Display Debugger (DDD) is a common graphical user interface to GDB, DBX, and XDB, the popular UNIX debuggers. Besides ``usual'' features such as viewing source texts and breakpoints, DDD provides a graphical data display, where data structures are displayed as graphs. A simple mouse click dereferences pointers or reveals structure contents, updated each time the program stops. Using DDD, you can reason about your application by viewing its data, not just by viewing it execute lines of source code. bugs: [email protected] http://www.cs.tu-bs.de/softech/ddd/ restrictions: GPL updated: 1997/05/05 language: C, C++, Objective-C package: emx programming environment for OS/2 version: 0.8g parts: gcc, g++, gdb, libg++, .obj linkage, DLL, headers author: Eberhard Mattes <[email protected]> location: ftp://ftp-os2.cdrom.com/os2/2_x/unix/gnu/emx0.8g Europe: ftp://ftp.uni-stuttgart.de/soft/os2/emx-0.8g description: ? discussion: subscribe to emx-list using [email protected] updated: 1992/09/21 language: C package: Pthreads version: 1.17 parts: library author: PART (POSIX / Ada-Runtime Project) location: ftp://ftp.cs.fsu.edu/pub/PART/pthreads* description: As part of the PART project we have been designing and implementing a library package of preemptive threads which is compliant with POSIX 1003.4a Draft 6. A description of the interface for our Pthreads library is now available on ftp. restriction: GNU General Public License ports: Sun-4/SunOS 4.1.x discussion: send "Subject: subscribe-pthreads" to [email protected] contact: [email protected] updated: 1993/07/22 language: C, nroff, texinfo, latex, html package: c2man version: 2.0 patchlevel 34 parts: documentation generator (C -> nroff -man, -> texinfo, -> latex, -> html) author: Graham Stoney <[email protected]> location: ftp from any comp.sources.misc archive, in volume42 (the version in the comp.sources.reviewed archive is obsolete) ftp://dnpap.et.tudelft.nl/pub/Unix/Util/c2man-2.0.*.tar.gz Australia: ftp://archie.au/usenet/comp.sources.misc/volume42/c2man-2.0/* N.America: ftp://ftp.wustl.edu/usenet/comp.sources.misc/volume42/c2man-2.0/* Europe: ftp://ftp.irisa.fr/News/comp.sources.misc/volume42/c2man-2.0/* Japan: ftp://ftp.iij.ad.jp/pub/NetNews/comp.sources.misc/volume42/c2man-2.0/* Patches: ftp://lth.se/pub/netnews/sources.bugs/volume93/sep/c2man* description: c2man is an automatic documentation tool that extracts comments from C source code to generate functional interface documentation in the same format as sections 2 & 3 of the Unix Programmer's Manual. It requires minimal effort from the programmer by looking for comments in the usual places near the objects they document, rather than imposing a rigid function-comment syntax or requiring that the programmer learn and use a typesetting language. Acceptable documentation can often be generated from existing code with no modifications. conformance: supports both K&R and ISO/ANSI C coding styles features: + generates output in nroff -man, TeXinfo, LaTeX or HTML format + handles comments as part of the language grammar + automagically documents enum parameter & return values + handles C (/* */) and C++ (//) style comments - doesn't handle C++ grammar (yet) requires: yacc/byacc/bison, lex/flex, and nroff/groff/texinfo/LaTeX. ports: Unix, OS/2, MSDOS, VMS. portability: very high for unix, via Configure status: actively developed; contributions by users are encouraged. discussion: via a mailing list: send "subscribe c2man <Your Name>" (in the message body) to [email protected] help: from the author and other users on the mailing list: [email protected] announcements: patches appear first in comp.sources.bugs, and then in comp.sources.misc. updated: 1995/03/02 language: Small-C package: smallc version: ? parts: compiler author: ? location: ?, comp.sources.unix volume 5 description: Small-C is a subset of the C programming language for which a number of public-domain compilers have been written. The original compiler was written by Ron Cain and appeared in the May 1980 issue of Dr.Dobb's Journal. More recently, James E.Hendrix has improved and extended the original Small-C compiler and published "The Small-C Handbook", ISBN 0-8359-7012-4 (1984). Both compilers produce 8080 assembly language, which is the most popular implementation of Small-C to-date. The 6502 Small-C compiler for the BBC Micro is based on "RatC", a version of the original Ron Cain compiler described by R.E.Berry and B.A.Meekings in "A Book on C", ISBN 0-333-36821-5 (1984). The 6502 compiler is written in Small-C and was bootstrapped using Zorland C on an Amstrad PC1512 under MSDOS 3.2, then transferred onto a BBC Micro using Kermit. The compiler can be used to cross-compile 6502 code from an MSDOS host, or as a 'resident' Small-C compiler on a BBC Micro. conformance: subset of C ports: 68k, 6809, VAX, 8080, BBC Micro, Z80 updated: 1989/01/05 language: Maisie package: Maisie version: 2.1 parts: ?, user manual, examples author: Wen-Toh Liao <[email protected]> location: ftp://cs.ucla.edu/pub/maisie.2.1.1.3.tar.Z description: C-based parallel programming language that uses asynchronous typed-message passing and supports light-weight processes. The language is C with enhancements to allow processes to be defined, created, and destroyed, to send and receive messages, and manipulate the system clock. ports: PVM/3.1, Cosmic Environment, and SUN Sockets. updated: 1993/06/14 language: MeldC (MELD, C) package: MeldC version: 2.0 parts: microkernel, compiler, debugger, manual, examples author: MELD Project, Programming Systems Laboratory at Columbia University location: obtain license from <[email protected]> description: MeldC 2.0: A Reflective Object-Oriented Coordination Programming Language MELDC is a C-based, concurrent, object-oriented language built on a reflective architecture. The core of the architecture is a micro-kernel (the MELDC kernel), which encapsulates a minimum set of entities that cannot be modeled as objects. All components outside of the kernel are implemented as objects in MELDC itself and are modularized in the MELDC libraries. MELDC is reflective in three dimensions: structural, computational and architectural. The structural reflection indicates that classes and meta-classes are objects, which are written in MELDC. The computational reflection means that object behaviors can be computed and extended at runtime. The architectural reflection indicates that new features/properties (e.g., persistency and remoteness) can be constructed in MELDC. restriction: must sign license, cannot use for commercial purposes ports: Sun4/SunOS4.1 Mips/Ultrix4.2 contact: <[email protected]> updated: 1992/12/15 language: uC++ package: uC++ version: 4.6 parts: translator (uC++ to C++), concurrency library, documentation, examples author: Peter A. Buhr <[email protected]> location: ftp://plg.uwaterloo.ca/pub/uSystem/u++-4.4.tar.gz description: An extended C++ with light-weight concurrency for Unix-like systems. uC++ is pronounced "micro-C++". reference: Software--Practice and Experience, 22(2):137-172, February 1992. features: 1. true multiprocessor support on SUN, DEC, SGI, Sequent 2. coroutine, monitor and task extensions to C++ 3. non-blocking I/O library 4. mechanism to group tasks and virtual processors 5. non-deterministic time slicing bugs: LINUX non-blocking sockets fail requires: dmake 4.0+ (ftp://plg.uwaterloo.ca/pub/dmake/dmake40.tar.gz ) GNU C++ 2.6.3+ ports: Sequent (BSD), SUN Solaris (SPARC) & SunOS (SPARC, M68K), DEC OSF 3.2+ (Alpha), SGI IRIX 5.3+ (MIPS), IBM AIX 3.2+ (RS/6000), HP HP-UX 9.03+ (PA), LINUX 1.2.13+/1.3.20+ (i386+) portability: Needs "setitimer" and "sigcontext" from Unix-like systems. updated: 1995/09/14 language: Objective-C package: libcoll -- Collection Class Library for GNU Objective-C version: 940510 parts: class library author: Andrew McCallum <[email protected]> location: ftp.cs.rochester.edu in pub/objc/libcoll-940510.tar.gz description: It's a library of Objective-C objects with similar functionality to Smalltalk's Collection objects. It includes: Set, Bag, Array, LinkedList, LinkList, CircularArray, Queue, Stack, Heap, SortedArray, MappedCollector, GapArray and DelegateList. updated: 1994/05/10 language: Glenda package: Glenda parallel programming environment version: 0.91 parts: preprocessor,tuple server, and tuple functions author: Ray Seyfarth <[email protected]> location: ftp://seabass.st.usm.edu/pub/glenda.tar.Z description: Glenda is a programming environment for parallel programming implementing a variation of the Linda programming model defined by Carriero and Gelernter. It consists of a C preprocessor to allow reasonable syntax for the added operations, a tuple server process and a set of functions to connect an application to the tuple server. ports: RS6000, SUN4, LINUX updated: 1993/06/01 compiled, imperative languages ------------------------------------------------------------------------------- category: compiled, imperative languages description: This is the set of traditional infix languages other than C and Pascal which each have their own section. cref: C variants cref: Wirth family languages lref: Simula lref: Fortran language: Ada package: Ada/Ed version: 1.11.0a+ parts: translator(?), interpreter, ? author: ? location: ftp://cnam.cnam.fr/pub/Ada/Ada-Ed description: Ada/Ed is a translator-interpreter for Ada. It is intended as a teaching tool, and does not have the capacity, performance, or robustness of commercial Ada compilers. Ada/Ed was developed at New York University, as part of a long-range project in language definition and software prototyping. conformance: Ada 83. Last validated with version 1.7 of the ACVC tests. being an interpreter, it does not implement most representation clauses, and thus does not support systems programming close to the machine level. ports: Unix, MSDOS, Amiga, Atari contact: Michael Feldman <[email protected]> updated: 1992/05/08 language: Ada package: GW-Ada version: ? parts: translator, interpreter, editor, runtime environment author: ? location: ftp://wuarchive.wustl.edu/languages/ada/compiler/adaed/gwu/* description: Ada/Ed is a translator-interpreter for Ada. It is intended as a teaching tool, and does not have the capacity, performance, or robustness of commercial Ada compilers. Ada/Ed was developed at New York University, as part of a long-range project in language definition and software prototyping. conformance: "Ada/Ed handles nearly all of Ada 83" restriction: For educational purposes only. ports: MSDOS and Mac contact: Michael Feldman <[email protected]> updated: 1993/09/01 language: Ada package: Ada grammar version: ? parts: scanner(lex), parser(yacc) author: ? location: ftp://primost.cs.wisc.edu or email to [email protected] description: ? contact: [email protected] updated: 1991/10/12 language: Ada package: Compiler for Toy/Ada in SML/NJ version: ? parts: translator(?) author: Amit Bhatiani <[email protected]> location: ftp://master.cs.rose-hulman.edu/pub/compiler*.tar.Z description: ? conformance: subset updated: 1992/04/08 language: Ada package: NASA PrettyPrinter version: ? parts: Ada LR parser, ? author: ? Michael Feldman <[email protected]> in comp.compilers provided the initial reference to this package, he also has a yacc grammar for ada. location: ftp://wsmr-simtel20.army.mil from Ada Software Repository description: pretty-print program that contains an ada parser requires: Ada updated: 1991/02/01 language: Ada package: yacc grammar for Ada version: ? parts: parser(yacc) author: Herman Fischer location: ftp://wsmr-simtel20.army.mil PD2:<ADA.EXTERNAL-TOOLS>GRAM2.SRC description: ? contact: ? updated: 1991/02/01 language: Ada package: Paradise version: 2.0 parts: library author: ? location: ftp://cnam.cnam.fr/pub/Ada/Paradise description: Paradise is a subsystem (a set of packages) developped to implement inter-processes, inter-tasks and inter-machines communication for Ada programs in the Unix world. This subsystem gives the user full access to files, pipes, sockets (both Unix and Internet), and pseudo-devices. ports: Sun, Dec, Sony Mips, Verdex compiler, DEC compiler, Alsys/Systeam compiler contact: [email protected] updated: 1992/09/30 language: Ada package: Adamakegen version: 2.6.3 parts: makefile generator author: Owen O'Malley <[email protected]> location: ftp://spare.ics.uci.edu/ftp/pub/arcadia/adamakegen* description: A program that generates makefiles for Ada programs requires: Icon ports: Verdix, SunAda updated: 1993/03/02 language: Ada 95 package: GNAT version: 3.01 parts: Full compiler, standard environment, build tools, cross-reference. author: The GNAT Project at New York University. Now maintained by Ada Core Technologies ([email protected]) See also http://www.gnat.com/ location: ftp://cs.nyu.edu/pub/gnat/* debugger at: ftp://helen.cs.berkeley.edu/pub/gdp/ other mirror sites, see home page. description: full compiler for Ada95, uses GCC back-end technology. Current targets include SunOS, Sun/Solaris, OS/2, SGI/IRIX, Windows NT, Windows95, Linux, NetBSD, Alpha/Dec-Unix, DOS, others. conformance: Fully validated on SGI/IRIX under version 2.0 of ACVC validation suite. Other validations to follow 1Q 1996. requires: gcc 2.7.1 or higher status: Complete, in active use. updated: 1995/12/19 language: Ada 9X package: grammar9x.y and lexer9x.l version: 5.0 (June 1994) parts: Yacc grammar, Lex grammar with simple driver in C author: S. Tucker Taft <[email protected]> location: ftp://ajpo.sei.cmu.edu/public/ada9x/rm9x/grammar9x.y ftp://ajpo.sei.cmu.edu/public/ada9x/rm9x/lexer9x.l description: YACC-based parser for Ada 9X, with simple Lexer and simple driver written in C. conformance: Grammar conforms to Ada 9X version 5.0 (DIS 8652-9X, June 1994); Lexer does not support wide characters. reference: RM9X;5.0 (ftp://ajpo.sei.cmu.edu/public/ada9x/rm9x/v5.0/rm9x.doc) bugs: Grammar known to be somewhat liberal (to avoid ambiguity); Lexer does not support wide characters; Report bugs to [email protected] or comp.lang.ada ports: SunOS 4.X, others presumed portability: No known system dependencies status: active, though presumed "done" discussion: comp.lang.ada contact: [email protected] updated: 1994/06 language: Ada 9X package: AVLAda9X version: 191 prototype (Fall 1994) parts: compiler, editor, online help, example programs, doc files author: Dr. Arthur Vargas Lopes <IN%"[email protected]"> location: ftp languages/ada/compiler/avlada9x/ver_191/avlada9x.zip N.America: from host wuarchive.wstlu.edu or ftp.cdrom.com/pub Europe: ftp.cnam.fr/pub/Ada/PAL Also available via NFS mounts on WUARCHIVE gopher://wuarchive.wustl.edu and gopher://gopher.wustl.edu email server [email protected], CDROM description: Ada 9X student starter compiler/interpreter. AVLAda9X is a prototype Ada 9X student compiler/interpreter. Its goal is to provide a small Ada 9x compiler/translator that is easy to install and has good performance for compilation and interpretation. conformance: Grammar conforms to Ada 9X version 5.0 (DIS 8652-9X, June 1994); reference: RM9X;5.0 (ftp://ajpo.sei.cmu.edu/public/ada9x/rm9x/v5.0/rm9x.doc) features: The version being released allows separate compilation of package specs and bodies. The tasking model is working with simple tasking constructs including the use of protected units and tasks with discriminants as shown within the enclosed example programs. bugs: Some problems with generics. Future work will focus on OOP and generics. It is expected that the completed work will allow the use of most of the Ada 9X constructs. restriction: Approved for Public Release; Distribution Unlimited This software can be freely distributed, provided: 1) there is no distribution/usage fee charged, 2) all the files which accommodate this software are included, unmodified, and with their modification dates preserved This software cannot be 1) distributed as a part of any other product without the written permission from the author, or 2) used in a commercial environment without the written permission from the author. requires: DOS ports: DOS portability: DOS, No other known system dependencies status: active, still undergoing development discussion: comp.lang.ada help: IN%"[email protected]" announcements: comp.lang.ada, [email protected] contact: IN%"[email protected]" updated: Fall 1994 language: BLISS-11 package: BLISS-11 version: ?? 1 parts: compiler, minimal run-time support author: Wulf, et. al. location: ftp://iecc.com/pub/file/bliss.tar.Z description: This is the BLISS compiler as described in the reference cited below. It is written entirely in BLISS-10 and is the version submitted to the DEC user society (DECUS) back in 1972. conformance: The defining implementation. reference: 'The Design of an Optimizing Compiler' by Wulf, et. al. portability: *EXTREMELY* dependent upon the PDP-10 and its 36-bit architecture. contact: [email protected] updated: ?? language: FOOGOL (a subset of Algol-60) package: cfoogol version: 5.0 parts: compiler(->C) author: Per Lindberg, John Cowan <[email protected]> location: ftp://locke.ccil.org/pub/retro/cfoogol.shar.gz (in the Museum of Retrocomputing). An earlier version was posted in comp.sources.misc in May 1994. description: This is a toy compiler for a subset of Algol-60, based on the VALGOL-1 compiler by G. A. Edgar published in the May 1985 Dr. Dobb's Journal. It is intended solely to demonstrate recursive-descent parsing and other elementary compiler- construction techniques. conformance: subset of Algol-60 portability: portable pre-ANSI C ports: VAX updated: 1994/05/08 language: Algol lref: Simula language: BCPL package: ? version: ? parts: ? author: ? location: ftp://wuarchive.wustl.edu/systems/amiga/programming/languages/BCPL/BCPL4Amiga.lzh description: The original INTCODE interpreter for BCPL. ports: Amiga, Unix, MSDOS contact: ? updated: ? language: BCPL package: ? version: ? parts: ? author: ? location: ftp://ftp.syd.dit.csiro.au in pub/ken/bcpl.tar.gz. description: A BCPL* (Basic Combined Programming Language) compiler bootstrap kit with an INTCODE interpreter in C. contact: Ken Yap <[email protected]> updated: ? language: E package: Amiga E version: 2.1b parts: compiler, assembler, linker, utilities author: Wouter van Oortmerssen <[email protected]> location: ftp://amiga.physik.unizh.ch/amiga/dev/lang/AmigaE21b.lha description: An Amiga specific E compiler. E is a powerful and flexible procedural programming language and Amiga E a very fast compiler for it, with features such as compilation speed of 20000 lines/minute on a 7 Mhz amiga, inline assembler and linker integrated into compiler, large set of integrated functions, module concept with 2.04 includes as modules, flexible type-system, quoted expressions, immediate and typed lists, low level polymorphism, exception handling and much, much more. Written in Assembly and E. ports: Amiga portability: not portable at all status: actively developed discussion: comp.sys.amiga.programmer (sometimes) updated: 1993/03/01 language: Eiffel package: ? version: ? parts: source checker author: Olaf Langmack <[email protected]> and Burghardt Groeber location: ftp://ftp.fu-berlin.de/pub/heron/ep.tar.Z description: A compiler front-end for Eiffel-3 is available. It has been generated automatically with the Karlsruhe toolbox for compiler construction according to the most recent public language definition. The parser derives an easy-to-use abstract syntax tree, supports elementary error recovery and provides a precise source code indication of errors. It performs a strict syntax check and analyses 4000 lines of source code per second on a Sun-SPARC workstation. updated: 1992/12/14 language: Eiffel package: SmallEiffel version: (-0.85) parts: compiler author: Dominique Colnet &[email protected]> and Suzanne Collin <?> location: ftp://ftp.loria.fr/pub/loria/genielog/SmallEiffel Australia ftp://ftp.progsoc.uts.edu.au/pub/Eiffel/SmallEiffel/ Austria http://gd.tuwien.ac.at/pub/languages/SmallEiffel/ USA ftp://tsx-11.mit.edu/pub/linux/packages/eiffel ftp://sunsite.unc.edu/pub/Linux/devel/lang/eiffel ftp://ftp.cs.rit.edu/pub/mirrors/SmallEiffel/ description: SmallEiffel is the fruit of a research project done at CRIN (Centre de Recherche en Informatique de Nancy). SmallEiffel is intended to be a complete, though small and very fast, free Eiffel compiler. SmallEiffel is already used by students of the University Henri Poincare' at Nancy (FRANCE). We are using Eiffel as a first langage for teaching OOP since 1990 (SmallEiffel is used since september 1995). SmallEiffel is already portable on UNIX, Linux, BSD, HP-UX, IRIX, XENIX, DOS, OS2, WINDOWS 95 and Macintosh. Current distribution includes an Eiffel to C compiler, Eiffel to Java byte code compiler, Eiffel pretty printer, Java byte code viewer, finder. Note: version numbers are negative; -0.89, for example, is newer than -0.91 ports: UNIX, Linux, BSD, HP-UX, IRIX, XENIX, Solaris, DOS, OS2, WINDOWS NT/95, Macintosh, NeXT, Amiga and VMS. bugs: Mail bug reports to [email protected] restrictions: GPL updated: 1997/05/13 language: Sather package: Sather 1.0 version: 1.0.6 parts: compiler(->C), library, examples, documentation author: International Computer Science Institute in Berkeley, CA location: ftp://ftp.icsi.berkeley.edu/pub/sather/Sather-1.0.6.tar.gz description: Sather is an object oriented language which aims to be simple, efficient, safe, and non-proprietary. One way of placing it in the "space of languages" is to say that it aims to be as efficient as C, C++, or Fortran, as elegant and safe as Eiffel or CLU, and support higher-order functions and iteration abstraction as well as Common Lisp, Scheme, or Smalltalk. Sather has parameterized classes, object-oriented dispatch, statically-checked strong (contravariant) typing, separate implementation and type inheritance, multiple inheritance, garbage collection, iteration abstraction, higher-order routines and iters, exception handling, assertions, preconditions, postconditions, and class invariants. Sather programs can be compiled into portable C code and can efficiently link with C object files. Sather has a very unrestrictive license which allows its use in proprietary projects but encourages contribution to the public library. conformance: reference implementation reference: http://www.icsi.berkeley.edu/Sather bugs: Send email to [email protected] requires: ANSI C compiler such as gcc. ports: SunOS 4.1.3, Ultrix 4.3, NetBSD 1.0_BETA, Linux 1.0.8s, IRIX 4.0.5H and 5.2, NEWSOS 4.1R MIPS RISC os 4.53C, SunOS 5.3, DEC OSF/1 V2.0, FreeBSD 1.1.5.1, 2.x, OS/2 portability: high. status: actively developed discussion: comp.lang.sather help: [email protected] announcements: comp.lang.sather, also a mailing list; send mail to [email protected] updated: 1994/10/31 language: Simula 67 package: cim version: 1.62 parts: compiler(->C) author: Sverre Hvammen Johansen <[email protected]> Stein Krogdahl <[email protected]> Terje Mjoes. location: ftp://sunsite.unc.edu/pub/Linux/devel/simula/cim-1.??.tar.gz Europe: ftp://ftp.ifi.uio.no/pub/cim/cim-1.??.tar.gz ftp://ftp.fenk.wau.nl/pub/lang/simula/compilers/cim/cim-1.??.tar.gz description: A compiler that translates Simula to C, for further compilation. conformance: Does not include unspecified virtual procedures. reference: "Viderefoering og testing av et portabelt Simula-system." Hovedoppgave til cand.scient.-graden av Terje Mjoes. Institutt for informatikk, Universitetet i Oslo, April 1989. "Et portabelt Simula-system bygget paa C." Hovedoppgave til cand.scient-graden av Sverre Johansen. Institutt for informatikk, Universitetet i Oslo, Mai 1987. bugs: Constant must be declared before reference/use. restriction: See bugs and conformance. requires: A C compiler. ports: Numerous. portability: Any UNIX system. (Uses GNU AutoConf.) status: Maintained by Sverre Johansen. help: E-mail: [email protected] contact: E-mail: [email protected] updated: 1995/03/20. language: XPL (PL/I dialect) package: XPL optimizing Compiler version: 1 parts: compiler, documentation author: Robin Vowels <[email protected]> location: mail to author description: The compiler is a standard implementation of XPL and is based on McKeeman, Horning, and Wortman's improved XCOM (which employs hashed symbol table generation). It includes the extra built-in function COREHALFWORD. The following areas have been optimized: procedures calls when the argument and corresponding parameter are of the same type, and when the argument is a constant; constant subscripts; use of CORELHALFWORD and COREWORD; string constants of length one; iterative DO statements by transferring code to the end of the loop. String constants of length one do not require a descriptor, hence more descriptors are available for string variables. Comparison operations are treated as commutative, and an improved Commute algorithm is used. Halfword instructions are generated for BIT(16) variables. These areas have been improved or re-written: calls on OUTPUT, catenation, integer-to-string conversion, multiply, divide, and MOD. An emitter for SS-type instructions has been added. The compiler achieves an 11% reduction in object code compiling itself, an 11% increase in compilation rate, a 55% increase in compilation speed when the $E toggle is set. Special treatment for catenating a string to an integer substantially decreases consumption of the free string area, and decreases string moves. The latter improvement is most noticeable on small core machines. Core requirements: less than the improved XCOM on which it is based (approx. 98000 bytes). Symbol table size is 468. ports: IBM System 370 portability: The compiler is written in XPL. The code generators are machine-specific. updated: 1993/08/07 language: PL/M grammar and parser package: plm-parse version: 1.1 parts: bison (GNU yacc) grammar description, flex (GNU lex) lexer description, and a scoped symbol table manager author: Kirk Hays <[email protected]> Gary Funck <[email protected]> location: ftp://iecc.com/pub/file/plm.shar.gz to obtain a shar archive in compressed GNU zip format. To access the mail server, mail "send plm.shar" to [email protected]. description: this is a skeleton parser for PL/M. The grammar description and lexer description files were written for bison and flex. The grammar description closely follows the EBNF documented in the _PL/M Programmer's Guide_, Intel doc. 452161-003, Appendix C. A symbol table manager is supplied, though there is no semantic checking. conformance: the grammar describes PL/M 386 and where possible, will accept various other dialects reference: _PL/M Programmer's Guide_, Intel doc. 452161-003 features: has support for PL/M's "literally" macro definitions bugs: doesn't support $-directives (includes) restriction: freely available, use at you own risk requires: flex, bison, an ANSI compliant C compiler (gcc), and the avl-subs balanced binary tree library routines (comp.sources.unix Volume 27, Issue 34 ,'avl-subs') ports: SGI IRTIX 5.2, and a 486DX2 PC clone running Linux help: contact the authors updated: 1997/07/15 object oriented languages ------------------------------------------------------------------------------- category: object oriented languages description: In general, object oriented languages were categorized elsewhere. Only those that were not anything but object- oriented are here. (HTML version has 'em all here) lref: ABCL ??? lref: ABCL/1 lref: ALLOY lref: BETA lref: C++ lref: CLU lref: Common Lisp lref: Dylan lref: MeldC lref: Objective-C lref: Oberon2 lref: Perl lref: Proxy lref: Python lref: Sather lref: Simula lref: Simula 67 iref: (Tcl) BOS iref: (Scheme) STk iref: (Scheme) SOS iref: (E) GNU E language: BETA package: BETA version: ? parts: interpreter author: Erik Ernst [email protected] location: ftp://ftp.daimi.aau.dk/pub/empl/eernst/gbeta description: The ftp site contains source code, precompiled interpreters for three platforms (Sun/Sparc,Linux,HP-UX9), and sundry text files giving instructions on how to install and use the interpreter. The interpreter is very new and does contain known bugs (probably also a few unknown ones ;-). However, it is stable enough to be useful for writing small programs (10-100 lines) and executing them in a gdb-like environment, to investigate the semantics of both BETA and the generalization: standard BETA programs will run with the same semantics as before, and the new features are there if you use them. updated: ? language: CooL (Combined object-oriented Language) package: CooL-SPE version: 2.1pre45 parts: compiler(->C), emacs mode, X libraries, container libraries, database access libraries, dialog editor, source debugger, object test harness author: ITHACA project location: ftp://ftp.fu-berlin.de/pub/unix/languages/cool/cool-*.tar.Z description: The CooL-SPE is a programming environment specially designed to support the professional development of large-scale object-oriented application systems. CooL offers all the basic features of the object-oriented paradigm, such as (single) inheritance, dynamic binding and polymorphism. Above that, CooL offers generic object types and abstract object types and last but not least supports modules in the tradition of Modula, thus allowing to really build large systems. CooL is fully type-compliant with the C language type system and allows software written in C or in languages with a C interface to be integrated into CooL applications without any effort. CooL-SPE supports the development of application systems with graphical user interfaces based on X/Motif. These interfaces may be constructed using UIL or interactivly using a dialog editor. A dialog object class library, DIO, is available to facilitate integration of the application with the runtime system of X/Motif. This interface abstracts from the toolkit's primitives. The CooL language is extended by the CooL library system CoLibri. CoLibri offers a BCD type and a number of functions for the CooL simple types (e.g. STRING). As foundation object types, provides basic file I/O, time representation (including date, time, duration, interval etc.), and the basic container object types (e.g. set, list, sortedList, map and dictionary) as generic types. The SQL Object Interface (SOI) is provided to allow object-oriented applications to be integrated with a relational database system. This interface offers access to SQL tables via a generated object type interface. requires: INFORMIX ports: Linux, Solaris, Sinux 5.41 portability: nothing prevents using a different database backend status: new contact: [email protected] updated: 1994/10/25 language: Dynace package: Dynace version: 4.01 parts: translator(Dynace->C), library, documentation, examples author: Blake McBride <[email protected]> location: http://www.edge.net/algorithms description: Object Oriented extension to C similar to Objective-C only doesn't modify C syntax. Adds features similar to CLOS and Smalltalk without their overhead. features: + metaobject protocol + generic functions + multiple inheratance + automatic garbage collector + portable threader + very portable + 300+ pages of documentation + well tested and used in commercial packages restriction: free for non-commercial use ports: Linux/Unix/DOS/VMS/Windows 3.1/95/NT portability: entirely in portable C, optional assembler pieces for speed status: active, supported discussion: comp.lang.misc, [email protected] help: [email protected] support: [email protected] announcements: comp.lang.misc, comp.lang.c updated: 1997/04/05 language: Java package: JCC parts: Translator author: Nik Shaylor location: http://www.digiserve.com/nshaylor/jcc.html description: JCC is a direct Java to C converter. Unlike other translators JCC does not convert Java class files, but instead processes Java source code directly. It converts whole programs at a time and because of this it can make a number of optimisations that would be very difficult to achieve with other techniques. When used with a good optimising C compiler it produces programs that are typically between 10 to 20 times faster than Sun's 1.0.2 JVM. updated: ? language: O'small package: O'small version: Initial release parts: compiler?, parser/scanner specification author: ? Andreas Hense <[email protected]> location: FTP://cs.uni-sb.de/pub/osmall/machine/* description: A concise, formally defined object-oriented language suited for teaching object oriented programming. reference: (Numerous references listed in software documentation) Christoph Boeschen. Christmas - An abstract machine for O'small. Master's thesis, Universit"at des Saarlandes, Fachbereich 14, June 1993. requires: sml-yacc, sml-lex, sml-noshare (details in HowToGetML). ports: Sun 4, SPARC (binaries provided). portability: Probably portable to other Unix's. updated: 1993/06/25 language: O'small package: ? version: ? parts: interpreter author: ? location: ? description: ? requires: Miranda ports: ? portability: ? updated: ? language: Self package: Self version: 3.0 parts: compiler, debugger, browser author: The Self Group at Sun Microsystems & Stanford University location: ftp://self.stanford.edu or http://self.stanford.edu description: The Self Group at Sun Microsystems Laboratories, Inc., and Stanford University is pleased to announce Release 2.0 of the experimental object-oriented exploratory programming language Self. Release 2.0 introduces full source-level debugging of optimized code, adaptive optimization to shorten compile pauses, lightweight threads within Self, support for dynamically linking foreign functions, changing programs within Self, and the ability to run the experimental Self graphical browser under OpenWindows. Designed for expressive power and malleability, Self combines a pure, prototype-based object model with uniform access to state and behavior. Unlike other languages, Self allows objects to inherit state and to change their patterns of inheritance dynamically. Self's customizing compiler can generate very efficient code compared to other dynamically-typed object-oriented languages. ports: Sun-4 (SPARC) only [Sun-3 discontinued] portability: compiler back end and runtime system system-dependent (source available) discussion: mailing list -- [email protected], send mail to self-request to be added. contact: [email protected] updated: 1992/08/13 language: Smalltalk package: Little Smalltalk version: 4.0 parts: ? author: Tim Budd <[email protected]> ? location: ftp://ftp.cs.orst.edu/pub/budd/little/ http://ftp.cs.orst.edu/pub/budd/little/ReadMe.html description: ? ports: unix, pc, atari, vms status: ? updated: ? language: Smalltalk package: GNU Smalltalk version: 1.1.1 parts: ? author: Steven Byrne <[email protected]> location: ftp smalltalk-1.1.1.tar.Z from a GNU archive site description: ? bugs: gnu.smalltalk.bug discussion: ? contact: ? updated: 1991/09/15 language: Smalltalk package: msgGUI version: 1.0 parts: library author: Mark Bush <[email protected]> location: ftp://ftp.comlab.ox.ac.uk/pub/Packages/mst/mstGUI-1.0.tar.Z description: GUI for GNU Smalltalk. This this package contains the basics for creating window applications in the manner available in other graphical based Smalltalk implementations. updated: 1992/12/14 language: Smalltalk package: Mei version: 0.50 parts: interpreters(Lisp,Prolog), examples, libraries, tools, editor, browser author: Atsushi Aoki <[email protected]> and others location: ftp://mushroom.cs.man.ac.uk/pub/goodies/misc/Mei.tar.Z N.America: ftp://st.cs.uiuc.edu/pub/MANCHESTER/misc/Mei Japan: ftp://srawgw.sra.co.jp/pub/lang/smalltalk/mei/Mei0.50.tar.Z description: Mei is a set of class libraries for Objectworks Smalltalk Release 4.1. it includes: 1. Grapher Library (useful for drawing diagrams); 2. Meta Grapher Library (grapher to develop grapher); 3. Drawing tools and painting tools (structured diagram editors and drawing editors); 4. GUI editor (graphical user interface builder); 5. Lisp interpreter; 6. Prolog interpreter; 7. Pluggable gauges; 8. Extended browser; (package, history, recover, etc.) restriction: GNU General Public License requires: Objectworks Smalltalk Release 4.1 contact: Watanabe Katsuhiro <[email protected]> updated: 1993/01/20 language: Smalltalk iref: (Smalltalk) Tim Budd's C++ implementation of Kamin's interpreters language: Trellis package: TNT version: 0.2 beta parts: compiler, library, run-time system author: ? location: ftp://tk.telematik.informatik.uni-karlsruhe.de/pub/tnt/tnt-0.1.tar.gz desciption: Trellis is an object-oriented language developed within Digital Equipment Corp. The language features compile-time type checking, multiple inheritance, parametrized types, exception handling and iterators. Currently the run-time system does not support garbage collection or threads. requires: building from source: Cocktail V9208, GNU make V3.68, patch, makedepend restriction: may not be used for non-academic, non-research, non-internal business purposes ports: OSF/1, HP-UX, Linux, Ultrix, SunOS contact: [email protected] updated: 1994/10/27 language: TOM package: tom version: 0.91 parts: compiler(->C), various tools, documentation, examples, test suite, run-time library, libraries, parser generator. author: Pieter Schoenmakers <[email protected]> location: http://tom.ics.ele.tue.nl:8080/distrib/ for downloadable source distribution and binaries for selected platforms. description: TOM is an object oriented language developed as a better Objective-C. It doesn't suffer the `C' part (in a way similar to Java) and the `Objective' part is much enhanced. conformance: the C files generated by the compiler need to be processed by GNU CC. The runtime library needs GCC as well; the compiler and some other tools are written in Objective-C. reference: http://tom.ics.ele.tue.nl:8080/ lists more documentation. features: The language promotes usability, as opposed to reusability. To this extent: + classes are extensible entities: a class is fully defined by its main definition and any extensions defined for it, + an extension can add and replace methods. In support of complex added behaviour, an extension can add instance variables. To promote object reusability, an extension can introduce additional superclasses, + extensions can be added to a program at compile, link, or run time. bugs: mail them to <[email protected]> restriction: tools: GNU General Public License, libraries: GNU Library General Public License. requires: to build: GNU CC, GNU Make, Bison, Flex, Tiggr's Objective-C Library (available from the same site as TOM) (plus anything needed by autoconf generated scripts). to use: GNU CC. ports: hppa-hpux, i386-freebsd, i386-linux, i386-nextstep3, m68k-nextstep3, ppc-linux. portability: very high: porting to a new machine takes a few hours. Provide the author with an account on the UNIX machine of your choice, and the port will be created (and maintained if the account persists). status: actively developed discussion: [email protected] support: professional support available from the author announcements: comp.lang.misc, comp.os.linux.announce, discussion mailing list <[email protected]> updated: 1997/08/03 -- Send compilers articles to [email protected], meta-mail to [email protected]. Archives at http://www.iecc.com/compilers
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |