| M. Vittek. A Compiler for Nondeterministic Term Rewriting Systems. In H. Ganzinger, editor, Proc. Seventh Int. Conf. on Rewriting Techniques and Applications RTA-96, volume 1103 of LNCS, pages 154-168. Springer, July 1996. 16 |
....availability of true nondeterministic strategies are necessary to decide which rule to apply and at which position. With some additional e ort, ELAN strategy constructors like don t know choose (that gives all possible reductions) can be adapted to simulate the needed nondeterminism of the ROBs [16, 10, 11]. 5 Future work 5.1 Circuit design Circuit design may be addressed by rewriting. In the sequel we illustrate how rewriting may be used as an assistant tool for deducing appropriate algebraic terms with many regularities that result adequate for circuit design. We use an example of ....
M. Vittek. A Compiler for Nondeterministic Term Rewriting Systems. In H. Ganzinger, editor, Proc. Seventh Int. Conf. on Rewriting Techniques and Applications RTA-96, New Brunswick, NJ, USA, volume 1103 of LNCS, pages 154-168. Springer, July 1996. 13
....The specificity of ELAN consists of integrating the two forms of non determinism plus deterministic rule based computations in the same environment. The development of ELAN specifications is supported by an environment which contains, among others, a parser, an interpreter [10] and a compiler [14,11]. This environment can be characterized as command line based. ELAN specifications were developed using standard editors and given to the environment for compilation or interpretation via the command line. The current version of the ELAN compiler [11] is independent Email: ....
M. Vittek. A Compiler for Nondeterministic Term Rewriting Systems. In Harald Ganzinger, editor, Proceedings 7th Conference on Rewriting Techniques and Applications, New Brunswick (New Jersey, USA), volume 1103 of Lecture Notes in Computer Science, pages 154--168. Springer-Verlag, 1996. 7
....have been designed for ELAN. This allows us now to reach up to 10 millions of unlabelled rewriting per second or one million strategy controlled rewrite per second on alpha 300 or pentium 2 300 powered workstations. This relies in particular on specific compilation techniques described in [52] and on a clever implementation of choice points in order to manage non deterministic strategies [34] This ability to generate fast C programs from ELAN code makes the framework even more attractive from the efficiency point of view. Another advantage of the approach that we have not discussed ....
M. Vittek. A compiler for nondeterministic term rewriting systems. In H. Ganzinger, editor, Proceedings 7th Conference on Rewriting Techniques and Applications, New Brunswick (New Jersey, USA), volume 1103 of Lecture Notes in Computer Science, pages 154--168. Springer-Verlag, July 1996.
....the right hand side of the rule and of term sharing. Eke95] S. Eker. Associative commutative matching via bipartite graph matching. Computer Journal, 38(5) 381 399, 1995. 9 Borovansk y, Kirchner, Kirchner, Moreau, Ringeissen 3. 5 Compiler A first ELAN compiler was designed and presented in [29]. Experimentations made clear that a higher level of programming is achieved when some functions may be declared as AC. However rewriting in such theories is computationally difficult and providing an efficient compiler for the language becomes a real challenge. The compilation techniques used in ....
....semantics for ELAN. Ideas on metainterpretation and partial evaluation of the strategy language are explained in [11] Preliminary ideas to build a reflective extension of ELAN have been presented in [21] 4.2 Implementation The ELAN manual for the version 3. 0 is available as [10] Following [29] that describes the implementation of the first ELAN compiler, compilation techniques for Associative Commutative normalisation are studied in [25] while more details on compilation of matching are given in [23] and non determinism management in [22] The REF format and its use for ....
M. Vittek. A Compiler for Nondeterministic Term Rewriting Systems. In H. Ganzinger, editor, Proceedings 7th Conference on Rewriting Techniques and Applications, New Brunswick (New Jersey, USA), volume 1103 of Lecture Notes in Computer Science, pages 154--168. Springer-Verlag, July 1996. 16
....step of term rewriting is performed by special matching algorithms, specific to the equational theories in use. An important case in practice is the case of associative commutative theories. In this paper, we present several compilation techniques developed for an extension of the ELAN compiler [15] in order to handle AC function symbols. Experiments have shown speed ups of the ELAN interpreter up to 2,000 times when rewriting with AC function symbols. In section 2, we give the useful preliminary definitions and describe the term data structure used by the compiler. In section 3, we explain ....
....in list cells. 3 Compiling leftmost innermost normalisation In order to present the currently known compilation techniques, we first briefly introduce in this section the method used for compilation of leftmost innermost normalisation in the case of syntactic rules in the ELAN compiler [15]. Then we sketch a few techniques used for AC normalisation and the related difficulties. 3.1 Normalisation with syntactic rules The general idea of the ELAN compiler is to transform a given ELAN program (a conditional rewrite rule system) into a C program, which takes a ground input term s in ....
[Article contains additional citation context not shown here]
M. Vittek. A compiler for nondeterministic term rewriting systems. In H. Ganzinger, editor, Proceedings of RTA'96, volume 1103 of Lecture Notes in Computer Science, pages 154--168, New Brunswick (New Jersey), July 1996. Springer-Verlag. Theory and Practice of Algebraic Specifications ASF+SDF'97 12
....step of term rewriting is performed by special matching algorithms, specific to the equational theories in use. An important case in practice is the case of associative commutative theories. In this paper, we present several compilation techniques developed for an extension of the ELAN compiler [Vit96] in order to handle AC function symbols. Experiments have shown speed ups of the ELAN interpreter up to 2,000 times when rewriting with AC function symbols. In section 2, we give the useful preliminary definitions and describe the term data structure used by the compiler. In section 3, we ....
....in list cells. 3 Compiling leftmost innermost normalisation In order to present the currently known compilation techniques, we first briefly introduce in this section the method used for compilation of leftmost innermost normalisation in the case of syntactic rules in the ELAN compiler [Vit96] Then we sketch a few techniques used for AC normalisation and the related difficulties. 3.1 Normalisation with syntactic rules The general idea of the ELAN compiler is to transform a given ELAN program (a conditional rewrite rule system) into a C program, which takes a ground input term s in ....
[Article contains additional citation context not shown here]
Marian Vittek. A compiler for nondeterministic term rewriting systems. In Harald Ganzinger, editor, Proceedings of RTA'96, volume 1103 of Lecture Notes in Computer Science, pages 154--168, New Brunswick (New Jersey), July 1996. Springer-Verlag. This article was processed using the L A T E X macro package with LLNCS style.
....system ( KKV95] is a combination of a rewrite theory and a strategy describing the intended set of computations. Since three decades a lot of work has been done on rewriting and ecient implementation techniques both on sequential models and distributed models have been described (e.g. Vit96] These ideas are implemented in the language ELAN ( BKK 96] which allows to describe computational systems. In our approach the whole formalization is done as the same level: the state transitions of the agents and of the intruder as well as the invariants the protocol should satisfy are ....
Marian Vittek. A compiler for nondeterministic term rewriting systems. In Harald Ganzinger, editor, Proceedings of RTA'96, volume 1103 of Lecture Notes in Computer Science, pages 154-168, New Brunswick (New Jersey), July 1996. Springer-Verlag. 17
....system ( KKV95] is a combination of a rewrite theory and a strategy describing the intended set of computations. Since three decades a lot of work has been done on rewriting and ecient implementation techniques both on sequential models and distributed models have been described (e.g. Vit96] These ideas are implemented in the language ELAN ( BKK 98] which allows to describe computational systems. In our approach the whole formalization is done as the same level: the state transitions of the agents and of the intruder as well as the invariants the protocol should satisfy are ....
M. Vittek. A compiler for nondeterministic term rewriting systems. In H. Ganzinger, editor, Proceedings of RTA'96, volume 1103 of Lecture Notes in Computer Science, pages 154-168, New Brunswick (New Jersey), July 1996. Springer-Verlag.
....Computational systems are simple to understand as they are based on rewriting logic and rst order tools. Additionally, since three decades a lot of work has been done on rewriting and ecient implementation techniques both on sequential models and distributed models have been described (e.g. Vit96] We can prove abstract properties of the rewrite rules like termination and con uence with rewrite based methods and we can reason about combination and enrichment of computational systems and build new ones in a modular way. These ideas are implemented in the language ELAN ( BKK 96] which ....
Marian Vittek. A compiler for nondeterministic term rewriting systems. In Harald Ganzinger, editor, Proceedings of RTA'96, volume 1103 of Lecture Notes in Computer Science, pages 154{ 168, New Brunswick (New Jersey), July 1996. Springer-Verlag. 32
....the right sort. The strategy eval has been implemented in ELAN by using the rules described in this paper, and built in primal and elementary strategies provided by ELAN. 7.2. The ELAN Environment The ELAN system provides a library of built ins and standard modules, an interpreter and a compiler [39, 32]. In compiled mode, ELAN can apply more than 15 millions of unlabeled rewrite rules per second on alpha powered machines (300 500) 17 For instance, it can evaluate fib(33) in 0.695 seconds. For theorem proving applications, where strategies and labeled rules are heavily used, it rewrites at the ....
M. Vittek. A compiler for nondeterministic term rewriting systems. In H. Ganzinger, editor, Proceedings of RTA'96, volume 1103 of Lecture Notes in Computer Science, pages 154-168, New Brunswick (New Jersey), July 1996. SpringerVerlag. 27
....Computational systems are simple to understand as they are based on rewriting logic and first order tools. Additionally, since three decades a lot of work has been done on rewriting and efficient implementation techniques both on sequential models and distributed models have been described (e.g. Vit96] We can prove abstract properties of the rewrite rules like termination and confluence with rewrite based methods and we can reason about combination and enrichment of computational systems and build new ones in a modular way. These ideas are implemented in the language ELAN ( BKK 96] ....
Marian Vittek. A compiler for nondeterministic term rewriting systems. In Harald Ganzinger, editor, Proceedings of RTA'96, volume 1103 of Lecture Notes in Computer Science, pages 154-- 168, New Brunswick (New Jersey), July 1996. Springer-Verlag. 32
....proving tools in rst order logic with equality [KM95,CK97] the combination of uni cation algorithms and of decision procedures in various equational theories [Rin97,KR98] More information on the system can be found on the WEB site 1 . A rst ELAN compiler was designed and presented in [Vit96] Experimentations made clear that a higher level of programming is achieved when some functions may be declared as associative and commutative (AC for short) However rewriting in such theories is computationally di cult and the challenge is then to provide an e cient compiler for the language. ....
....and restore the saved environment. Many languages that o er non deterministic capabilities provide similar functions: for instance world and world in Claire [CL96] try and retry in WAM [War83,AK90] onfail, fail, createlog and replaylog in the Alma 0 Abstract Machine [Par97,AS97] Following [Vit96] two ow control functions, setChoicePoint and fail, have been implemented in assembly language. setChoicePoint sets a choice point, and the computation goes on. The fail function performs a jump into the last call of setChoicePoint. These functions can remind the pair of standard C functions ....
[Article contains additional citation context not shown here]
M. Vittek. A compiler for nondeterministic term rewriting systems. In H. Ganzinger, editor, Proceedings of RTA'96, volume 1103 of Lecture Notes in Computer Science, pages 154-168, New Brunswick (New Jersey), July 1996. Springer-Verlag.
.... S on a term t until it fails and returns the last unfailing result S n (t) Beyond these regular expressions, ELAN gives the possibility to the user to define recursive and parameterised strategies with rewrite rules [BKK96, BKK97a, BK97] A first ELAN compiler was designed and presented in [Vit96] but did not handle AC function symbols nor user defined strategies. However remarkable performances obtained by this compiler were a strong encouragement to design an extension to handle AC theories and more ambitiously any theory which is a combination of associativity, commutativity, ....
....all results of evaluation of the strategy S applied to u. We assume the reader to be familiar with basic ideas of term rewriting and AC theories. Full definitions can be found for instance in [PS81, JK86] 2. 2 Compilation techniques for rewriting We started from the work presented in [Vit96] whose main points are recalled below. Many to one normalisation. When all rules are syntactic, many to one normalisation consists first in regrouping rules with the same top symbol on the left hand side. For each functional symbol f of arity n, the collected rules are compiled into a C function ....
[Article contains additional citation context not shown here]
Marian Vittek. A compiler for nondeterministic term rewriting systems. In Harald Ganzinger, editor, Proceedings of RTA'96, volume 1103 of Lecture Notes in Computer Science, pages 154--168, New Brunswick (New Jersey), July 1996. Springer-Verlag.
....e ciency of deterministic computations and is of more general interest; it could be used in implementations of constraint solvers, imperative languages with backtracking such as Alma 0 [ the WAM [ and Prolog like languages. A rst implementation of our techniques has been done by Marian Vittek in 1996. The experimental results, presented in [ show that nondeterministic rewriting can be implemented as e ciently as the best current implementations of functional and logic programming languages. This paper presents a formalisation of the implementation and gives detailed algorithms to re use, ....
M. Vittek. A compiler for nondeterministic term rewriting systems. In H. Ganzinger, editor, Proceedings of RTA'96, volume 1103 of Lecture Notes in Computer Science, pages 154-168, New Brunswick (New Jersey), July 1996. Springer-Verlag.
....rewriting controlled by strategies. These strategies are in general nondeterministic, so that the reduction of a term could lead to a family of terms. An efficient compiler, able to manage strategies and this non determinism, has been designed and is now available with the ELAN distribution [Vit96] Because of the inherent concurrency of term rewrite systems, we have also designed a concurrent way to execute term rewrite systems. The goal here is to be able to support in the future the execution of very large computational systems. The following sections describe our current approach and ....
M. Vittek. A compiler for nondeterministic term rewriting systems. In Proceedings of RTA'96. Lecture Notes in Computer Science, July 1996.
....of deterministic computations and can be of more general interest; for example, this can be interesting to test it in implementations of constraint solvers, of the WAM [War83, AK90] and Prolog like languages. A first implementation has been done in 1996. The experimental results, presented in [Vit96] show that nondeterministic rewriting can be implemented as efficiently as the best current implementations of functional and logic programming languages. This paper presents a formalisation of the implementation and gives detailed algorithms to re use, adapt and improve the proposed method. ....
....environment. The second one to backtrack to the last created choice point and restore the saved environment. Many languages that offer nondeterministic capabilities provide similar functions: for instance world and world in Claire [CL96] try and retry in WAM, setChoicePoint and fail in ELAN [Vit96] We propose to extend the C language by adding two flow control functions: setChoicePoint and fail. setChoicePoint returns the integer 0 when setting a choice point, and the computation goes on. Then when the function fail is called, it performs a jump into the last call of setChoicePoint and ....
Marian Vittek. A compiler for nondeterministic term rewriting systems. In Harald Ganzinger, editor, Proceedings of RTA'96, volume 1103 of Lecture Notes in Computer Science, pages 154--168, New Brunswick (New Jersey), July 1996. Springer-Verlag.
....and how the reduced term is built. In the construction on the reduced term, it is usually possible to reuse parts of the left hand side to construct the instantiated right hand side. At least, instances of variables that occur in the left hand side can be reused. More details can be found in [28] for the syntactic case. Similar techniques have been developed in our compiler, but we do not discuss them here, but rather focus on the construction of substitutions. 4.1 Construction of substitutions For constructing the reduced term, the substitution which encodes a solution to the matching ....
.... of AC normalisation comes from the development of the ELAN system [19] ELAN is an environment for prototyping and combining different deduction systems described using rewrite rules and user defined strategies for controlling rewriting [3,4] A first ELAN compiler was designed and presented in [28], but did not handle AC function symbols. However, remarkable performances obtained by this compiler were a strong encouragement to design an extension to handle AC theories. The version of the ELAN compiler used in the experiments below does not handle ELAN s strategies. This ELAN compiler is ....
M. Vittek. A compiler for nondeterministic term rewriting systems. In H. Ganzinger, editor, Proceedings of RTA'96, volume 1103 of Lecture Notes in Computer Science, pages 154--168, New Brunswick (New Jersey), July 1996. Springer-Verlag.
....REF format was first motivated by the recent development of the ELAN compiler written in JAVA and producing C code. This permits the design of a stand alone compiler, independently to the current interpreter implementation. On the contrary, the first ELAN compiler initially designed by M. Vittek [21] was strongly dependent to the original interpreter, and so its maintenance was rather difficult. A new option of the ELAN interpreter (the export option) aims at dumping into a file an image of its working memory. Basically, this image is obtained by using the mix fix parser which is built in ....
M. Vittek. A compiler for nondeterministic term rewriting systems. In H. Ganzinger, editor, Proceedings of RTA'96, volume 1103 of Lecture Notes in Computer Science, pages 154--168, New Brunswick (New Jersey), July 1996. Springer-Verlag. Borovansk' y, Jamoussi, Moreau, Ringeissen
....are not well suited for real life programming. To bridge the gap between rewriting implementations and practical applications, we propose a new tool called mtom (for Many To One Matching) Its design follows our industrial experiences and our works on the ecient compilation of rewriting [29,16]. From our point of view, this new tool is very useful for implementing well identi ed parts of complex applications. These parts are speci ed using rewrite rules and integrated with the rest of the application, which is kept in a classical imperative language such as C, C or Java, called goal ....
....rest of the paper, it is possible to express rewriting strategies (innermost, outermost or user de ned) directly in the goal language. Concerning non deterministic strategies, our experience showed us that it can also be expressed in the goal language in a straightforward and understandable way [29,20]. However, given a ground term, the test whether a rule is applicable or not is more complex. It usually requires term decomposition and some kind of indexing technique for eciency reasons. When looking at a code generated by a rule based language compiler, it is clear that the compilation of the ....
[Article contains additional citation context not shown here]
Vittek, M., A compiler for nondeterministic term rewriting systems, in: H. Ganzinger, editor, Proceedings of RTA'96, Lecture Notes in Computer Science 1103 (1996), pp. 154-168.
....to run script files, to reduce terms, to display information on the internal state of the system, to trace at the appropriate level the execution of a strategy on a term. The interpretor offers the evaluation of associative and commutative symbols. 3. 2 The ELAN compiler An efficient compiler [Vit96] has been designed and implemented. One of its main originality is to allow the efficient execution of non deterministic rewriting for any ELAN program encompassing no associative commutative operators. Its efficiency comes mainly from a clever implementation of nondeterministic rewriting, from ....
M. Vittek. A compiler for nondeterministic term rewriting systems. In H. Ganzinger, editor, Proceedings of RTA'96, volume 1103 of Lecture Notes in Computer Science, pages 154--168, New Brunswick (New Jersey), July 1996. Springer-Verlag.
No context found.
M. Vittek. A Compiler for Nondeterministic Term Rewriting Systems. In H. Ganzinger, editor, Proc. Seventh Int. Conf. on Rewriting Techniques and Applications RTA-96, volume 1103 of LNCS, pages 154-168. Springer, July 1996. 16
No context found.
M. Vittek. A Compiler for Nondeterministic Term Rewriting Systems. In H. Ganzinger, editor, Proc. Seventh Int. Conf. on Rewriting Techniques and Applications RTA-96, New Brunswick, NJ, USA, volume 1103 of LNCS, pages 154-168. Springer, July 1996. 13
No context found.
M. Vittek. A Compiler for Nondeterministic Term Rewriting Systems. In H. Ganzinger, editor, Proc. Seventh Int. Conf. on Rewriting Techniques and Applications RTA-96, New Brunswick, NJ, USA, volume 1103 of LNCS, pages 154--168. Springer, July 1996. 8
No context found.
Marian Vittek. A compiler for nondeterministic term rewriting systems. In H. Ganzinger, editor, Rewriting Techniques and Applications, 7th International Conference, RTA'96, New Brunswick, NJ, USA July 27--30,
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