Results 1 -
7 of
7
Occurrences in Debugger Specifications
- In Proceedings of the ACM SIGPLAN'91 Conference on Programming Language Design and Implementation
, 1991
"... We describe formal manipulations of programming language semantics that permit execution animation for interpreters. We first study the use of occurrences in the -calculus and we describe an implementation of the notion of residuals. We then describe applications in the development of interpreters f ..."
Abstract
-
Cited by 10 (1 self)
- Add to MetaCart
We describe formal manipulations of programming language semantics that permit execution animation for interpreters. We first study the use of occurrences in the -calculus and we describe an implementation of the notion of residuals. We then describe applications in the development of interpreters for the lazy -calculus and the parallel language Occam. 1. Introduction Formal descriptions of programming language semantics have already been shown to yield executable specifications of interpreters for these languages [Mini-ML], [Esterel]. However, while the obtained interpreters have the clear advantage of being "certified" implementations, they lack a nice user interface for the very reason that the definition only deals with semantic values. An interpreter can be tranformed into a debugging tool by adding tracing, profiling, or control of execution functionalities. For us, an execution trace is a list of basic instruction calls that describes a history of execution, a profile is a list...
A Certified Compiler for an Imperative Language
, 1998
"... This paper describes the process of mechanically certifying a compiler with respect to the semantic specification of the source and target languages. The proofs are performed in type theory using the Coq system. These proofs introduce specific theoretical tools: fragmentation theorems and general in ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
This paper describes the process of mechanically certifying a compiler with respect to the semantic specification of the source and target languages. The proofs are performed in type theory using the Coq system. These proofs introduce specific theoretical tools: fragmentation theorems and general induction principles.
A Document Manipulation System Based on Natural Semantics
- in Proceedings of the First International Workshop on Principles of Document Processing
, 1995
"... This paper reports on an application of programming environments generation to structured document manipulation. We use the Centaur system as a formal tool to model and implement logical and physical document structure, logical structure editing, layout processing, format conversion, and document qu ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
This paper reports on an application of programming environments generation to structured document manipulation. We use the Centaur system as a formal tool to model and implement logical and physical document structure, logical structure editing, layout processing, format conversion, and document queries, for a sample class of documents: scientific articles containing figures. We support two particular concrete external syntaxes for logical structure: LaTEX and Tioga (Tioga is a wysiwyg editor in the Cedar programming environment). From the formal specifications of the logical and physical structures of the Article document class, and a formal specification of varied tools such as layout processing and document queries, the Centaur system automatically generates a document manipulation system including a structured editor for Articles, a format converter between LaTEX and Tioga,
From a Formal Dynamic Semantics of Sisal to a Sisal Environment
- IN 28TH HAWAII INTERNATIONAL CONFERENCE OF SYSTEM SCIENCES (HICSS), MAUI
, 1995
"... We present a formal definition of the dynamic semantics of a significant part of the language Sisal 2.0 in the structural operational style of Natural Semantics, using Typol inference rules within the Centaur system, a generic specification environment. Sisal is a strongly typed, applicative, sin ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We present a formal definition of the dynamic semantics of a significant part of the language Sisal 2.0 in the structural operational style of Natural Semantics, using Typol inference rules within the Centaur system, a generic specification environment. Sisal is a strongly typed, applicative, single assignment language in use on a variety of parallel processors, including conventional multiprocessors, vector machines and data-flow machines. The motivations of our work are, with a formal semantic description of Sisal, to provide a firm foundation for understanding and evaluating language design issues, aid the elimination of ambiguities in the language, provide a valuable reference for both implementors and programmers, and facilitate comparison of Sisal with other parallel functional languages. At the same time, Centaur specifications automatically yield a structure editor and an interpreter for Sisal, which can be developed into an interactive environment for Sisal programmi...
ASMs versus Natural Semantics: A Comparison with New Insights
- IN ABSTRACT STATE MACHINES - ADVANCES IN THEORY AND APPLICATIONS, PROC. 10TH INT’L WORKSHOP, ASM 2003
, 2003
"... We compare three specification frameworks for the operational semantics of programming languages, abstract state machines (ASMs) and the two incarnations of natural semantics, big-step and small-step semantics, with respect to two criteria: the range of imperative programming languages to which they ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
We compare three specification frameworks for the operational semantics of programming languages, abstract state machines (ASMs) and the two incarnations of natural semantics, big-step and small-step semantics, with respect to two criteria: the range of imperative programming languages to which they are applicable and the way the program is used in the specifications and treated during the thereby defined execution. To reveal the fundamental differences between these three mechanisms, we investigate if there are automatic transformations between them. As a side effect, this leads to new insights concerning the classification of big-step and small-step semantics.
Origin Tracking in Primitive Recursive Schemes
- CONFERENCE PROCEEDINGS COMPUTING SCIENCE IN THE NETHERLANDS CSN'93
, 1993
"... Algebraic specifications of programming languages can be used to generate language-specific programming support tools. Some of these can be obtained in a straightforward way by executing language specifications as term rewriting systems. More advanced tools can be obtained if the term rewriting ma ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Algebraic specifications of programming languages can be used to generate language-specific programming support tools. Some of these can be obtained in a straightforward way by executing language specifications as term rewriting systems. More advanced tools can be obtained if the term rewriting machinery is extended with origin tracking . Origin tracking is a technique which automatically establishes a relation between subterms of the result value (normal form) and their origins , which are subterms of the initial term. For specifications having a syntax-directed nature, as formalized by the class of so-called primitive recursive schemes, high-quality origins can be established. The definition, properties, extensions, and implementation of these so-called syntax-directed origins are discussed.
Tribute to a Great Meta-Technologist —from Centaur to The Meta-Environment—
, 2008
"... www.cwi.nl/˜paulk ..."

