From: SMTP%"everhart@DMC.COM" 6-JAN-1994 21:10:44.25 To: EVERHART CC: Subj: compilrs4 Date: Thu, 06 Jan 1994 21:07:21 EST From: everhart@DMC.COM To: everhart@gce.com Message-ID: <00978260.7D473900.27934@DMC.COM> Subject: compilrs4 From: DMC::EVERHART 6-JAN-1994 19:27:50.30 To: everhart CC: Subj: Catalog of compilers, interpreters, and other language tools [p4of4] X-News: thehulk comp.compilers:719 From: free-compilers@idiom.berkeley.ca.us (Steve Robenalt) Subject:Catalog of compilers, interpreters, and other language tools [p4of4] Date: Sat, 1 Jan 1994 12:00:41 GMT Message-ID: Archive-name: free-compilers/part4 Last-modified: 1993/12/30 Version: 6.2 language: Relation Grammar package: rl version: ? parts: ? author: Kent Wittenburg how to get: fto rl/* from flash.bellcore.com description: The RL files contain code for defining Relational Grammars and using them in a bottom-up parser to recognize and/or parse expressions in Relational Languages. The approach is a simplification of that described in Wittenburg, Weitzman, and Talley (1991), Unification-Based Grammars and Tabular Parsing for Graphical Languages, Journal of Visual Languages and Computing 2:347-370. This code is designed to support the definition and parsing of Relational Languages, which are characterized as sets of objects standing in user-defined relations. Correctness and completeness is independent of the order in which the input is given to the parser. Data to be parsed can be in many forms as long as an interface is supported for queries and predicates for the relations used in grammar productions. To date, this software has been used to parse recursive pen-based input such as math expressions and flowcharts; to check for data integrity and design conformance in databases; to automatically generate constraints in drag-and-drop style graphical interfaces; and to generate graphical displays by parsing relational data and generating output code. requires: Common Lisp ports: Allegro Common Lisp 4.1, Macintosh Common Lisp 2.0 updated: 1992/10/31 language: S/SL (Syntax Semantic Language) package: ssl version: ? parts: parser bytecode compiler, runtime author: Rick Holt, Jim Cordy (language), Rayan Zachariassen (C implementation) how to get: ftp pub/ssl.tar.Z from neat.cs.toronto.edu description: A better characterization is that S/SL is a language explicitly designed for making efficient recusive-descent parsers. Unlike most other languages, practicially the LEAST expensive thing you can do in S/SL is recur. A small language that defines input/output/error token names (& values), semantic operations (which are really escapes to a programming language but allow good abstration in the pseudo-code), and a pseudo-code program that defines a grammar by the token stream the program accepts. Alternation, control flow, and 1-symbol lookahead constructs are part of the language. What I call an S/SL "implementation", is a program that compiles this S/SL pseudo-code into a table (think byte-codes) that is interpreted by the S/SL table-walker (interpreter). I think the pseudo-code language is LR(1), and that the semantic mechanisms turn it into LR(N) relatively easily. + more powerful and cleaner than yac - slower than yacc reference: + Cordy, J.R. and Holt, R.C. [1980] Specification of S/SL: Syntax/Semantic Language, Computer Systems Research Institute, University of Toronto. + "An Introduction to S/SL: Syntax/Semantic Language" by R.C. Holt, J.R. Cordy, and D.B. Wortman, in ACM Transactions on Programming Languages and Systems (TOPLAS), Vol 4, No. 2, April 1982, Pages 149-178. updated: 1989/09/25 language: TXL package: TXL: Tree Transformation Language version: 7.4 parts: translator, documentation, tutorial, examples author: Jim Cordy how to get: ftp pub/txl/* from ftp.qucis.queensu.ca description: TXL is a language for performing source to source transformations and is well suited for rapidly prototyping new languages and language processors. It has also been used to prototype specification languages, command languages, and more traditional program transformation tasks such as constant folding, type inference, source optimization and reverse engineering. TXL takes as input an arbitrary context-free grammar in extended BNF-like notation, and a set of show-by-example transformation rules to be applied to inputs parsed using the grammar. TXL is a functional/rule-based hybrid programming language, using the paradigm of structural transformation. reference: Several listed in software documentation updated: 1993/08/04 mathematical tools and languages ------------------------------------------------------------------------------- category: mathematical tools and languages description: These are either special-purpose languages and tools, or general purpose langauges and tools that have traditionally been used for mathematical and scientific computing task. lref: Fortran lref: PCN lref: CLP lref: Sisal language: APL package: I-APL version: ? parts: ? author: ? how to get: ftp languages/apl/* from watserv1.waterloo.edu description: ? updated: 1992/07/06 language: APL package: APLWEB version: ? parts: translator(web->apl), translator(web->TeX) author: Dr. Christoph von Basum how to get: ftp languages/apl/aplweb/* from watserv1.uwaterloo.ca description: [Should this be listed with the Web entries? -- Ed.] updated: 1992/12/07 language: APL iref: (Pascal) Tim Budd's C++ implementation of Kamin's interpreters language: J package: J-mode version: ? parts: emacs macros author: ? how to get: ftp pub/j/gmacs/j-interaction-mode.el from think.com description: add on to J updated: 1991/03/04 language: RLaB language (math manipulation - MATLAB-like) package: RLaB version: 0.95 parts: interpreter, libraries, documentation author: Ian Searle how to get: ftp pub/RLaB/* from evans.ee.adfa.oz.au description: RLaB is a "MATLAB-like" matrix-oriented programming language/toolbox. RLaB focuses on creating a good experimental environment (or laboratory) in which to do matrix math Currently RLaB has numeric scalars and matrices (real and complex), and string scalars, and matrices. RLaB also contains a list variable type, which is a heterogeneous associative array. bugs: Ian Searle restriction: GNU General Public License requires: GNUPLOT, lib[IF]77.a (from f2c) ports: many unix, OS/2, Amiga updated: 1993/10/27 language: FUDGIT language (math manipulation) package: FUDGIT version: 2.27 parts: interpreter author: Thomas Koenig ?? how to get: ftp /pub/linux/sources/usr.bin/fudgit-* from tsx-11.mit.edu ?? description: FUDGIT is a double-precision multi-purpose fitting program. It can manipulate complete columns of numbers in the form of vector arithmetic. FUDGIT is also an expression language interpreter understanding most of C grammar except pointers. Morever, FUDGIT is a front end for any plotting program supporting commands from stdin. It is a nice mathematical complement to GNUPLOT, for example. requires: GNUPLOT ports: AIX, HPUX, Linux, IRIX, NeXT, SunOS, Ultrix updated: 1993/02/22 language: Unix BC (arbitrary-precision arithmetic language) package: C-BC version: 1.1 parts: bytecode compiler, interpreter, documentation, examples author: Mark Hopkins how to get: alt.sources (10/04/93). description: A strongly typed version of BC with expanded C-like syntax, more base types, with ability to form array and pointer types of any dimension and to allocate/free arrays at run-time. conformance: Most POSIX-BC features supported, except functions must be declared consistently and declared before first use. String handling slightly different. reference: C-BC implementation notes contained with software documentation requires: ANSI-C compiler ports: DOS, Unix portability: No system dependent features present. updated: 1993/08/23 language: Unix BC (arbitrary-precision arithmetic language) package: GNU BC version: 1.02 parts: parser (yacc), interpreter, BC math library author: Philip A. Nelson how to get: ftp bc-1.02.tar.Z from a GNU archive site description: BC is an arbitrary precision numeric processing language with a C-like syntax that traditionally provided a front-end to DC. This version, however, is self-contained and internally executes its own compiled code (unrelated to DC code). restriction: Source code falls under the GNU CopyLeft. requires: vsprintf and vfprintf routines ports: Unix (BSD, System V, MINIX, POSIX) conformance: Superset of POSIX BC (P10003.2/D11), with a POSIX-only mode. updated: ? language: Calc? (symbolic math calculator) package: Calc version: 2.02 parts: interpreter, emacs mode, documentation author: Dave Gillespie how to get: ftp calc-2.02.tar.z from a GNU archive site description: Calc is an extensible, advanced desk calculator and mathematical tool written in Emacs Lisp that runs as part of GNU Emacs. It is accompanied by the "Calc Manual", which serves as both a tutorial and a reference. If you wish, you can use Calc as only a simple four-function calculator, but it also provides additional features including choice of algebraic or RPN (stack-based) entry, logarithms, trigonometric and financial functions, arbitrary precision, complex numbers, vectors, matrices, dates, times, infinities, sets, algebraic simplification, differentiation, and integration. bugs: ? updated: ? language: C-like caluculator package: Arbitrary precision calculator version: 1.26.4 parts: interpreter author: David I. Bell how to get: ftp pub/calc from ftp.uu.net description: Arbitrary precision C-like calculator [similar to BC? --ed] ports: Linux updated: 1993/06/15 language: Unix DC (arbitrary-precision arithmetic language) package: GNU DC version: 0.2 parts: interpreter author: ? how to get: ftp dc-0.2.tar.Z from a GNU archive site description: DC is the language for an arbitrary precision postfix calculator. This version is a subset of DC that handles all the Unix DC operations, except the (undocumented) array operations. status: Attempting integration with GNU BC. updated: 1993/05/21 language: Fortran package: f2c version: 1993.04.28 parts: translator (to C), postscript documentation, man pages, support libraries. author: S. I. Feldman, D. M. Gay, M. W. Maimone and N. L. Schryer how to get: ftp from netlib@research.att.com:netlib/f2c/src/* description: translator (Fortran 77 to ANSI C or C++) bugs: D. M. Gay updated: 1993 April 27 language: Fortran package: Floppy version: ? parts: ? author: ? how to get: ffccc in comp.sources.misc archive volume 12 description: ? contact: ? updated: 1992/08/04 language: Fortran package: Flow version: ? parts: ? author: Julian James Bunn how to get: comp.sources.misc archive volume 31 description: The Flow program is a companion to Floppy, it allows the user to produce various reports on the structure of Fortran 77 code, such as flow diagrams and common block tables. requires: Floppy ports: VMS, Unix, CMS updated: ? language: Fortran package: Adaptor (Automatic DAta Parallelism TranslatOR) version: 1.0 parts: preprocessor, library, documentation author: ? how to get: ftp gmd/adaptor/adp_1.0.tar.Z from ftp.gmd.de description: Adaptor is a tool that transforms data parallel programs written in Fortran with array extensions, parallel loops, and layout directives to parallel programs with explicit message passing. ADAPTOR is not a compiler but a source to source transformation that generates Fortran 77 host and node programs with message passing. The new generated source codes have to be compiled by the compiler of the parallel machine. ports: CM-5, iPCS/860, Meiko CS1/CS2, KSR 1, SGI, Alliant, network of Suns, or RS/6000s contact: Thomas Brandes updated: 1993/06 language: Fortran, C package: cfortran.h version: 2.6 parts: macros, documentation, examples author: Burkhard Burow how to get: ftp cfortran/* from zebra.desy.de description: cfortran.h is an easy-to-use powerful bridge between C and FORTRAN. It provides a completely transparent, machine independent interface between C and FORTRAN routines and global data. cfortran.h provides macros which allow the C preprocessor to translate a simple description of a C (Fortran) routine or global data into a Fortran (C) interface. reference: reviewed in RS/Magazine November 1992 and a user's experiences with cfortran.h are to be described in the 1/93 issue of Computers in Physics. ports: VAX VMS or Ultrix, DECstation, Silicon Graphics, IBM RS/6000, Sun, CRAY, Apollo, HP9000, LynxOS, f2c, NAG f90. portability: high contact: burow@vxdesy.cern.ch updated: 1992/04/12 language: Fortran package: fsplit version: ? parts: ? author: ? how to get: ? description: a tool to split up monolithic fortran programs updated: ? language: Fortran package: ? version: ? parts: ? author: Steve Mccrea how to get: ? description: a tool to split up monolithic fortran programs requires: new awk updated: ? language: Fortran package: Fortran77 -> Fortran90 converter version: ? 1 parts: translator(Fortran 77 -> Fortran 90), documentation? author: metcalf@cernvm.cern.ch how to get: ftp pub/MandR/convert.f90 from jkr.cc.rl.ac.uk description: A Fortran77 to Fortran90 translator. There's a number of significant differences between the two Fortrans that makes a package like this useful. updated: 1993/07/17 language: J package: J from ISI version: 6 parts: interpreter, tutorial author: Kenneth E. Iverson and Roger Hui how to get: ftp languages/apl/j/* from watserv1.waterloo.edu description: J was designed and developed by Ken Iverson and Roger Hui. It is similar to the language APL, departing from APL in using using the ASCII alphabet exclusively, but employing a spelling scheme that retains the advantages of the special alphabet required by APL. It has added features and control structures that extend its power beyond standard APL. Although it can be used as a conventional procedural programming language, it can also be used as a pure functional programming language. ports: Dec, NeXT, SGI, Sun-3, Sun-4, VAX, RS/6000, MIPS, Mac, Acorn IBM-PC, Atari, 3b1, Amiga updated: 1992/10/31 language: Ratfor package: ? ratfor ? version: ? parts: translator(Ratfor->Fortran IV) author: Brian Kernighan and P.J. Plauger (wrote the book anyway) how to get: comp.sources.unix archives volume 13 description: Ratfor is a front end language for Fortran. It was designed to give structured control structures to Fortran. It is mainly of historical significance. updated: ? language: Y (cross between C and Ratfor) package: y+po version: ? parts: compiler author: Jack W. Davidson and Christopher W. Fraser how to get: ftp pub/y+po.tar.Z from ftp.cs.princeton.edu description: Davidson/Fraser peephole optimizer PO [1-3] [where the GCC RTL idea and other optimization ideas came from] along with the Y compiler [cross between C+ratfor] is ftpable from ftp.cs.princeton.edu: /pub/y+po.tar.Z. It is a copy of the original distribution from the University of Arizona during the early 80's, totally unsupported, almost forgotten [do not bug the authors] old code, possibly of interest to compiler/language hackers. reference: Jack W. Davidson and Christopher W. Fraser, "The Design and Application of a Retargetable Peephole Optimizer", TOPLAS, Apr. 1980. Jack W. Davidson, "Simplifying Code Through Peephole Optimization" Technical Report TR81-19, The University of Arizona, Tucson, AZ, 1981. Jack W. Davidson and Christopher W. Fraser, "Register Allocation and Exhaustive Peephole Optimization" Software-Practice and Experience, Sep. 1984. status: history updated: ? electrical engineering languages ------------------------------------------------------------------------------- category: electrical engineering languages description: These are languages used for simulating, designing, and specifying circuits. language: CASE-DSP (Computer Aided Software Eng. for Digital Signal Proc) package: Ptolemy version: 0.4.1 parts: grahpical algorithm layout, code generator, simulator author: ? how to get: ftp pub/ptolemy/* from ptolemy.bekeley.edu description: Ptolemy provides a highly flexible foundation for the specification, simulation, and rapid prototyping of systems. It is an object oriented framework within which diverse models of computation can co-exist and interact. For example, using Ptolemy a data-flow system can be easily connected to a hardware simulator which in turn may be connected to a discrete-event system, etc. Because of this, Ptolemy can be used to model entire systems. In addition, Ptolemy now has code generation capabilities. From a flow graph description, Ptolemy can generate both C code and DSP assembly code for rapid prototyping. Note that code generation is not yet complete, and is included in the current release for demonstration purposes only. requires: C++, C ports: Sun-4, MIPS/Ultrix; DSP56001, DSP96002. status: active research project discussion: ptolemy-hackers-request@ohm.berkeley.edu contact: ptolemy@ohm.berkeley.edu updated: 1993/04/22 language: EDIF (Electronic Design Interchange Format) package: Berkeley EDIF200 version: 7.6 parts: translator-building toolkit author: Wendell C. Baker and Prof A. Richard Newton of the Electronics Research Laboratory, Department of Electrical Engineering and Computer Sciences at the University of California, Berkeley, CA how to get: ftp from pub/edif in ic.berkeley.edu description: ? restriction: no-profit w/o permission ports: ? updated: 1990/07 language: Verilog, XNF package: XNF to Verilog Translator version: ? parts: translator(XNF->Verilog) author: M J Colley how to get: ftp pub/dank/xnf2ver.tar.Z from punisher.caltech.edu description: This program was written by a postgraduate student as part of his M.Sc course, it was designed to form part a larger system operating with the Cadence Edge 2.1 framework. This should be born in mind when considering the construction and/or operation of the program. updated: ? language: VHDL package: ALLIANCE version: 1.1 parts: compiler, simulator, tools and environment, documentation author: ? how to get: ftp pub/cao-vlsi/alliance from ftp-masi.ibp.fr description: ALLIANCE 1.1 is a complete set of CAD tools for teaching Digital CMOS VLSI Design in Universities. It includes VHDL compiler and simulator, logic synthesis tools, automatic place and route, etc... ALLIANCE is the result of a ten years effort at University Pierre et Marie Curie (PARIS VI, France). ports: Sun4, also not well supported: Mips/Ultrix, 386/SystemV discussion: alliance-request@masi.ibp.fr contact: cao-vlsi@masi.ibp.fr updated: 1993/02/16 document formatting languages ------------------------------------------------------------------------------- category: document formatting languages description: These are formatting languages. Very application-specific. [Could someone make me an entry for TeX? --ed] iref: (C) c2man language: CLiP package: CLiP version: 2.1 parts: documentation generator author: Eric W. van Ammers how to get: ftp clip/* from sun01.info.wau.nl description: CLiP does not use explicite commands to perform the extraction process. It recognizes pseudostatemens written as comment of the programming language in question. CLiP distinguishes pseudostatments from ordinary comments because the former comply with a a particular style. This specific style can be adjusted to suit virtually any programming language. The CLiP approach to LP makes the system extremely versatile. It is independent of programming language and text processing environment. We designed CLiP to be compatible with hypertext systems as well but we have not yet experimented with this form of documentation. CLiP works with almost any target and almost any source language ports: MS-DOS, VAX/VMS, Unix updated: 1993/11/18 language: HP-GL, Postscript package: hp2ps version: 1.9c parts: interpreter author: Alun Jones how to get: ftp pub/hp2ps/hp2ps19c.zip from ftp.wst.com description: hp2ps is an HP-GL interpreter that is written in Postscript. It runs on the printer itself. restriction: If there is monetary benifit from using hp2ps, it is requested that money be set to Alun Jones. Further, hp2ps may not be distributed as part of a commercial offering without prior agreement. updated: ? language: Lout package: Lout version: 2.05 parts: translator(Lout->Postscript), documentation author: Jeffrey H. Kingston how to get: ftp jeff/lout.2.03.tar.Z from ftp.cs.su.oz.au description: Lout is a batch text formatting system. Lout offers an unprecedented range of advanced features, including equation formatting, tables, diagrams, rotation and scaling, sorted indexes, bibliographic databases, running headers and odd-even pages, automatic cross referencing, and much more, all ready to go. Furthermore, Lout is easily extended with definitions which are very much easier to write than troff of TeX macros because Lout is a high-level language, the outcome of an eight-year research project that went back to the beginning. ports: unix updated: 1993/07/30 language: Postscript package: Ghostscript version: 2.6.1 parts: interpreter, ? author: L. Peter Deutsch how to get: ftp pub/GNU/ghostscript* from a GNU archive site ftp from ftp.cs.wisc.edu:/pub/X/ghostscript*2.6.1* description: A postscript interpreter with previewers for serval systems and many fonts. updated: 1993/05/29 language: Postscript, Common Lisp package: PLisp version: ? parts: translator(Postscript), programming environment(Postscript) author: John Peterson how to get: ? description: ? updated: ? language: SGML (Standardized Generalized Markup Language) package: sgmls version: 1.1 parts: parser author: James Clark and Charles Goldfarb how to get: ftp pub/text-processing/sgml/sgmls-1.0.tar.Z from ftp.uu.net UK: ftp sgmls/sgmls-1.1.tar.Z from ftp.jclark.com description: SGML is a markup language standardized in ISO 8879. Sgmls is an SGML parser derived from the ARCSGML parser materials which were written by Charles Goldfarb. It outputs a simple, easily parsed, line oriented, ASCII representation of an SGML document's Element Structure Information Set (see pp 588-593 of ``The SGML Handbook''). It is intended to be used as the front end for structure-controlled SGML applications. SGML is an important move in the direction of separating information from its presentation, i.e. making different presentations possible for the same information. bugs: James Clark ports: unix, msdos updated: 1993/02/22 language: troff, nroff, eqn, tbl, pic, refer, Postscript, dvi package: groff version: 1.07 parts: document formatter, documentation author: James Clark how to get: ftp groff-1.07.tar.z from a GNU archive site description: [An absolutely fabulous troff! --ed] restriction: GNU General Public License requires: C++ updated: 1993/03/03 language: Web package: CWeb version: 3.1 parts: translator(ANSI C and C++) author: Levy/Knuth? how to get: ? description: [Referred to in the CWeb 3.x announcement (below). I'll follow up on it in the next release of the list. -- Ed] requires: ANSI C and/or C++ Compiler? contact: ? updated: ? language: Web package: CWeb version: 3.x parts: translator(ANSI C) author: Marc van Leeuwen how to get: ftp pub/cweb/? from ftp.cwi.nl description: An ANSI C implementation of the Web literate-programming concept (Both source and output are ANSI C). This version was developed in parallel with v3.1 referred to above. requires: ANSI C Compiler contact: M.van.Leeuwen@cwi.nl updated: 1993/12/16 language: Web package: web2c version: 5-851d parts: translator(C) author: ? how to get: ftp TeX/web2c.tar.Z from ics.uci.edu Europe: ftp pub/tex/src/web2c/web2c.tar.Z from ftp.th-darmstadt.de description: contact: Karl Berry updated: 1993/02/22 language: Web package: Web version: ? parts: translator(Pascal) author: Donald Knuth how to get: ftp ? from labrea.stanford.edu description: Donald Knuth's programming language where you write the source and documentation together. requires: Pascal contact: ? updated: ? language: Web package: FunnelWeb version: ? parts: macro preprocessor, documentation, tests, ? author: Ross Williams how to get: comp.sources.unix volume 26 description: FunnelWeb is a production-quality literate-programming tool that emphasises simplicity and reliability. It provides a macro facility, and assists in the production of typeset documentation. Input-programming-language independent restriction: CopyLeft ports: Sun, Vax, Mac, PC updated: 1993/04/11 assemblers ------------------------------------------------------------------------------- category: assemblers language: various assembly package: GNU assembler (GAS) version: 2.2 parts: assembler, documentation author: ? how to get: ftp gas-2.0.tar.z from a GNU archive site description: Many CPU types are now handled, and COFF and IEEE-695 formats are supported as well as standard a.out. bugs: bug-gnu-utils@prep.ai.mit.edu ports: Sun-3, Sun-4, i386/{386BSD, BSD/386, Linux, PS/2-AIX}, VAX/{Ultrix,BSD,VMS} updated: 1993/11/11 language: various assembly package: fas: Frankenstein Cross Assemblers version: ? parts: base assembler, parser modules (yacc), documentation? author: Mark Zenier how to get: ftp.njit.edu:/pub/msdos/frankasm/frankasm.zoo [Inform me of the other sites -Mark] description: A reconfigurable assembler package, especially suited for 8-bit processors, consisting of a base assembler module and a yacc parser, for each microprocessor, to handle mnemonics and addressing. Second party parser modules available from many sites. requires: YACC updated: ? language: 6502, Z80, 8085, 68xx package: ? version: ? parts: ? author: msmakela@cc.helsinki.fi and Alan R. Baldwin how to get: ftp ? from ccosun.caltech.edu description: I have enhanced a set of 68xx and Z80 and 8085 cross assemblers to support 6502. These assemblers run on MS-DOS computers or on any systems that support standard Kerninghan & Richie C, for example, Amiga, Atari ST and any "big" machines updated: 1993/03/10 language: 6502 package: ? version: ? parts: assembler, manual author: Doug Jones ? how to get: send mail to author description: Supports macro and conditional features, even, as well as being usable for linkage editing of object files. requires: Pascal updated: ? language: mc6809 package: usim version: 0.11 parts: simulator, documentation author: Ray P. Bellis how to get: ftp /pub/mc6809/usim-* from ftp.cns.ox.ac.uk description: a mc6809 simulator updated: 1993/02/14 language: mc6809 package: 6809, E-Forth version: ? parts: assembler, simulator author: Lennart Benschop how to get: alt.sources, 1993/11/03 <2b8i2r$j0e@tuegate.tue.nl> description: An assembler and simulator for the Motorola M6809 processor. Also included is a Forth interpreter, E-Forth written in 6809. ports: assemlber: Unix, DOS; simulator: Unix updated: 1993/11/03 language: 68HC11 package: 68HC11 simulator version: ? 1 parts: simulator author: Ted Dunning how to get: ftp pub/non-lexical/6811/sim6811.shar from crl.nmsu.edu description: An opcode simulator for the 68HC11 processor. Interrupts, hardware I/O, and half carries are still outside the loop. [Adding interrupts may require simulating at the clock phase level -Mark] ports: unix?, ms-dos updated: 1993/07/28 language: 8051 package: CAS 8051 Assembler version: 1.2 parts: assembler/linker, disassembler, documentation, examples author: Mark Hopkins how to get: ftp pub/8051/assem from lyman.pppl.gov Europe: ftp pub/microprocs/MCS-51/csd4-archive/assem from nic.funet.fi description: experimental one-pass assembler for the 8051 with C-like syntax. Most features of a modern assembler included except macros (soon to be added). Other software tools and applications contained in /pub/compilers/8051/*. requires: ANSI-C compiler ports: MSDOS, Ultrix, Sun4 (contact author) updated: 1993/07/22 language: 8051 package: as31 - An 8031/8051 assembler. version: ? 1 parts: assembler, parser(yacc), documentation author: Ken Stauffer (Theo Deraadt wrote the S-record output routines) how to get: wuarchive.wustl.edu at /usenet/comp.sources.misc/volume10/asm.8051.Z ftp.uu.net:/usenet/comp.sources.misc/volume10/asm.8051.Z description: Assembler with ability to produce a variety of object output formats, including S-records. ports: SUN 3 / SUN 4 (SunOS 4.0), Tandy 6000 (Xenix) portability: File I/O may require porting on non-Unixs. updated: 1990/01/26 language: Motorola DSP56000 package: ? version: 1.1 parts: assembler author: Quinn Jensen how to get: alt.sources archive or ftp ? from wuarchive.wustl.edu description: ? updated: ? language: Motorola DSP56001 package: a56 version: 1.1 parts: assembler author: Quinn C. Jensen how to get: alt.sources archive description: ? updated: 1992/08/10 language: 80486 package: WDASM17B.ZIP - Windows 80486 Disassembler for Windows 3.1 version: 1.7b parts: disassembler author: Eric Grass how to get: SIMTEL20, pd1: description: An interactive 80486 disassembler for Windows 3.1. Multiple options for formatting disassembly exist. ports: Windows3.1 portability: Windows-specific updated: 1993/06/29 macro preprocessors ------------------------------------------------------------------------------- category: macro preprocessors description: These are tools that expand macros for another language. iref: (C) GNU CC iref: (C) lcc [I assume lcc has a preprocessor? --ed] language: C preprocessor package: Decus cpp version: ? parts: pre-processor author: Martin Minow how to get: included in the X11R5 distribution as contrib/util/cpp description: An almost-ANSI C preprocessor. It is shipped with X11R5 because some systems don't have a working cpp. ports: VMS (Vax C, Decus C), RSX-11M, RSTS/E, P/OS, and RT11, A/UX, Apollo Domain/IX 9.6, etc. portability: very high updated: ? language: C-Refine, C++-Refine, *-Refine package: crefine version: 3.0 parts: pre-processor, documentation author: Lutz Prechelt how to get: aquire from any comp.sources.reviewed archive description: C-Refine is a preprocessor for C and languages that vaguely resemble C's syntax. It allows symbolic naming of code fragments so as to redistribute complexity and provide running commentary. ports: unix, msdos, atari, amiga. portability: high updated: 1992/07/16 language: m4 package: pd/bsd m4 version: ? parts: interpreter, man page author: Ozan Yigit , Richard A. O'Keefe how to get: ftp from any 386BSD, NetBSD, or FreeBSD archive description: A macro preprocessor, more flexible than cpp conformance: ? updated: 1993/11/03 language: m4 package: GNU m4 version: 1.1 parts: interperter, ? author: Francois Pinard how to get: ftp m4-1.0.tar.Z from a GNU archive site Macintosh: ftp pub/software/mac/src/mpw-c/* from nic.switch.ch. description: A macro preprocessor, more flexible than cpp. It copies its input to the output, expanding macros. Macros are either built-in or user-defined. `m4' has built-in functions for including files, running Unix commands, doing integer arithmetic, manipulating text in various ways, recursing, etc. `m4' can be used either as a front-end to a compiler or as a macro processor in its own right. conformance: ? restriction: GNU General Public License updated: 1993/11/08 special purpose languages ------------------------------------------------------------------------------- category: special purpose languages description: Languages with very specific purposes that are the only free language in that niche (otherwise they would have a category) language: ADL (Adventure Definition Language) package: ADL version: ? parts: interpreter author: Ross Cunniff , Tim Brengle how to get: comp.sources.games archive volume 2 description: An adventure language, semi-object-oriented with LISP-like syntax. A superset of DDL. updated: ? language: ASA package: Adaptive Simulated Annealing (ASA) version: 1.53 parts: ? author: Lester Ingber how to get: ftp pub/ingber/? from ftp.caltech.edu description: ? Language interface to neural net simulator? discussion: asa-request@alumni.caltech.edu updated: 1993/11/14 language: ASN.1 (Abstract Syntax Notation One) (ITU TS X.208/ISO 8824) package: snacc (Sample Neufeld ASN.1 to C/C++ Compiler) version: 1.1 parts: compiler, runtime BER libraries, utility progs author: Mike Sample how to get: ftp /pub/local/src/snacc/snacc1.1.tar.Z from cs.ubc.ca description: ASN.1 is a language used to describe data structures in a machine and implementation lang independent way. Basic Encoding Rules (BER) provide a universal (contiguous) representation of data values. ASN.1 & BER were designed to exchange data (with complex structure) over networks. OSI Application protocols such as X.400 MHS (email) and X.500 directory and others protocols such as SNMP use ASN.1 to describe the PDUs they exchange. Snacc compiles 1990 ASN.1 (including some macros) data structures into C, C++ or type tables. The generated C/C++ includes a .h file with the equivalent data struct and a .c/.C file for the BER encode and decode, print and free routines. reference: Michael Sample and Gerald Neufeld, "Implementing Efficient Encoders and Decoders for Network Data Representations", IEEE INFOCOM '93 Proceedings, Vol 3, pp 1143-1153, Mar 1993 Michael Sample, "How Fast Can ASN.1 Encoding Rules Go?", M.Sc. Thesis, University of British Columbia, Apr 1993 restriction: Compiler under GNU Public License. No restriction on libs and C/C++/tables generated by snacc. If you use it in a commercial product please let us know. requires: yacc (or bison), lex (or flex) and cc (ANSI or non-ANSI) contact: Barry Brachman or updated: 1993/07/12 language: Duel (a C debugging language) package: DUEL version: 1.10 parts: interpreter, stand-alone module, documentation, test suites author: Michael Golan how to get: ftp duel/* from ftp.cs.princeton.edu description: DUEL acts as front end to gdb. It implements a language designed for debbuging C programs. It maily features efficient ways to select and display data items. It is normally linked into the gdb executable, but could stand alone. It interprets a subset of C in addition to its own language. requires: gdb status: author is pushing the system hard. updated: 1993/03/20 language: IDL (Project DOE's Interface Definition Language) package: SunSoft OMG IDL CFE version: 1.2 parts: compiler front end, documentation author: SunSoft Inc. how to get: ftp pub/OMG_IDL_CFE_1.2/* from omg.org description: OMG's (Object Management Group) CORBA 1.1 (Common Object Request Broker Architecture) specification provides the standard interface definition between OMG-compliant objects. IDL (Interface Definition Language) is the base mechanism for object interaction. The SunSoft OMG IDL CFE (Compiler Front End) provides a complete framework for building CORBA 1.1-compliant preprocessors for OMG IDL. To use SunSoft OMG IDL CFE, you must write a back-end; full instructions are included. A complete compiler of IDL would translate IDL into client side and server side routines for remote communication in the same manner as the currrent Sun RPCL compiler. The additional degree of freedom that the IDL compiler front end provides is that it allows integration of new back ends which can translate IDL to various programming languages. Several companies including Sunsoft are building back ends to the CFE which translate IDL into target languages, e.g. Pascal or C++, in the context of planned CORBA-compliant products. requires: C++ 2.1 conformant C++ compiler contact: idl-cfe@sun.com updated: 1993/05/04 language: NewsClip ? package: NewsClip version: 1.01 parts: translator(NewsClip->C), examples, documentation author: Looking Glass Software Limited but distributed by ClariNet Communications Corp. how to get: ? description: NewsClip is a very high level language designed for writing netnews filters. It translates into C. It includes support for various newsreaders. restriction: Cannot sell the output of the filters. Donation is hinted at. status: supported for ClariNet customers only contact: newsclip@clarinet.com updated: 1992/10/25 language: PROGRESS package: PROGRESS version: RWTH 5.10 parts: environment, interpreter, database, ? author: Dr. Andy Schuerr , Albert Zuendorf how to get: send mail to authors sun4-bin: ftp pub/unix/PROGRES/? from ftp.informatik.rwth-aachen.de description: PROGRES is an integrated environment for a very high level programming language which has a formally defined semantics based on "PROgrammed Graph Rewriting Systems". This language supports the following programming paradigms/purposes: 1) Structurally object-oriented specification of attributed graph structures with multiple inheritance hierarchies and types of types (for parametric polymorphy). 2) Declarative/relational specification of derived attributes, node sets, binary relationships (directed edges), and Boolean constraints. 3) Rule-oriented/visual specification of parameterized graph rewrite rules with complex application conditions. 4) Nondeterministic & imperative programming of composite graph transformations (with built-in backtracking and cancelling arbitrary sequences of failing graph modifications). Therefore, PROGRES may be used as 1) a very high level programming language for implementing abstract data types with a graph-like internal structure, 2) a visual database programming language for the graph-oriented database system GRAS (which is available as free software under the GNU license conditions), 3) a rule-oriented language for rapid prototyping nondeterministically specified data/rule base transformations. Furthermore, PROGRES is an almost statically typed language which additionally offers "down casting" operators for runtime checked type casting/conversion (in order to avoid severe restrictions concerning the language's expressiveness). PROGRESS is meant to be used with GRAS, which is also available updated: 1993/11/02 language: Tiny package: Omega test, Extended Tiny version: 3.2.2 parts: translator(fortran->tiny), tiny interpreter?, analysis tools author: William Pugh and others how to get: ftp pub/omega from ftp.cs.umd.edu description: The Omega test is implemented in an extended version of Michael Wolfe's tiny tool, a research/educational tool for examining array data dependence algorithms and program transformations for scientific computations. The extended version of tiny can be used as a educational or research tool. The Omega test: A system for performing symbolic manipulations of conjunctions of linear constraints over integer variables. The Omega test dependence analyzer: A system built on top of the Omega test to analyze array data dependences. contact: omega@cs.umd.edu updated: 1992/11/13 language: Extended Tiny package: Extended Tiny version: 3.0 (Dec 12th, 1992) parts: programming environment, dependence tester, tests translator(Fortran->tiny), documentation, tech. reports author: original author: Michael Wolfe , extended by William Pugh et al. how to get: ftp pub/omega from cs.umd.edu description: A research/educational tool for experimenting with array data dependence tests and reordering transformations. It works with a language tiny, which does not have procedures, goto's, pointers, or other features that complicate dependence testing. The original version of tiny was written by Michael Wolfe, and has been extended substantially by a research group at the University of Maryland. Michael Wolfe has made further extensions to his version of tiny. ports: Any unix system (xterm helpful but not required) contact: Omega test research group updated: 1993/01/23 language: SQL package: _lex & yacc_ by Levine, Mason & Brown published by O'Reilly version: ? parts: book, grammar author: Levine, Mason & Brown how to get: buy the book, or ftp published/oreilly/nutshell/lexyacc/? from ftp.uu.net. description: In _lex & yacc_, by Levine, Mason & Brown an SQL parser is included as an example grammar updated: ? natural languages ------------------------------------------------------------------------------- category: natural languages description: These are tools that interact with human languages. language: natural languages package: Pleuk grammar development system version: 1.0 parts: shell, examples, documentation author: Jo Calder , Kevin Humphreys , Chris Brew , Mike Reape how to get: ftp from hostname ai.uga.edu: /ai.natural.language/ description: A shell for grammar development, handles various grammatical formalisms. requires: SICStus Prolog version 2.1#6 or later, and other programs readily available from the public domain. contact: pleuk@cogsci.ed.ac.uk. updated: 1993/06/18 language: natural languages package: proof version: ? parts: parser, documentation author: Craig R. Latta how to get: ftp src/local/proof/* from scam.berkeley.edu description: a left-associative natural language grammar scanner bugs: proof@xcf.berkeley.edu ports: Decstation3100 Sun-4 discussion: proof-request@xcf.berkeley.edu ("Subject: add me") updated: 1991/09/23 curiosities ------------------------------------------------------------------------------- category: curiosities description: These are the languages and tools that I could not fit into one of the other categories. I am quite willing to reclassify these if provided with a rational way to do so. language: a1 (Address 1 code) package: a1 code interpreter version: ? 1 parts: interpreter, examples author: Matthew Newhook how to get: garfield.cs.mun.ca:/pub/a1/a1.tar.Z description: An address 1 code interpreter used to test compiler output. requires: gcc 2.4.2 or higher portability: Ports to machine without memory segment protection unverified. updated: 1993/06/02 language: INTERCAL package: C-INTERCAL version: 0.9 parts: compiler, library, documentation author: Eric S. Raymond how to get: ftp pub/intercal/intercal0.9.* from sequoia.lle.rochester.edu description: INTERCAL is possibly the most elaborate and long-lived joke in the history of programming languages. It was first designed by Don Woods and Jim Lyons in 1972 as a deliberate attempt to produce a language as unlike any existing one as possible. The manual, describing features of horrifying uniqueness, became an underground classic. ESR wrote C-INTERCAL in 1990 as a break from editing _The_New_Hacker's_Dictionary_, adding to it the first implementation of COME FROM under its own name. The compiler has since been maintained and extended by an international community of technomasochists. The distribution includes extensive documentation and a program library. C-INTERCAL is actually an INTERCAL-to-C source translator which then calls the local C compiler to generate a binary. The code is thus quite portable. contact: Steve Swales updated: 1993/05/20 language: Logo package: logo version: 4 parts: interpreter author: ? how to get: comp.sources.unix archive volume 10 description: ? updated: ? language: Logo package: Berkeley Logo version: 3.0 parts: interpreter author: Brian Harvey how to get: ftp pub/ucblogo/* from anarres.cs.berkeley.edu description: + Logo programs are compatible among Unix, PC, and Mac. + "richer" than MswLogo? - pretty slow. - doesn't do anything fancy about graphics. (One turtle.) ports: unix, pc, mac updated: 1993/08/06 language: Logo package: MswLogo version: 3.5 parts: interpreter author: George Mills how to get: ftp pub/comp.lang.logo/programs/mswlogo from cher.media.mit.edu Source may require emailing George Mills. description: A windows front-end for Berkeley Logo bugs: George Mills ports: MS Windows 3.x status: activly developed updated: 1993/10/15 unable to classify due to lack of knowledge ------------------------------------------------------------------------------- category: unable to classify due to lack of knowledge description: [Please help. --ed] contact: Jack Hsu language: FMPL of Accardi package: FMPL interpreter version: 1 parts: interpreter, documentation author: Jon Blow how to get: ftp src/local/fmpl/* from xcf.berkeley.edu description: FMPL is an experimental prototype-based object-oriented programming language developed at the Experimental Computing Facility of the University of California, Berkeley. + lambda-calculus based constructs. + event-driven (mainly I/O events) updated: 1992/06/02 language: Garnet ?? package: Garnet version: 2.1 alpha parts: ? author: ? how to get: ftp from /usr/garnet/? from a.gp.cs.cmu.edu description: ? contact: ? updated: ? language: Garnet package: Multi-Garnet version: 2.1 parts: ? author: Michael Sannella how to get: ftp /usr/garnet/alpha/src/contrib/multi-garnet from a.gp.cs.cmu.edu description: better contstraint system for Garnet ?? updated: 1992/09/21 language: OPS5 package: PD OPS5 version: ? parts: interpreter author: Written by Charles L. Forgy and ported to Common Lisp by George Wood and Jim Kowalski. how to get: ftp /afs/cs.cmu.edu/user/mkant/Public/Lisp/ops5* from ftp.cs.cmu.edu description: Public domain implementation of an OPS5 interpreter. OPS5 is a programming language for production systems. ?????? requires: Common Lisp contact: ? Mark Kantrowitz ? updated: 1992/10/17 language: Isabelle package: Issabelle-93 version: ? parts: ? author: Written by Lawrence C Paulson and Tobias Nipkow? how to get: ftp /afs/cs.cmu.edu/user/mkant/Public/Lisp/ops5* from ftp.cs.cmu.edu description: Isabelle is a generic theorem prover. New logics are introduced by specifying their syntax and rules of inference. Proof procedures can be expressed using tactics and tacticals. The latest version, Isabelle-93, is significantly faster than Isabelle-92 and has several other improvements. requires: ? contact: Larry.Paulson@cl.cam.ac.uk Tobias.Nipkow@informatik.tu-muenchen.de? updated: 1993/12/20 ------------------------------------------------------------------------------- references ------------------------------------------------------------------------------- name: The Apple II Programmer's Catalog of Languages and Toolkits version: 2.2 author: Larry W. Virden how to get: posted to comp.sys.apple2, comp.lang.misc; ftp from idiom.berkeley.ca.us description: A survey of language tools available for the Apple ][. updated: 1993/04/28 name: Catalog of embeddable Languages. version: 2 author: Colas Nahaboo how to get: posted to comp.lang.misc,comp.lang.tcl; ftp pub/EmbeddedInterpretersCatalog.txt from avahi.inria.fr description: Descriptions of languages from the point of view of embedding them. updated: 1992/07/09 name: Compilers bibliography version: 1.5 author: Charlie A. Lins how to get: ftp pub/oberon/comp_bib_1.4.Z from ftp.apple.com description: It includes all the POPLs, PLDIs, Compiler Construction, TOPLAS, and LOPAS. Plus various articles and papers from other sources on compilers and related topics. updated: 1992/10/31 name: haskell-status version: ? author: Simon Peyton Jones how to get: posted occaisionally to ??? description: A report, detailing the current features and status of all the implementations of Haskell. updated: ? name: Language List version: 2.1 author: Bill Kinnersley how to get: posted regularly to comp.lang.misc; ftp pub/comp.compilers/LanguageList* from primost.cs.wisc.edu; ftp pub/compilers-list/LanguageList* from idiom.berkeley.ca.us description: Descriptions of almost every computer langauge there is. Many references to available source code. updated: 1993/09/11 name: Numerical Analysis Using Non-Procedural Paradigms version: published thesis author: Steve Sullivan how to get: send email to author; or an ascii version of the comparision can be found in the comp.compilers archives, posted 1993/11/16 description: A thesis, that among other things, compares and benchmarks C++, Modula-3, Standard ML, Haskell, Sather, and Common Lisp updated: 1993 name: The Lisp FAQs version: 1.30 author: Mark Kantrowitz how to get: posted regularly to comp.lang.lisp,news.answers,comp.answers description: Details of many lisps and systems written in lisps including many languages not covered elsewhere. updated: 1993/02/08 name: Survey of Interpreted Languages version: ? author: Terrence Monroe Brannon how to get: Posted to comp.lang.tcl,comp.lang.misc,comp.lang.perl, gnu.emacs.help,news.answers; or ftp pub/gnu/emacs/elisp-ar*/pack*/Hy*Act*F*/survey-inter*-languages from archive.cis.ohio-state.edu. description: Detailed comparision of a few interpreters: Emacs Lisp, Perl, Python, and Tcl. updated: ? ------------------------------------------------------------------------------- archives ------------------------------------------------------------------------------- language: Ada package: AdaX description: an archive of X libraries for Ada. Includes Motif [note, I chose this server out of many somewhat randomly. Use archie to find others --ed] how to get: ftp pub/AdaX/* from falcon.stars.rosslyn.unisys.com contact: ? language: APL, J package: APL, J, and other APL Software at Waterloo how to get: ftp languages/apl/index from watserv1.waterloo.edu contact: Leroy J. (Lee) Dickey language: Assembler (Motorola) description: An archive of development software and tools for the Motorola microcontroller series. Includes assemblers, a C compiler (6809), and applications. Comes mainly from the Austin Texas Motorola BBS. how to get: ftp bode.ee.ualberta.ca : /pub/dos/motorola language: Assembler (Various) package: The Beowulf archive? description: An archive of assemblers for various 8-bit microcontrollers how to get: hpcsos.col.hp.com : /misc/ns32k/beowulf language: Assembler, Forth (8051) package: The Siemens 8051 archive description: An archive for development software and tools for the 8051 microcontroller. how to get: ftp pub/8051/signetics-bbs from lyman.pppl.gov contact: jsm@phoenix.princeton.edu language: Assembler (8051) package: The CAS archive. description: Another archive for development software and tools for the 8051 microcontroller. May be converted into a general microprocessor archive in the future. how to get: lyman.pppl.gov : /pub/8051/siemens-bbs nic.funet.fi: /pub/microprocs/MCS-51/csd4-archive csd4.csd.uwm.edu : /pub/compilers/* (Discontinued as of 10/4/93) language: C, C++, Objective-C, yacc, lex, postscript, sh, awk, smalltalk, sed package: the GNU archive sites description: There are many sites which mirror the master gnu archives which live on prep.ai.mit.edu. Please do not use the master archive without good reason. how to get: NOTE: Many gnu files are now compressed with gzip. You can tell a gzip'ed file because it has a lower-case .z or .gz rather than the capital .Z that compress uses. Gzip is available from these same archives ftp pub/gnu/* from prep.ai.mit.edu USA: ftp mirrors4/gnu/* from wuarchive.wustl.edu ftp pub/src/gnu/* from ftp.cs.widener.edu ftp gnu/* from uxc.cso.uiuc.edu ftp mirrors/gnu/* from col.hp.com ftp pub/GNU/* from gatekeeper.dec.com ftp packages/gnu/* from ftp.uu.net Japan: ftp ? from ftp.cs.titech.ac.jp ftp ftpsync/prep/* from utsun.s.u-tokyo.ac.jp Australia: ftp gnu/* from archie.au Europe: ftp gnu/* from src.doc.ic.ac.uk ftp pub/GNU/*/* from ftp.informatik.tu-muenchen.de [re-org'ed] ftp pub/gnu/* from ftp.informatik.rwth-aachen.de ftp pub/gnu/* from nic.funet.fi ftp pub/gnu/* from ugle.unit.no ftp pub/gnu/* from isy.liu.se ftp pub/gnu/* from ftp.stacken.kth.se ftp pub/gnu/* from sunic.sunet.se [re-org'ed] ftp pub/gnu/* from ftp.win.tue.nl ftp pub/gnu/* from ftp.diku.dk ftp software/gnu/* from ftp.eunet.ch ftp gnu/* from archive.eu.net [re-org'ed] restriction: Most GNU programs are CopyLeft'ed. That means that they are distributed under the terms of the GNU General Public License or GNU Library General Public License. The CopyLeft is only a concern if you want to use actual GNU code in your program. Using Gcc or any of the other tools is completely safe from a copyright point-of-view with the sole exception of bison which includes GNU code in its output. If you use a GNU library, you must supply an unlinked version of your program. language: Forth description: Forth implementations and programs how to get: anonymous@asterix.inescn.pt[192.35.246.17]:pub/forth contact: Paulo A. D. Ferreira language: Haskell description: An archive of Haskell and Gofer programs how to get: anonymous@ftp.cs.chalmers.se:pub/haskell/library anonymous@nebula.cs.yale.edu:pub/haskell/library anonymous@ftp.dcs.glasgow.ac.uk:pub/haskell/library language: lisp package: MIT AI Lab archives description: archive of lisp extensions, utilities, and libraries how to get: ftp pub/* from ftp.ai.mit.edu contact: ? language: lisp package: Lisp Utilities collection how to get: ftp /afs/cs.cmu.edu/user/mkant/Public/Lisp from ftp.cs.cmu.edu contact: cl-utilities-request@cs.cmu.edu language: Scheme package: The Scheme Repository description: an archive of scheme material including a bibliography, the R4RS report, sample code, utilities, and implementations. how to get: ftp pub/scheme/* from nexus.yorku.ca contact: Ozan S. Yigit language: Smalltalk package: Manchester Smalltalk Goodies Library description: a large collection of libraries for smalltalk. Created by Alan Wills, administered by Mario Wolczko. how to get: ftp uiuc/st*/* from st.cs.uiuc.edu uk: ftp uiuc/st*/* from mushroom.cs.man.ac.uk contact: goodies-lib@cs.man.ac.uk language: Tcl package: Tcl/Tk Contrib Archive description: An archive of Tcl/tk things. how to get: ftp tcl/* from barkley.berkeley.edu contact: Jack Hsu ------------------------------------------------------------------------------- cross-reference ------------------------------------------------------------------------------- These are additional categories. When an implementation is in a category rather than a language, the language is indicated in (parenthesis). category: command shells description: These are the languages that treat bare words as programs to execute. lref: csh lref: ERGO-Shell lref: es lref: Korn Shell lref: Q lref: rc lref: ssh lref: Z-shell category: compiler frontend/backend glue description: These are the languages used to glue semantic analysers to code generators. lref: C -- C is often used as an intermediate step lref: RTL lref: lcc -- [what is the lcc intermediate code called? --ed] category: database description: These are the languages that are specifically designed for database access. lref: Aditi lref: CORAL lref: GNU E lref: PROGRESS category: distributed description: These are languages that include constructs that specifically support distributed programming. lref: Hermes lref: Glish iref: (TCL) TCL-DP category: dynamic foriegn functions description: These tools can dynamically load C code at run-time. lref: CommonLisp lref: Python iref: (Perl) Dylperl iref: (Scheme) Elk category: editor construction description: These are languages that are embedded in editors lref: IVY lref: S-Lang iref: (Lisp) elisp category: educational description: These are languages that are either designed for teaching, or are often used that way. lref: ABC lref: C lref: Logo lref: O'small lref: Pascal category: embeddable description: These tools can be used as scripting langauges for programs written in C. They are all interpreted. lref: IVY lref: Perl5 lref: Python lref: S-Lang lref: TCL iref: (C) ae iref: (Scheme) Elk iref: (Scheme) siod category: glue description: These are languages that are designed to tie other programs and libraries together. cref: dynamic foriegn functions cref: command shells lref: Glish lref: REXX category: graphic user interface support description: These are the languages that have support for writing gui programs. cref: C variants lref: CommonLisp lref: LIFE lref: Python iref: (Caml Light) Caml Light iref: (Prolog) PI iref: (Prolog) XWIP iref: (Scheme) Elk lref: (Scheme) Ezd iref: (Scheme) STk iref: (TCL) Tk iref: (TCL) Wafe category: interactive description: These are the languages that are meant to be used interactively. [I'm sure there are more. Tell me! --ed] lref: Caml lref: CommonLisp lref: Q iref: (C) ae category: reflective description: [could someone tell me what reflective langauges are? --ed] lref: ABCL ??? lref: ABCL/1 lref: MeldC category: terminal graphics support description: These are languages that can access curses, or have an equivalent. cref: C variants lref: ici iref: (Common Lisp) CLISP iref: (Perl) curseperl iref: Python iref: (Scheme) scm category: text manipulation description: These languages have very high-level features for manipulating text. cref: compiler generators and related tools lref: Icon lref: Lex lref: Perl lref: Snobol4 category: unix tool building description: These are languages that are appropriate for building tools in a Unix environment. To be included, direct access to most system features is required. lref: C lref: ici lref: Perl lref: Python lref: TCL category: window manager construction description: These are languages that are built into window managers iref: (Lisp) WOOL -- Send compilers articles to compilers@iecc.com or -- Send compilers articles to compilers@iecc.com or {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request@iecc.com.