home *** CD-ROM | disk | FTP | other *** search
- Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!newsswitch.lcs.mit.edu!arclight.uoregon.edu!logbridge.uoregon.edu!newsfeed.stanford.edu!xuxa.iecc.com!ivan.iecc.com!not-for-mail
- From: free-compilers@idiom.com (David Muir Sharnoff)
- Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers
- Subject: Catalog of compilers, interpreters, and other language tools [p2of5]
- Followup-To: comp.lang.misc
- Date: 10 Feb 2000 01:07:15 -0500
- Organization: Idiom Communications, www.idiom.com, ISP
- Lines: 2054
- Approved: compilers@iecc.com
- Expires: 1 Mar 00 23:59:00 GMT
- Message-ID: <free2-Feb-00@comp.compilers>
- References: <free1-Feb-00@comp.compilers>
- Reply-To: free-compilers@idiom.com (David Muir Sharnoff)
- NNTP-Posting-Host: ivan.iecc.com
- Summary: Occaisonal posting of free language tools that include source code
- Keywords: tools, FTP, administrivia
- Xref: senator-bedfellow.mit.edu comp.compilers:16862 comp.lang.misc:35849 comp.archives.admin:3142 news.answers:177005 comp.answers:39599
-
- 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" <suif@suif.stanford.edu>
- 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: suif-bugs@suif.Stanford.EDU 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: suif-announce@suif.Stanford.EDU 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" <hube@eecs.harvard.edu>
- 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" <suif@suif.stanford.edu>
- 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: suif-bugs@suif.Stanford.EDU 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: suif-talk@suif.Stanford.EDU mailing list
- help: suif-talk@suif.Stanford.EDU mailing list
- support: No ``official'' support, but mailing lists usually provide
- support to any who ask
- announcements: suif-announce@suif.Stanford.EDU 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" <suif@suif.stanford.edu>
- 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: suif-bugs@suif.Stanford.EDU 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: suif-talk@suif.Stanford.EDU mailing list
- help: suif-talk@suif.Stanford.EDU mailing list
- support: No ``official'' support, but mailing lists usually provide
- support to any who ask
- announcements: suif-announce@suif.Stanford.EDU 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" <suif@suif.stanford.edu>
- 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: suif-bugs@suif.Stanford.EDU 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: suif-talk@suif.Stanford.EDU mailing list
- help: suif-talk@suif.Stanford.EDU mailing list
- support: No ``official'' support, but mailing lists usually provide
- support to any who ask
- announcements: suif-announce@suif.Stanford.EDU 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" <suif@suif.stanford.edu>
- 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: suif-bugs@suif.Stanford.EDU 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: suif-talk@suif.Stanford.EDU mailing list
- help: suif-talk@suif.Stanford.EDU mailing list
- support: No ``official'' support, but mailing lists usually provide
- support to any who ask
- announcements: suif-announce@suif.Stanford.EDU mailing list (see web site)
- updated: 1996/04
-
- language: SUIF
- package: Halt SUIF
- version: 1.1.2.beta
- parts: instrumentation program
- author: "HUBE Group" <hube@eecs.harvard.edu>
- 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" <tcm@eecg.toronto.edu>
- 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: suifbugs@eecg.toronto.edu
- 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. alan@accessone.com
- 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: alan@accessone.com
- 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 bug-glibc@prep.ai.mit.edu.
- 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:
- fdlibm-comments@sunpro.eng.sun.com.
- 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 <tege@gnu.ai.mit.edu> 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 <tege@gnu.ai.mit.edu>
- 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: ssigala@globalnet.it (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 <cheung@sw.mcc.com>
- updated: 1992/02/22
-
- language: C
- package: ups
- version: 2.1
- parts: interpreter, symbolic debugger, tests, documentation
- author: Mark Russell <mtr@ukc.ac.uk>
- location: ? ftp://export.lcs.mit.edu/contrib/ups*.tar.Z ?
- unofficial: unofficial enhancements by Rod Armstrong <rod@sj.ate.slb.com>,
- 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 <mtr@ukc.ac.uk>
- ports: Sun, Decstation, VAX(ultrix), HLH Clipper
- discussion: ups-users-request@ukc.ac.uk
- 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 <cshotton@oac.hsc.uth.tmc.edu>
- updated: 1993/05/14
-
- language: C
- package: ae (application executive)
- version: 2
- parts: interpreter
- author: Brian Bliss <bliss@convex.com>
- 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 <cwf@research.att.com>
- Dave Hanson <drh@cs.princeton.edu>
- 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 majordomo@cs.princeton.edu
- updated: 1995/02/01
-
- language: C, lcc intermediate format
- package: Chop
- version: 0.6
- parts: code generator
- author: Alan L. Wendt <wendt@CS.ColoState.EDU>
- 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: jacob@jacob.remcomp.fr
- bugs: jacob@jacob.remcomp.fr
- 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 <amb@gedanken.demon.co.uk>
- 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 amb@gedanken.demon.co.uk,
- 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: myg@din.net
- 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: myg@din.net
- updated: 1997/06/02
-
- language: C
- package: GCT
- version: 1.4
- parts: test-coverage-preprocessor
- author: Brian Marick <marick@cs.uiuc.edu>
- 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: Gct-Request@cs.uiuc.edu
- 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 cdg@nullstone.com
- updated: ?
-
- language: C
- package: gc
- version: 3.4
- parts: library
- author: Hans-J. Boehm <boehm@parc.xerox.com>, 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 <asterian@eecs.umich.edu>
- 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, <C9C2rH.EE@brunel.ac.uk>
- 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 <c.m.lott@ieee.org>
- 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 <Lionel.Fournigault@aar.alcatel-alsthom.fr>
- updated: 1995/12/21
-
- language: C++
- package: Lily (LIsp LibrarY)
- version: 0.1
- parts: library
- author: Roger Sheldon <sheldon@kong.gsfc.nasa.gov>
- 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 <M.C.Little@newcastle.ac.uk>
- 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 <gb@cs.purdue.edu>
- 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 <spr@cs.brown.edu>
- 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 <gamma@ifi.unizh.ch>
- 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 <ted@cs.brown.edu>
- 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 <nguyen@crd.ge.com>
- updated: 1992/08/05
-
- language: C++
- package: GNU C++ Library (libg++)
- version: 2.6
- parts: library
- author: Per Bothner <bothner@cygnus.com> ?
- 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: bug-lib-g++@prep.ai.mit.edu
- updated: 1994/07/19
-
- language: C++
- package: ??? A C++ Parser toolkit
- version: ?
- parts: library
- author: Mayan Moudgill <moudgill@cs.cornell.EDU>
- 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 <masotti@lipari.usc.edu>
- 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 <stefan@mpi-sb.mpg.de>
- 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: exodus@cs.wisc.edu
- 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 <wietse@wzv.win.tue.nl>
- 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 <evs@larch.lcs.mit.edu>
- 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 <chin.huang@canrem.com>
- 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 <adb@cs.bu.edu>
- 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 <napi@cs.indiana.edu>
- 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 <jar@netscape.com>
- 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 <plong@perf.com>
- 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 <pierre@la.tce.com>
- updated: 1992/02/22
-
- language: C, C++
- package: gdb
- version: 4.15.1
- parts: symbolic debugger, documentation
- author: many, but most recently Fred Fish <fnf@cygnus.com>,
- Stu Grossman <grossman@cygnus.com>, and
- John Gilmore <gnu@cygnus.com>, 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: <bug-gdb@prep.ai.mit.edu>
- 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: ddd@ips.cs.tu-bs.de 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 <mattes@azu.informatik.uni-stuttgart.de>
- 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 listserv@ludd.luth.se
- 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 mueller@uzu.cs.fsu.edu
- contact: pthreads-bugs@ada.cs.fsu.edu
- 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 <greyham@research.canon.oz.au>
- 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 listserv@research.canon.oz.au
- help: from the author and other users on the mailing list:
- c2man@research.canon.oz.au
- 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 <wentoh@may.CS.UCLA.EDU>
- 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 <MeldC@cs.columbia.edu>
- 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: <MeldC@cs.columbia.edu>
- updated: 1992/12/15
-
- language: uC++
- package: uC++
- version: 4.6
- parts: translator (uC++ to C++), concurrency library, documentation,
- examples
- author: Peter A. Buhr <pabuhr@uwaterloo.ca>
- 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 <mccallum@cs.rochester.edu>
- 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 <seyfarth@whale.st.usm.edu>
- 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 <mfeldman@seas.gwu.edu>
- 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 <mfeldman@seas.gwu.edu>
- 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
- compilers-server@iecc.cambridge.ma.us
- description: ?
- contact: masticol@dumas.rutgers.edu
- updated: 1991/10/12
-
- language: Ada
- package: Compiler for Toy/Ada in SML/NJ
- version: ?
- parts: translator(?)
- author: Amit Bhatiani <bhatiaa@polly.cs.rose-hulman.edu>
- 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 <mfeldman@seas.gwu.edu> 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: paradise-info@cnam.cnam.fr
- updated: 1992/09/30
-
- language: Ada
- package: Adamakegen
- version: 2.6.3
- parts: makefile generator
- author: Owen O'Malley <omalley@porte-de-st-ouen.ics.uci.edu>
- 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 (report@gnat.com)
- 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 <stt@inmet.com>
- 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 stt@inmet.com 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: stt@inmet.com
- 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%"34U3IQN@CMUVM.BITNET">
- 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 ftpmail@decwrl.dec.com, 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%"34U3IQN@CMUVM.BITNET"
- announcements: comp.lang.ada, listserv@wunet.wustl.edu
- contact: IN%"34U3IQN@CMUVM.BITNET"
- 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: harding@ug.eds.com
- updated: ??
-
- language: FOOGOL (a subset of Algol-60)
- package: cfoogol
- version: 5.0
- parts: compiler(->C)
- author: Per Lindberg, John Cowan <cowan@locke.ccil.org>
- 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 <ken@syd.dit.CSIRO.AU>
- updated: ?
-
- language: E
- package: Amiga E
- version: 2.1b
- parts: compiler, assembler, linker, utilities
- author: Wouter van Oortmerssen <Wouter@mars.let.uva.nl>
- 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 <langmack@inf.fu-berlin.de> 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 <colnet@loria.fr> 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 colnet@loria.fr
- 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 sather-bugs@icsi.berkeley.edu
- 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: sather-bugs@icsi.berkeley.edu
- announcements: comp.lang.sather, also a mailing list; send mail to
- sather-request@icsi.berkeley.edu
- updated: 1994/10/31
-
- language: Simula 67
- package: cim
- version: 1.62
- parts: compiler(->C)
- author: Sverre Hvammen Johansen <sj@ifi.uio.no>
- Stein Krogdahl <steink@ifi.uio.no>
- 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: cim@ifi.uio.no
- contact: E-mail: cim@ifi.uio.no
- updated: 1995/03/20.
-
- language: XPL (PL/I dialect)
- package: XPL optimizing Compiler
- version: 1
- parts: compiler, documentation
- author: Robin Vowels <robin_vowels@rmit.edu.au>
- 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 <khays@sequent.com>
- Gary Funck <gary@intrepid.com>
- 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 compilers-server@iecc.com.
- 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 eernst@daimi.aau.dk
- 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: CooL@sietec.de
- updated: 1994/10/25
-
- language: Dynace
- package: Dynace
- version: 4.01
- parts: translator(Dynace->C), library, documentation, examples
- author: Blake McBride <blake@edge.net>
- 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, Dynace-list@edge.net
- help: Dynace-support@edge.net
- support: Dynace-support@edge.net
- 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 <hense@sol.cs.uni-sb.de>
- 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 -- self-interest@self.stanford.edu,
- send mail to self-request to be added.
- contact: self-request@self.stanford.edu
- updated: 1992/08/13
-
- language: Smalltalk
- package: Little Smalltalk
- version: 4.0
- parts: ?
- author: Tim Budd <budd@cs.orst.edu> ?
- 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 <sbb@eng.sun.com>
- 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 <bush@ecs.ox.ac.uk>
- 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 <aoki@sra.co.jp> 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 <katsu@sran14.sra.co.jp>
- 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: bruno@tk.uni-linz.ac.at
- 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 <tiggr@ics.ele.tue.nl>
- 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 <tiggr@ics.ele.tue.nl>
- 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: tom-request@tom.ics.ele.tue.nl
- support: professional support available from the author
- announcements: comp.lang.misc, comp.os.linux.announce,
- discussion mailing list <tom-request@tom.ics.ele.tue.nl>
- updated: 1997/08/03
-
-
- --
- Send compilers articles to compilers@iecc.com, meta-mail to
- compilers-request@iecc.com. Archives at http://www.iecc.com/compilers
-
-