
Part A: Introduction
====================

AMC is a a language translator that gets its translation rules from a
programming language called CGL (code generation language). AMC generates
output by running a back end program (usually a C compiler or assembler) on
a text file that it creates during parsing of the source code. 

In addition, AMC also adds a module structure and build facility that is 
quite simple to understand yet works well for large projects.

I have used AMC to design a special object-oriented front end to C as well
as automating several other code generation tasks. 

AMC was developed on an HP 710 running HP-UX using the GCC compiler.
However, the majority of the code for AMC conforms to the ANSI C89 standard.
There is a small portion of code that interfaces with the operating system
and is non-portable, but this code is easily replaced to adapt AMC to a new
operating system.

Part B: The documentation
==========================

The documentation for AMC is kept in the 'doc' directory in SGML format. 
In order to read it you should obtain the SGML-tools package to convert the
SGML into TeX, HTML or ASCII. 

If you simply want to peruse the documentation, you can find it at:

    http://www.conman.org/software/amc

already in HTML format. 


Part C: Installation
====================

AMC does not have to be installed in any special directories or have any
paths hard-coded into it during compile time. Once you compile the binary
you can move the directory tree to anywhere you like at any time. 

See the file 'INSTALL' in this directory for more details.

It should be pretty simple to get AMC working on most UNIX systems as long
as they have an ANSI-C compiler and support something similar to POSIX.1
semantics. K&R C is not (and never will be) supported. 

AMC is known not to work on the following operating systems:

    * NeXTStep 3.2/68k  - The compiler and libraries just have too many
                          bugs. I have given up trying to support NeXTStep.
    * Windows NT/9x/3.x - These "operating systems" will never be supported
                          because it is a violation of the license agreement
                          to run this code under them.
    * PC-DOS            - This operating system has memory problems and 
                          can not hold both AMC and a C compiler in 
                          memory at the same time.

Part D: Support
===============

If you have any problems getting AMC compiled or using it, please send
E-mail to myg@din.net and I will provide any help you need. 



