Attribute grammars: definitions, systems and bibliography
Attribute grammars: definitions, systems and bibliography
The synthesizer generator reference manual (3rd ed.)
The synthesizer generator reference manual (3rd ed.)
Functional evaluation of strongly noncircular typol specifications
WAGA Proceedings of the international conference on Attribute grammars and their applications
Termination proofs for logic programs
Termination proofs for logic programs
Logic programming with functions and predicates: the language Babel
Journal of Logic Programming
Logic programs with external procedures
Logic programming languages
A grammatical view of logic programming
A grammatical view of logic programming
Semantic evaluation from left to right
Communications of the ACM
The intrinsically exponential complexity of the circularity problem for attribute grammars
Communications of the ACM
An efficient context-free parsing algorithm
Communications of the ACM
Attribute Grammars and Logic Programs: A Comparison of Concepts
Proceedings on Attribute Grammars, Applications and Systems
Why the Occur-Check is Not a Problem
PLILP '92 Proceedings of the 4th International Symposium on Programming Language Implementation and Logic Programming
Avoiding Dynamic Delays in Functional Logic Programs
PLILP '93 Proceedings of the 5th International Symposium on Programming Language Implementation and Logic Programming
Synthesis of Directionality Information for Functional Logic Programs
WSA '93 Proceedings of the Third International Workshop on Static Analysis
Proceedings on Attribute Grammars, Applications and Systems
Automatic generation of efficient evaluators for attribute grammars
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
Hi-index | 0.00 |
An operational semantics for functional logic programs is presented. In such programs functional terms provide for reduction of expressions, provided that they ground. The semantics is based on multi-pass evaluation techniques originally developed for attribute grammars. Program execution is divided into two phases: (1) construction of an incomplete proof tree, and (2) its decoration into a complete proof tree. The construction phase applies a modified SLD-resolution scheme, and the decoration phase a partial (multi-pass) traversal over the tree. The phase partition is generated by static analysis where data dependencies are extracted for the functional elements of the program. The method guarantees that all the functional terms of a program can be evaluated, and no dynamic groundness checks are needed.