19 citations found. Retrieving documents...
G. Kahn et al. Metal: A formalism to specify formalisms. Sci. Comput. Programming, 3:151--188, 1983.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Unified Algebras and Abstract Syntax - Mosses (1994)   (4 citations)  (Correct)

....as in: Sum : s left:Expr s right:Expr . Meta IV goes on to allow the use of domain operators for tuples (A , A ) optional domains ( A] power sets (A set) finite maps, partial functions, and total functions. The form of abstract syntax used in connection with syntax directed editing in [5, 15] is based on phyla and constructor operators. A phylum is simply a set of terms, and the operators map terms to terms. Phyla may not overlap. Specifications may be factored, so arithmetic expressions could be specified as: expr = Var(ID) j Const(INT) j Sum, Prod(expr,expr) where ID and INT are ....

G. Kahn et al. Metal: A formalism to specify formalisms. Sci. Comput. Programming, 3:151--188, 1983.


The Pan Language-Based Editing System - Ballance, Graham, Vanter (1991)   (27 citations)  (Correct)

....selection, navigation, highlighting, and editing. Class membership is dynamic, based on class de nition and the current database of derived information. The relationship between tree operators and operand classes is user oriented and manyto many, in contrast to the use of operators and phyla [36] for tree speci cation. Operators not in any operand class are hidden from users and are not part of the structural model. In the Synthesizer Generator a similar e ect is achieved by the resting place mechanism [53] but there is only one (anonymous) class of resting places and its speci cation ....

Kahn, G., Lang, B., M el ese, B., and Morcos, E. Metal: A formalism to specify formalisms. Science of Computer Programming 3 (1983), 151-188.


The Syntax Definition Formalism SDF - Reference Manual - Heering, Hendriks, Klint.. (2001)   (85 citations)  (Correct)

....viewpoints, SDF implicitly de nes a standard translation from context free to abstract syntax, i.e. the translation from context free to abstract syntax is the same for all SDF de nitions. This implies that SDF has less expressive power than, for instance, the syntax de nition 3 formalism Metal [KLMM83]. The abstract and context free syntax de ned by a Metal speci cation may di er from each other in important respects not reproducible in SDF. For example, the order of the arguments of the abstract and concrete forms of a function need not be the same in Metal. For the reason given above, we ....

....pairs that can be described. The integration between the description of context free syntax and of abstract syntax. The treatment of variables. We will restrict ourselves to some representative examples, namely Lex [LS86] Yacc [Joh86] Metal (the speci cation language of the Mentor system [KLMM83]) SSL (the speci cation language of the Synthesizer Generator [Rep82, RT89] and the speci cation language of the PSG system [BS86] In [HK89] we have already compared SDF with Lex, Yacc and Metal by studying several examples in each of these formalisms. 78 The syntax de nitions for Lex Yacc, ....

G. Kahn, B. Lang, B. Melese, and E. Morcos. Metal: a formalism to specify formalisms. Science of Computer Programming, 3:151-188, 1983.


A Tool to Support Formal Reasoning about Computer Languages - Boulton (1996)   (2 citations)  (Correct)

....and documented. The intention is to make it easy to retarget the output for other tools and other programming languages. 6.2.1 Centaur and ASF SDF Centaur has two collections of specification languages: ASF SDF [BHK89] a combination of ASF and SDF) and Metal PPML Typol. SDF [HHKR89] and Metal [KLMM83] are specification languages for concrete and abstract syntax. Neither of these specify formatting but PPML [MC86] a pretty printing spec12 ification language) may be used with Metal, and recently van den Brand and Visser [vdBV96] have shown how default pretty printers can be generated from SDF. ....

G. Kahn, B. Lang, B. M'el`ese, and E. Morcos. Metal: A formalism to specify formalisms. Science of Computer Programming, 3(2):151--188, 1983.


Semi-automatic Grammar Recovery - Lämmel, Verhoef (2000)   (3 citations)  (Correct)

