Alma is a software workshop for modeling and
analyzing. It reads several sources (languages,
models, etc.), helps you design for
object-oriented modeling (definition of classes,
relations, patterns, etc.), modifies the structure
and the code, and outputs new sources,
documentation, diagrams, etc. It is designed for
object-oriented modeling (definition of classes
and relations) and for migrating code in older
languages. It meets two needs, offering a
simplified software modeling workshop for small
projects and making it easier to do rewrites,
ports, and encapsulation of non-OO code.

AMC is a programmable compiler/preprocessor. It has a built-in programming language called CGL (Code Generation Language) that lets you add new syntactical elements to the source files that AMC processes. In addition, AMC has a module structure reminescent of the UCSD p-System compiler. AMC comes with a default package that adds a dynamic form of OOP to C.

ANTLR (ANother Tool for Language Recognition) is a language tool that provides a framework for constructing recognizers, compilers, and translators from grammatical descriptions containing C++, Java, or Sather actions. It is similar to the popular compiler generator YACC, however ANTLR is much more powerful and easy to use. ANTLR-produced parsers are not only highly efficient, but are both human-readable and human-debuggable (especially with the interactive ParseView debugging tool). ANTLR can generate parsers, lexers, and tree-parsers in either C++, Java, or Sather. ANTLR is currently written in Java.

'App' is a preprocessor for C++ that accepts as input arbitrary C++ code that may contain embedded constructs for specifying algebraic data types and associated pattern matching operations, and produces as output the same code with all such constructs translated to normal C++. What app essentially does is provide for C++ pretty much the same capabilities that functional languages have regarding algebraic types. 'Applib' is the associated runtime library that supports the core run time requirements of the translated code, and which provides additional utilities (applib is covered by the LGPL).

APRIL is a symbolic programming language that is designed for writing mobile, distributed and agent-based systems especially in an Internet environment. It has advanced features such as a macro sub-language, asynchronous message sending and receiving, code mobility, pattern matching, higher-order functions and strong typing. The language is compiled to byte-code which is then interpreted by the APRIL runtime-engine. APRIL now requires the InterAgent Communications Model (ICM) to be installed before it can be installed.

ArgoUML is a pure Java open source UML CASE tool that provides cognitive support for object-oriented design. ArgoUML provides some of the same editing and code generation features of a commercial CASE tool, but it focuses on features that enhance usability and support the cognitive needs of designers. Uses XML file formats: XMI and PGML.

AutoGen is a tool designed for generating program
files that contain repetitive text with varied
substitutions. Its goal is to simplify the
maintenance of programs that contain large amounts
of repetitious text. This is especially valuable
if there are several blocks of such text that must
be kept synchronized. Output is specified with a
Scheme-enhanced output template. Input, if
required by your template, may come from AutoGen
definitions, CGI data, or XML files.

NFSv4 specifies that the RPC calls be batched into a "compound" call. There is no support for this in RPCGEN. By rearranging the ONC IDL for NFSv4 into AutoGen definitions, these templates will emit the original IDL *plus* all the code to package, send, distribute, collect, return, and dispatch the results. The distributed program author merely needs to call and supply server procedures for the routines specified in the IDL. Templates for these calls and service routines is provided, too. The NFSv4 definitions are included.

AutoOpts is an integrated part of AutoGen. Based on a very simple option description file, it will process configuration files, environment variables, command line options, text strings passed by client programs, and will make the results easily accessible to the client program. It will also produce a man page and the info-doc invoking section automatically.