Abstract
Regular tree expressions are a natural formalism for describing the sets of tree-structured values that commonly arise in programs; thus, they are well-suited to applications in program analysis. We describe an implementation of regular tree expressions and our experience with that implementation in the context of the FL type system. A combination of algorithms, optimizations, and fast heuristics for computationally difficult problems yields an implementation efficient enough for practical use.
Preview
Unable to display preview. Download preview PDF.
References
A. Aiken and B. Murphy. Static type inference in a dynamically typed language. In Eighteenth Annual ACM Symposium on Principles of Programming Languages, pages 279–290, Orlando, 1991.
A. Aiken and E. Wimmers. A decision problem for set constraints. Research Report Forthcoming RJ, IBM, 1991.
J. Backus et al. FL language manual, parts 1 and 2. Research Report RJ 7100, IBM, 1989.
B. Courcelle. Fundamental properties of infinite trees. Theoretical Computer Science, 25:95–169, 1983.
F. Gecseg and M. Steinby. Tree Automata. Academei Kaido, Budapest, 1984.
N. Heintze and J. Jaffar. A finite presentation theorem for approximating logic programs. In Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 197–209, January 1990.
N. Heintze and J. Jaffar. Set-based program analysis. Draft manuscript, 1991.
J. E. Hopcroft and J. D. Ullman. Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, 1979.
N. D. Jones and S. S. Muchnick. Flow analysis and optimization of LISP-like structures. In Sixth Annual ACM Symposium on Principles of Programming Languages, pages 244–256, January 1979.
D. Michie. ‘Memo’ functions and machine learning. Nature, (218):19–22, April 1968.
P. Mishra. Towards a theory of types in PROLOG. In Proceedings of the First IEEE Symposium in Logic Programming, pages 289–298, 1984.
P. Mishra and U. Reddy. Declaration-free type checking. In Proceedings of the Twelfth Annual ACM Symposium on the Principles of Programming Languages, pages 7–21, 1985.
B. R. Murphy. A type inference system for FL. Master's thesis, MIT, 1990.
H. Seidl. Deciding equivalence of finite tree automata. In 6th Annual Symposium on Theoretical Aspects of Computer Science. Lecture Notes in Computer Science, February 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Aiken, A., Murphy, B.R. (1991). Implementing regular tree expressions. In: Hughes, J. (eds) Functional Programming Languages and Computer Architecture. FPCA 1991. Lecture Notes in Computer Science, vol 523. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3540543961_21
Download citation
DOI: https://doi.org/10.1007/3540543961_21
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54396-1
Online ISBN: 978-3-540-47599-6
eBook Packages: Springer Book Archive