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 9x - This operating system is missing some Win32
calls that AMC uses. The code can be modified to work with Windows 9x, but I can't verify it as I do not have this configuration. 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.
