Experience with ANSI C markup language for a cross-referencer

The purpose of this paper is twofold: (1) to examine the properties of our ANSI C markup language (ACML) as a domain-specific language (DSL); and (2) to show that ACML is useful as a DSL by implementing an ANSI C cross-referencer using ACML. We have introduced ACML as a DSL for developing CASE tools. ACML is defined as a set of XML tags and attributes, and describes ANSI C program's syntax trees, types, symbol tables, and so on. That is, ACML is the DSL which plays the role of intermediate representation among CASE tools. ACML-tagged documents are automatically generated, from ANSI C programs, and then used as input of CASE tools. ACML is self-descriptive and has CASE-tool specific information, which results in high productivity of CASE tools. To show this, we experimentally implemented an ANSI C cross-referencer based on ACML. In the implementation, we had a good result; it took only 0.5 man-month.