Results 1 -
8 of
8
RML -- A New Language and Implementation for Natural Semantics
- PROCEEDINGS OF THE 6TH INTERNATIONAL SYMPOSIUM ON PROGRAMMING LANGUAGE IMPLEMENTATION AND LOGIC PROGRAMMING, PLILP, VOLUME 884 OF LNCS
, 1994
"... RML is a programming language intended for the implementation of Natural Semantics specifications. The basic procedural elements are relations: many-to-many mappings defined by a number of axioms or inference rules. It has control flow, logical variables and (explicit) unification as in Prolog; from ..."
Abstract
-
Cited by 15 (2 self)
- Add to MetaCart
RML is a programming language intended for the implementation of Natural Semantics specifications. The basic procedural elements are relations: many-to-many mappings defined by a number of axioms or inference rules. It has control flow, logical variables and (explicit) unification as in Prolog; from ML it borrows a polymorphic type system, data structures, and pattern matching; a facility for separatelycompilable modules also exists. A simple prototype compiler, based on translating RML to Continuation-Passing Style and then to C, has been implemented. Benchmarks indicate that this compiler generates code that is several orders of magnitude faster than Typol, and two times faster than standard Prolog compilers.
The Pan Language-Based Editing System
- ACM Transactions on Software Engineering and
, 1991
"... Powerful editing systems for developing complex software documents are difficult to engineer. Besides requiring efficient incremental algorithms and complex data structures, such editors must integrate smoothly with the other tools in the environment, maintain a sharable database of information conc ..."
Abstract
-
Cited by 11 (1 self)
- Add to MetaCart
Powerful editing systems for developing complex software documents are difficult to engineer. Besides requiring efficient incremental algorithms and complex data structures, such editors must integrate smoothly with the other tools in the environment, maintain a sharable database of information concerning the documents being edited, accommodate flexible editing styles, provide a consistent, coherent, and empowering user interface, and support individual variations and project-wide configurations. Pan is a language-based editing and browsing system that exhibits these characteristics. This paper surveys the design and engineering of Pan, paying particular attention to a number of issues that pervade the system: incremental checking and analysis, information retention in the presence of change, tolerance for errors and anomalies, and extension facilities.
Deriving Incremental Implementations from Algebraic Specifications
, 1992
"... We present a technique for deriving incremental implementations for a subclass of algebraic specifications, namely, conditional well-presented primitive recursive schemes. We use concepts of the translation of well-presented primitive recursive schemes to strongly noncircular attribute grammars, ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
We present a technique for deriving incremental implementations for a subclass of algebraic specifications, namely, conditional well-presented primitive recursive schemes. We use concepts of the translation of well-presented primitive recursive schemes to strongly noncircular attribute grammars, storing results of function applications and their parameters as attributes in an abstract syntax tree of the first argument of the function in question. An attribute dependency graph is used to guide incremental evaluation. The evaluation technique is based on a leftmost innermost rewrite strategy. The technique is extended to conditional well-presented primitive recursive schemes. Whereas in the non-conditional case attribute dependency graphs are static and can be constructed before evaluating a term, when working with conditional equations the the attribute dependency graph is adapted upon evaluation. The class of well-presented primitive recursive schemes is a very natural one fo...
Using Many-Sorted Natural Semantics to Specify and Generate Semantic Analysis
, 1998
"... We present an extension of natural semantics which can be used to describe the static semantics of imperative and object-oriented programming languages. Furthermore we show that the semantic analysis can be generated from these descriptions. As a side effect, we get a precise definition of which pro ..."
Abstract
-
Cited by 5 (4 self)
- Add to MetaCart
We present an extension of natural semantics which can be used to describe the static semantics of imperative and object-oriented programming languages. Furthermore we show that the semantic analysis can be generated from these descriptions. As a side effect, we get a precise definition of which properties of a programming language are statically decidable and which properties can only be checked dynamically during run-time. As an example, we show how a subset of the Java programming language incorporating the full notion of inheritance can be specified within our mechanism. Keywords Natural Semantics, Semantic Analysis, Specification, Generator, Imperative and Object-Oriented Programming Languages 1 INTRODUCTION Natural semantics [Kah87] has been established as a declarative framework to specify the static and dynamic semantics of functional programming languages. Its applicability for imperative languages with simple block structure has been shown (e.g. the specifications of simple...
Many-Sorted Natural Semantics -- Specification and Generation of the Semantic Analysis for Imperative and Object-Oriented Programming Languages
- PROCEEDINGS WORKSHOP ON FUNCTIONAL AND LOGIC PROGRAMMING. SABINE GLESNER. NATURAL SEMANTICS FOR IMPERATIVE AND OBJECT-ORIENTED PROGRAMMING LANGUAGES
, 1998
"... We follow the trend to use inference rule based specifications when describing the semantics of imperative and object-oriented programming languages. Within manysorted natural semantics it is possible to define the static semantics of imperative and object-oriented programming languages exclusively ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
We follow the trend to use inference rule based specifications when describing the semantics of imperative and object-oriented programming languages. Within manysorted natural semantics it is possible to define the static semantics of imperative and object-oriented programming languages exclusively by using inference rules. During the semantic analysis we need to infer semantic information by using the inference rules of the specification so that the semantic analysis can be considered as a proof procedure. We show how this proof procedure can be implemented efficiently by exploiting techniques known from object-oriented libraries and by using concurrent constraint programming.
Evolution scenarios for rule-based implementations of language-based functionality
- SOS 2004 PRELIMINARY VERSION
, 2004
"... ..."
on Language Descriptions Tools and Applications
, 2010
"... (European Joint Conferences on Theory and Practice of Software) organized in cooperation with ACM Sigplan. LDTA is an application and tool oriented forum on meta programming in a broad sense. A meta program is a program that takes other programs as input or output. The focus of LDTA is on generated ..."
Abstract
- Add to MetaCart
(European Joint Conferences on Theory and Practice of Software) organized in cooperation with ACM Sigplan. LDTA is an application and tool oriented forum on meta programming in a broad sense. A meta program is a program that takes other programs as input or output. The focus of LDTA is on generated or otherwise efficiently implemented meta programs, possibly using high level descriptions of programming languages. Tools and techniques presented at LDTA are usually applicable in the context of “Language Workbenches ” or “Meta Programming Systems ” or simply as parts of advanced programming environments or IDEs. The prelimiary proceedings include an extended abstract based on the invited talk by Jean-Louis Giavitto (“A Domain Specific Language for Complex Natural & Artificial Systems Simulations”) and the 11 contributed papers that were selected for presentation and the preliminary proceedings by the programme committee from 30 submissions (i.e., 37 % acceptance rate). Every submission was reviewed by at least three members of the program committee. In addition, the program committee sought the opinions of additional referees, selected because of their expertise on particular topics. The final selection of papers was made during the first week of February 2010. We would like to thank all of the authors who submitted papers to the workshop, and the members of the programme committee for their excellent work. The program committee did not meet in person, but carried out extensive discussions during the electronic PC meeting via EasyChair. We would also like to thank the LDTA organizing committee (Giorgios Robert Economopoulos and Jurgen Vinju) for their assistance and sound counsil, Torbjörn Ekman for contributing to the organization, and the ETAPS organization.

