Results 11 -
16 of
16
Implementing Actions
, 2003
"... Syntax Tree as input. The algorithm traverses the tree in a Modular SOS fashion: the traversal is directed by combinators, until a subtree can be collapsed. The tree thus decreases in depth in a bottom up fashion, while traversing it top down for each step. The main di#erence between acr and evalan ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Syntax Tree as input. The algorithm traverses the tree in a Modular SOS fashion: the traversal is directed by combinators, until a subtree can be collapsed. The tree thus decreases in depth in a bottom up fashion, while traversing it top down for each step. The main di#erence between acr and evalan is that acr employs term rewriting only to reduce combined actions. All primitive actions (including data operations and predicates) are hardcoded in C. Especially for interacting actions the performance gain is expected to be more than marginal since no matching is involved in rotating the schedule (and this is likely to occur very often).
Generation of Language Independent Modular Prettyprinters
, 1993
"... An algebraic approach to address the problem of generating prettyprinters is described. An algebraic prettyprint generator is defined which produces an algebraic prettyprinter for a language given its context-free grammar. Adaptation of the generated prettyprinter is possible by customizing the gene ..."
Abstract
- Add to MetaCart
An algebraic approach to address the problem of generating prettyprinters is described. An algebraic prettyprint generator is defined which produces an algebraic prettyprinter for a language given its context-free grammar. Adaptation of the generated prettyprinter is possible by customizing the generated prettyprint rules. The prettyprinter transforms the abstract syntax tree of the text to be prettyprinted into a box-language expression. This expression, the so-called box-term, is processed by a generic formatter (also algebraically specified). The generated prettyprinter is able to deal with various forms of comments. The context-free grammar may be split into modules and, instead of generating one big prettyprinter for such a context-free grammar, a corresponding prettyprint module is generated for each syntax module. The collection of generated modules form the prettyprinter for the specified language. Prettyprinters for various languages have been generated. Among these are PASCAL...
Algebraic System Specification and Development: Survey and Annotated Bibliography - Second Edition -
, 1997
"... Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.5.4 Special Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.6 Semantics of Programming Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.6.1 Semantics of Ada . . . ..."
Abstract
- Add to MetaCart
Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.5.4 Special Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.6 Semantics of Programming Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.6.1 Semantics of Ada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.6.2 Action Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.7 Specification Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.7.1 Early Algebraic Specification Languages . . . . . . . . . . . . . . . . . . . . . . . . 53 4.7.2 Recent Algebraic Specification Languages . . . . . . . . . . . . . . . . . . . . . . . 55 4.7.3 The Common Framework Initiative. . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5 Methodology 57 5.1 Development Phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.1.1 Applica...
Aspect-Oriented Programming versus Reflection
- In Position Statement for the OOPLSA ’96 AOP meeting
, 1996
"... Reflection has a long history of dealing about some aspects of software components. In this short position paper, we compare and contrast reflection and aspect-oriented programming. Whilst reflection has recently focused on very specific aspects of software components, namely implementational usu ..."
Abstract
- Add to MetaCart
Reflection has a long history of dealing about some aspects of software components. In this short position paper, we compare and contrast reflection and aspect-oriented programming. Whilst reflection has recently focused on very specific aspects of software components, namely implementational usually segregated among structural (representation) and behavioral (execution) aspects, aspect-oriented programming wishes to broaden the spectrum of attributes of software taken into account. On the other hand, weaving the aspects into a coherent and faithful implementation of their prescriptions is by nature a reflective process which can be put into the hand of aspect-oriented programmers using reflection. Finally, a link can be made between aspect-oriented programming and the underinvestigated area of declarative reflection. 1 Context During the last fifteen years, we have been involved in research on reflection in programming languages. Our contributions encompass: 1. object-orien...
Run-Time Code Generation for Type-Directed Partial Evaluation
, 1999
"... This Ph.D. progress report documents a combination of partial evaluation and compilation that enables "just-in-time program specialization". To this end, we have composed a type-directed partial evaluator for OCaml programs with a run-time code generator for the OCaml virtual machine. The composi ..."
Abstract
- Add to MetaCart
This Ph.D. progress report documents a combination of partial evaluation and compilation that enables "just-in-time program specialization". To this end, we have composed a type-directed partial evaluator for OCaml programs with a run-time code generator for the OCaml virtual machine. The composition is deforested, i.e., residual programs are directly expressed as byte code, which is then dynamically loaded. The implementation seamlessly extends OCaml with two new keywords for generating code dynamically. The system has been applied to traditional examples of partial evaluation and run-time code generation, such as the first Futamura projection for Action Semantics and the BSD Packet Filter. iii iv Contents 1 Introduction 1 1.1 Partial evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.1 What . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.2 How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
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.

