next up previous contents index
Next: 2 Rational Up: ASfor Abstract Syntax Previous: Contents

1 Introduction

external

The specification language AS is a successor to a subpart of Metal [7], the abstract and concrete syntax specification language created for Mentor [5] and now used in Centaur [1].

Even if this new formalism has been developed under Centaur, and if the definitions written using AS are compatible with most of the rest of the Centaur system (at least for the first-order specifications), the aim of this formalism is to be a specification formalism, independent from a particular implementation or host system. This means that if it will be possible to compile AS specifications for the Centaur system or an eventual successor, we want also to be able to produce independent ``batch'' implementations. AS is the first language from a forthcoming family of specification languages (the CLF, for Computer Languages Factory) that wants to cover also concrete syntax and semantics, enhancing the trilogy Metal/PPML/Typol, and designed for quick prototyping and complete implementation of computer languages.

AS is a successor for a subpart of Metal only, more precisely the abstract syntax part of Metal. To produce complete programming environments or compilers using AS one will have to wait for the rest of the family, more precisely to the concrete syntax specification formalism. But it is possible to use it now as soon as one does not need a parser for a particular formalism. It is possible to use PPML and Typol for a formalism defined with AS. AS may be in particular used now to define ``environments'' used in Typol specifications as well as a target language in a translator or a code generator specified in Typol. AS as been already used to define several languages for the Centaur system: a subset of prolog used by its own code generator, the environment used by its own type-checker, and also some ``real'' languages such as C and Java.

AS is also an extension to Metal. It allows the definition of modular and second-order abstract syntaxes. If modularity can be used right now, second-order features will be useful only when a higher-order version of Typol will be available.

The next section is a rational that compares AS with other specification formalisms and explains the choices that have been made in the design of the language. Follow a tutorial, the user's manual that explains how to manipulate, compile and use the result of the compilation of AS specifications, and the reference manual that describes all the features of the language. The section about errors explains how to understand warnings and error messages issued by the type-checker or by the compiler. The last section contains implementation notes that will be useful only for implementors or advanced users.

This manual as been designed to be a traditional manual and to be accessible as online documentation. To achieve this goal, both LaTeX and LaTeX2HTML has been used to produce an hypertext document. This document is directly accessible from the Centaur environment for AS. In particular error messages produced by the type-checker can refer directly to the corresponding documentation using a Web browser running in a server mode as Netscape. The printed version of the manual contains also some links to help the user to navigate in the document. These links are indicated by the sign `` tex2html_wrap_inline1121 ''.

external


next up previous contents index
Next: 2 Rational Up: ASfor Abstract Syntax Previous: Contents

Thierry Despeyroux
Fri May 16 15:24:06 MET DST 1997