TL;DR: The Vienna Definition Language is a language for defining the syntax and semantics of programming languages that specifies programming language semantics "operationally" in terms of the computations to which programs give rise during execution.
Abstract: The Vienna Definition Language (VDL) is a language for defining the syntax and semantics of programming languages. It consists of a syntactic metalanguage for defining the syntax of program and data structures (q.v.) and a semantic metalanguage that specifies programming language semantics "operationally" in terms of the computations to which programs give rise during execution.
TL;DR: This paper presents a systematic approach to formatted language design that incorporates formatting within the syntax of programming languages and a set of guidelines for language designers to enhance readability within the constraints of the metasyntax.
Abstract: This paper presents a systematic approach to formatted language design that incorporates formatting within the syntax of programming languages. The approach includes:
1
a metasyntax to ensure that program text is foldable, not only to avoid right margin overflow but also to preclude constructs which are visually confusing or ambiguous;
2
a set of guidelines for language designers to enhance readability within the constraints of the metasyntax; and
3
a folding algorithm which selectively folds a program text.
The resulting automatic formatting is consistent with current practice in program and text layout.
The effect of this approach is to put program format decisions in the domain of the language's designer, rather than its several implementors or numerous users, which implies uniformly formatted programs of improved readability and therefore usability.
TL;DR: An approach to solve the diversity problem by providing a way to quickly and concisely specify all the parameters of a syntactic notation and the resulting "meta-ebnf" language was used to successfully recover many grammars from sources that use different syntactic notations.
Abstract: Reusing existing grammar knowledge residing in standards, specifications and manuals for programming languages, faces several challenges. One of the most significant of them is the diversity of syntactic notations: without loss of generality, we can state that every single language document uses its own notation, which is more often than not, a dialect of the (Extended) Backus-Naur Form. In this paper we report on an approach to solve the diversity problem by providing a way to quickly and concisely specify all the parameters of a syntactic notation. The resulting "meta-ebnf" language was used to successfully recover many grammars from sources that use different syntactic notations.Instead of adding another syntactic notation and arguing about its excellence, we propose to retain the diversity and to cope with it by formally defining syntactic notations and using such definitions to import existing grammars to grammar engineering frameworks and to export (pretty-print) existing grammars to any desired syntactic notation. This result effectively bridges programming language standards and parser generators. The conclusions presented in the paper, were drawn based on analysis of a large corpus of language documents, as well as on the success of its application in practice.