Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Parsing theory volume 2: LR(K) and LL(K) parsing
Parsing theory volume 2: LR(K) and LL(K) parsing
Application of metasystem transition to function inversion and transformation
ISSAC '90 Proceedings of the international symposium on Symbolic and algebraic computation
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Algebra of programming
Reducing nondeterminism while specializing logic programs
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Journal of the ACM (JACM)
ACM Computing Surveys (CSUR)
Program Transformation with Metasystem Transitions: Experiments with a Supercompiler
Proceedings of the Second International Andrei Ershov Memorial Conference on Perspectives of System Informatics
InvX: An Automatic Function Inverter
RTA '89 Proceedings of the 3rd International Conference on Rewriting Techniques and Applications
Program Construction, International Summer Schoo
MPC '02 Proceedings of the 6th International Conference on Mathematics of Program Construction
Transforming interpreters into inverse interpreters by partial evaluation
Proceedings of the 2003 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Principles of inverse computation and the Universal resolving algorithm
The essence of computation
Revisiting an automatic program inverter for Lisp
ACM SIGPLAN Notices
The program inverter LRinv and its structure
PADL'05 Proceedings of the 7th international conference on Practical Aspects of Declarative Languages
Completion after Program Inversion of Injective Functions
Electronic Notes in Theoretical Computer Science (ENTCS)
Dimensions in program synthesis
Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming
Path-based inductive synthesis for program inversion
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Inferring assertion for complementary synthesis
Proceedings of the International Conference on Computer-Aided Design
Proving injectivity of functions via program inversion in term rewriting
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
A grammar-based approach to invertible programs
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
Towards a reversible functional language
RC'11 Proceedings of the Third international conference on Reversible Computation
Reversible circuits: recent accomplishments and future challenges for an emerging technology
VDAT'12 Proceedings of the 16th international conference on Progress in VLSI Design and Test
Hi-index | 0.00 |
We describe a method for automatic program inversion of first-order functional programs based on methods of LR(0) parsing. We formalize the transformation and illustrate it with several example programs. We approach one of the main problems of automatic program inversion - the elimination of nondeterminism - by viewing an inverse program as a context-free grammar. We apply LR-based parsing methods to turn a nondeterministic program into a deterministic program. This improves the efficiency of the inverse programs and greatly expands the application range of our earlier method for program inversion.