category: macro preprocessors


Description:
These are tools that expand macros for another language.


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:
June 2nd, 1997

Language:
C-Refine, C++-Refine, *-Refine
Package:
crefine
Version:
3.0
Parts:
pre-processor, documentation
Author:
Lutz Prechelt <prechelt@ira.uka.de>
Location:
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:
July 16th, 1992

Language:
C preprocessor
Package:
Decus cpp
Version:
?
Parts:
pre-processor
Author:
Martin Minow
Location:
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:
gema
Package:
gema
Version:
1.1
Parts:
macro processor, documentation, examples.
Author:
David N. Gray <DGray@acm.org>
Location:
FTP://ftp.ugcs.caltech.edu/pub/gema/gema.tar.gz MS-DOS executable in file exe.zip

To just view doc: http://www.ugcs.caltech.edu/gema/

Description:
A general-purpose macro processor that uses pattern matching and replacement. It can be used as a pre-processor or to translate one language to another, or to extract selected information from files.
Features:
  • Does not impose any particular syntax for macro calls.
  • No built-in assumptions about input language syntax.
  • Can recognize patterns spanning multiple lines.
  • Handles recursive patterns, such as matching pairs of nested parentheses.
  • Different sets of rules can be used in different contexts.
  • Easy to ignore redundant white space.
Requires:
ANSI C compiler
Ports:
Unix, MS-DOS, Windows/NT
Updated:
May 23rd, 1995

Language:
C, C++, Objective-C, RTL
Package:
GNU CC (gcc)
Version:
4.3.3
Parts:
compiler, runtime, examples, documentation Library listed separately
Author:
Richard Stallman and others
Location:
http://gcc.gnu.org/
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 C (gcc), C++ (g++), Objective C, Fortran, Java (GCJ), and Ada (GNAT) are all under active development.
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. [this conformance section requires updating --ed]

Bugs:
http://gcc.gnu.org/bugs.html
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:
http://gcc.gnu.org/lists.html
Announcements:
gnu.gcc.announce (for C/Objective-C), gnu.g++.announce (for C++)
Updated:
Feb 2009

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:
November 27th, 1993

Language:
m4
Package:
GNU m4
Version:
1.4
Parts:
interperter
Author:
Francois Pinard <pinard@iro.umontreal.ca>
Location:
ftp://gatekeeper.dec.com/m4-1.4.tar.gz or any other GNU archive site
macintosh:
ftp://nic.switch.ch/pub/software/mac/src/mpw-c/*
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:
Mostly SVR4 compatible with a few extensions.
Restriction:
GNU General Public License
Updated:
November 6th, 1994

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:
Febuary 1st, 1995

Language:
m4
Package:
pd/bsd m4
Version:
?
Parts:
interpreter, man page
Author:
Ozan Yigit <oz@sis.yorku.ca>, Richard A. O'Keefe <ok@goanna.cs.rmit.OZ.AU>
Location:
ftp from any 386BSD, NetBSD, or FreeBSD archive
Description:
A macro preprocessor, more flexible than cpp
Conformance:
?
Updated:
November 3rd, 1993

This site is supported by David Sharnoff and Bryan Miller with some help from Google Adwords.

Please send updates to free-compilers@sharnoff.org

The HTML is maintained by David Muir Sharnoff and the entries themselves are currently maintained by Bryan Miller.

Copyright (c) 1992-1998 David Muir Sharnoff, All Rights Reserved
Copyright (c) 1994-1996, Steven Allen Robenalt, All Rights Reserved