....is used as the basis for tools is not new. Already in the early eighties several research and commercial projects on the generation of interactive programming environments were started with the aim to generate structured editors, parsers, unparsers, etc. directly from the grammar of a language [51, 66, 107, 34, 64]. In this case, the grammar was in all cases the same artifact. So grammars play a central role in such programming environments. We add to this idea that we do not demand all artifacts to be generated (more or less) directly from the base line grammar. Each artifact can be rather generated from a ....

G. Kahn, B. Lang, B. M'el`ese, and E. Morcos. Metal: A formalism to specify formalisms. Science of Computer Programming, 3:151--188, 1983.


A Formal Executable Semantics for Java - Attali, Caromel, Russo (1990)   (7 citations)  (Correct)

....for this language. This system has already been used to specify the semantics of the following languages: Sisal [3] Eioeel [1] Eiffel [2] etc. The specication of syntactic aspects includes the concrete and abstract syntax of the language. From this specication (written in Metal [15]) one can derive a parser that transforms the textual form of a program (a source le) into a structural representation (an abstract syntax tree that belongs to the formalism so dened) Every structured object is represented within the system as an abstract syntax tree. Semantic aspects in the ....

G. Kahn, B. Lang, and B. Melese. Metal: a Formalism to Specify Formalisms. In Science of Computer Programming, volume 3, NorthHolland, 1983.


Language-Based Document Processing - Arnon, al. (1992)   (Correct)

....tree) There also exists the reverse mapping, called prettyprinting or unparsing, that transforms a structural representation into a concrete layout. In the Centaur system, the specifications of concrete and abstract syntax, together with their relationship, are written in the Metal language [12]. On the other hand, pretty printing of abstract syntax trees is described in PPML [14] The abstract syntax is used to check the validity of editing operations. An abstract syntax is the many sorted algebra of well typed terms over a set P of sorts and a set O of operators with their signatures ....

Kahn G., Lang B., & M'el`ese B. "Metal : a Formalism to Specify Formalisms" Science of Computer Programming, volume 3, North-Holland, 1983


A Formal Definition of the Dynamic Semantics of the Eiffel.. - Attali, Caromel, al. (1993)   (4 citations)  (Correct)

....produce a syntactic editor and semantic tools (type checkers, interpreters, for example) for this language; each tool has a graphical interface. The specification of syntactic aspects includes the concrete and abstract syntax of the language. From this specification (written in Metal [6]) one can derive a parser that transforms the textual form of a program (an ASCII source file) into a structural representation (an abstract syntax tree that belongs to the formalism (language) so defined) There also exists the reverse mapping, called pretty printing or unparsing, that ....

Kahn, G., Lang, B., & M'el`ese, B. "Metal : a Formalism to Specify Formalisms", Science of Computer Programming, Volume 3, North-Holland, 1983.


Introducing ASF+SDF Using the λ-calculus as Example - van Deursen (1994)   (Correct)

....of Interactive Programming Environments . The Centaur system [BCD 89] written in LeLisp became the implementation platform. A first version of the Asf Sdf Meta environment was operational in the summer of 1990. The rivalry with the other specification language in Centaur, the Metal [KLMM83] and Typol [Kah87] combination, has been a fruitful source of inspiration for the development of the Asf Sdf formalism and system. In a wider perspective, Asf Sdf builds on several other tool generators based on formal language definitions. Some well known compiler generator examples (based on ....

G. Kahn, B. Lang, B. M'el`ese, and E. Morcos. Metal: a formalism to specify formalisms. Science of Computer Programming, 3:151--188, 1983.


From a Formal Dynamic Semantics of Sisal to a Sisal Environment - Attali, Caromel (1995)   (1 citation)  (Correct)

....2 The Centaur system and Natural Semantics In using the Centaur system to construct a programming environment for a given language, the first step is the specification of syntactic aspects the concrete and abstract syntax of a given language. From this specification (written in Metal [19]) one can derive a parser that transforms the textual form of a program into a structural representation, an abstract syntax tree well typed w.r.t. the abstract syntax definition. An abstract syntax is the many sorted algebra of well typed terms over a set P , of sorts and a set O, of operators ....

Kahn, G., Lang, B., & M'el`ese, B. "Metal : a Formalism to Specify Formalisms", Science of Computer Programming, Volume 3, North-Holland, 1983.


Towards a Definition of Eiffel Using Centaur - Attali, Caromel, al.   (Correct)

....automatically produce a syntactic editor and semantic tools (type checkers, interpreters, for example) for this language; each tool has a graphical interface. The specification of syntactic aspects includes the concrete and abstract syntax of the language. From this specification (written in Metal [6]) one can derive a parser that transforms the textual form of a program (an ASCII source file) into a structural representation (an abstract syntax tree that belongs to the formalism (language) so defined) There also exists the reverse mapping, called pretty printing or unparsing, that ....

Kahn, G., Lang, B., & M'el`ese, B. "Metal : a Formalism to Specify Formalisms", Science of Computer Programming, Volume 3, North-Holland, 1983.


CAS/PI: a Portable and Extensible Interface for Computer Algebra.. - Kajler (1992)   (7 citations)  (Correct)

....use three components of Centaur: ffl The Virtual Tree Processor (VTP) 20] defines and efficiently implements a protocol supporting creation, manipulation, and persistent storage of abstract syntax trees. Also, it allows node annotations and manages a generalized location mechanism. ffl Metal [15] is a specialized language designed to express the concrete and abstract syntax of programming languages. It produces both a VTP formalism and a Yacc parser which will produce data for this formalism when given a source text. ffl PPML [23] is a language specifically designed to express ....

