Attribute grammar inversion and source-to-source translation
Attribute grammar inversion and source-to-source translation
Undecidable properties of deterministic top-down tree transducers
Theoretical Computer Science
Tupling calculation eliminates multiple data traversals
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Macro tree transducers, attribute grammars, and MSO definable tree translations
Information and Computation
Journal of the ACM (JACM)
The theory of parsing, translation, and compiling
The theory of parsing, translation, and compiling
Introduction to Functional Programming
Introduction to Functional Programming
Typechecking for XML transformers
Journal of Computer and System Sciences - Special issue on PODS 2000
Principles of inverse computation and the Universal resolving algorithm
The essence of computation
Composition of functions with accumulating parameters
Journal of Functional Programming
XML type checking with macro tree transducers
Proceedings of the twenty-fourth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Revisiting an automatic program inverter for Lisp
ACM SIGPLAN Notices
On the complexity of typechecking top-down XML transformations
Theoretical Computer Science - Database theory
Redundant Call Elimination via Tupling
Fundamenta Informaticae - Program Transformation: Theoretical Foundations and Basic Techniques. Part 2
Smallcheck and lazy smallcheck: automatic exhaustive testing for small values
Proceedings of the first ACM SIGPLAN symposium on Haskell
Complexity of recognition in intermediate Level languages
SWAT '73 Proceedings of the 14th Annual Symposium on Switching and Automata Theory (swat 1973)
Type-based specialization of xml transformations
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
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
PSI'06 Proceedings of the 6th international Andrei Ershov memorial conference on Perspectives of systems informatics
Report on an implementation of a semi-inverter
PSI'06 Proceedings of the 6th international Andrei Ershov memorial conference on Perspectives of systems informatics
Towards practical typechecking for macro tree transducers
DBPL'07 Proceedings of the 11th international conference on Database programming languages
FLOPS'08 Proceedings of the 9th international conference on Functional and logic programming
Exact XML type checking in polynomial time
ICDT'07 Proceedings of the 11th international conference on Database Theory
A grammar-based approach to invertible programs
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
Programming macro tree transducers
Proceedings of the 9th ACM SIGPLAN workshop on Generic programming
Hi-index | 0.00 |
Inverse computation has many applications such as serialization/deserialization, providing support for undo, and test-case generation for software testing. In this paper, we propose an inverse computation method that always terminates for a class of functions known as parameter-linear macro tree transducers, which involve multiple data traversals and the use of accumulations. The key to our method is the observation that a function in the class can be regarded as a non-accumulative context-generating transformation without multiple data traversals. Accordingly, we demonstrate that it is easy to achieve terminating inverse computation for the class by context-wise memoization of the inverse computation results. We also show that when we use a tree automaton to express the inverse computation results, the inverse computation runs in time polynomial to the size of the original output and the textual program size.