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
PSI '99 Proceedings of the Third 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
Inversion of applicative programs
IJCAI'81 Proceedings of the 7th international joint conference on Artificial intelligence - Volume 2
A heuristic approach to program inversion
IJCAI'85 Proceedings of the 9th international joint conference on Artificial intelligence - Volume 1
The program inverter LRinv and its structure
PADL'05 Proceedings of the 7th international conference on Practical Aspects of Declarative Languages
Reversible machine code and its abstract processor architecture
CSR'07 Proceedings of the Second international conference on Computer Science: theory and applications
Determinization of conditional term rewriting systems
Theoretical Computer Science
Synthesis and optimization of reversible circuits—a survey
ACM Computing Surveys (CSUR)
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.