G. Kahn, B. Lang, and B. M'el`ese. METAL: a formalism to specify formalisms. Science of Computer Programming, 3:151--188, 1983.


A Document Manipulation System based on Natural Semantics - Arnon, Attali (1995)   (1 citation)  (Correct)

....and implemented with the Centaur system, such as the Esterel language [8] the Eiffel language [4] or a Fortran parallelizer [13] 2. 1 Specifying Syntax In the Centaur system, the specifications of concrete and abstract syntax, together with their relationship, are written in the Metal language [18]. A Metal specification is a collection of grammar rules, with tree building functions that describe what abstract syntax tree should be synthesized from a production rule. All non terminals appearing on the right hand side of a rule must appear on the left hand side of at least one other rule. ....

Kahn G., Lang B., & M'el`ese B. "Metal : a Formalism to Specify Formalisms" Science of Computer Programming, volume 3, North-Holland, 1983


Goal-directed Requirements Acquisition - Dardenne, van Lamsweerde, Fickas (1993)   (208 citations)  (Correct)

.... is a set of atomic values; this set can be simple, linearly ordered, or IsA structured (e.g. the Keyword domain is Isa structured) A compound domain is built from other domains through the Union, Tuple, SetOf or SequenceOf domain constructors, or through abstract syntax domain constructors [Kah83]. The latter are used for those attributes attached to concepts or relationships which have formal assertions as values. Formal assertions as attribute values. At the domain level, formal assertions can thus be attached to domain specific concepts; they are values for attributes inherited from ....

G. Kahn, B. Lang, B. Mélèse and E. Morcos, "Metal: A Formalism to Specify Formalisms", Science of Computer Programming, vol. 3, 1983, 151-188.


Document Layout by Executable Natural Semantics Specifications - Arnon, Attali, al. (1992)   (Correct)

....tree) There also exists the reverse mapping, called prettyprinting or unparsing, that transforms a structural representation into a concrete layout. In the Centaur system, the specifications of concrete and abstract syntax, together with their relationship, are written in the Metal language [14]. On the other hand, pretty printing of abstract syntax trees is described in PPML [16] The abstract syntax is used to check the validity of editing operations. An abstract syntax is the many sorted algebra of well typed terms over a set P of sorts and a set O of operators with their signatures ....

Kahn G., Lang B., & M'el`ese B. "Metal : a Formalism to Specify Formalisms" Science of Computer Programming, volume 3, North-Holland, 1983


Integrating Natural Semantics and Attribute Grammars: the.. - Attali, Parigot (1994)   (7 citations)  (Correct)

....CG C Evaluator C Evaluator VTP Formalism Compiler Syntax Spec. Metal Figure 4: The Minotaur architecture 5. 1 The specification level This level is sketched in Figure 4 with bold arrows on round boxes (square boxes are used for system components) Syntactic specifications are written in Metal [26]. Semantic specifications can be written in Typol or in Olga, using nice interactive programming environments. 5.2 The generation level This level is illustrated in the upper part of Figure 4. A formalism is created from Metal specifications; this formalism is manipulated by both Typol and Olga. ....

Kahn G., Lang B., & M'el`ese B. "Metal : a formalism to specify formalisms" Science of Computer Programming, vol 3, North-holland, 1983.


CENTAUR: the system - Borras, Clément, Despeyrouz.. (1988)   (126 citations)  (Correct)

....unparser, or pretty printer, is used to transform a structured representation to a textual form. The abstract syntax tables are used to check the validity of editing operations. The specifications of concrete and abstract syntax, together with their relationship, are presently written in METAL [18], a formalism developed for the MENTOR system [8] 9] A METAL specification is a collection of grammar rules, with annotations that specify what abstract syntax trees should be synthesized. Pretty printing of abstract trees is defined in the PPML formalism [22] A PPML specification is a ....

....VTP. The first is the METAL compiler, which creates a new formalism and a parser for it. The second is the PPML compiler, which generates a pretty printer from a symbolic description. These two combine to make a third component, a simple structure oriented editor. 3.1. The METAL compiler METAL[18] is a language used in specifying new formalisms. The METAL specification consists of three parts: 1) the abstract syntax, 2) the concrete syntax, 3) a set of tree building functions (one associated to each production rule of the concrete syntax) The compilation of a METAL specification creates: ....

Kahn G., B. Lang, B. M' el` ese, "METAL: a formalism to specify formalisms", Science of Computer Programming, Vol. 3, pp. 151-188, North-Holland, 1983.


The Syntax Definition Formalism SDF - Reference Manual - - Heering, Hendriks, Klint.. (1992)   (85 citations)  (Correct)

....viewpoints, SDF implicitly defines a standard translation from context free to abstract syntax, i.e. the translation from context free to abstract syntax is the same for all SDF definitions. This implies that SDF has less expressive power than, for instance, the syntax definition formalism Metal [KLMM83] The abstract and context free syntax defined by a Metal specification may differ from each other in important respects not reproducible in SDF. For example, the order of the arguments of the abstract and concrete forms of a function need not be the same in Metal. For the reason given above, ....

....that can be described. ffl The integration between the description of context free syntax and of abstract syntax. ffl The treatment of variables. We will restrict ourselves to some representative examples, namely Lex [LS86] Yacc [Joh86] Metal (the specification language of the Mentor system [KLMM83] SSL (the specification language of the Synthesizer Generator [Rep82, RT89] and the specification language of the PSG system [BS86] In [HK89] we have already compared SDF with Lex, Yacc and Metal by studying several examples in each of these formalisms. The syntax definitions for Lex Yacc, ....

G. Kahn, B. Lang, B. M'el`ese, and E. Morcos. Metal: a formalism to specify formalisms. Science of Computer Programming, 3:151--188, 1983.


CENTAUR: Towards a "software tool box" for Programming.. - Clément..   Self-citation (Kahn)   (Correct)

....specifications for its concrete syntax, abstract syntax, and semantics. These specifications are themselves written in appropriate formalisms. 2.2.1. Specifying syntax The specifications of concrete and abstract syntax, together with their relationship, are presently written in either METAL [17], a formalism developed for the MENTOR system [8] 9] or in SDF, 11] a new specification language designed and implemented for the Centaur system. A METAL specification is a collection of grammar rules, with annotations that specify what abstract syntax trees should be synthesized. A SDF ....

....it may be saved in a file and read in at a later time. The natural way to create a new formalism is to use a specification language. A compiler for the specification language will then use the primitives provided by the vtp to create the formalism. For example, both the language METAL [17] and the language SDF [11] are currently used to specify simultaneously the concrete and abstract syntax of a language. It would be possible to experiment with other syntax specification languages without changing the rest of the system because all other components of Centaur are only interfaced ....

Kahn G., B. Lang, B. M' el` ese, "METAL: a formalism to specify formalisms", Science of Computer Programming, Vol. 3, pp. 151-188, North-Holland, 1983.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC