|
|
 |
Milestones in Compiler Development
A bibliography of articles that were significant in the development of compiler technology.
- Compiler Development
- Hopper, Grace Murray. 1952. "The Education of a Computer", Proc. ACM National Conference, Pittsburgh PA, reprinted in Annals of the History of Computing, Vol. 9, No. 3/4, 1988, pp. 271-281.
- Randell, Brian, and L.J. Russell. 1964. ALGOL 60 Implementation, APIC Studies in Data processing No. 5, Academic Press, London and New York, 418 pp.
- Lee, John A.N. 1967. The Anatomy of a Compiler, Reinhold Publ. Co., 275 pp.
- Gries, D. 1971. Compiler Construction for Digital Computers, John Wiley & Sons, New York, 493 pp. (This book is interesting in that it is not typeset, but instead is a photocopy of what appears to be a computer print-out.)
- Lexical Analysis
- McCulloch, W.S., and E. Pitts. 1943. "A Logical Calculus of the Ideas Immanent in Nervous Activity", Bull. Math. Biophysics, Vol. 5, pp. 115-133. (The first paper on finite state machines, very difficult to read.)
- Johnson, W.L., J.H. Porter, S.I. Ackley, D.T. Ross. 1968. "Automatic Generation of Efficient Lexical Processors Using Finite State Techniques", Comm. ACM, Vol. 11, No. 12, pp. 805-813.
- Morgan, H.L. 1970. "Spelling Correction in Systems Programs", Comm. ACM, Vol. 13, No. 2, pp. 90-93.
- Mossenbock, H. 1986. "Alex-A Simple and Efficient Scanner Generator", ACM SIGPLAN Notices, Vol. 21, No. 12, pp. 139-148.
- Syntactic Specification
- Chomsky, N. 1956. "Three Models for the Description of Language", IRE Trans. on Information Theory, Vol. 2, pp. 113-124.
- Floyd, R.W. 1964. "Ther Syntax of Programming Languages-A Survey", IEEE Trans. on Computers, pp. 346-352.
- Expression Analysis
- Samelson, K., and F.L. Bauer. 1960. "Sequential Formula Translation", Comm. ACM, Vol. 3, No. 1, pp. 76-83. (The first use of stacks as a pushdown automata in the analysis of expressions.)
- Huskey, H.D., and W.H. Wattenburg. "A Basic Compiler for Arithmetic Expressions", Comm. ACM, Vol. 4, No. 1, pp. 3-9.
- Floyd, R.W. 1963. "Syntactic Analysis and Operator Precedence", Jour. ACM, Vol 10, pp. 316-333.
- Recursive Descent
- Top-Down Syntactic Analysis
- Irons, E.T. 1961. "A Syntax Directed Compiler for ALGOL 60", Comm. ACM, Vol. 4, No. 1, pp. 51-55.
- Knuth, D.E. 1962. "History of Writing Compilers", Proc. ACM 17th National Conference, pp. 43, 126.
- Cheatham, T.E., and K. Sattley. 1964. "Syntax-Directed Compiling", Proc. AFIPS Spring Joint Computer Conference, pp. 31-53.
- Davie, A.J.T., and R. Morrison. 1981. Recursive Descent Compiling, Halstead Press, New York.
- Bottom-up Syntactic Analysis
- Knuth, D.E. 1965. "On the Translation of Languages from Left to Right", Information and Control, Vol. 8, pp. 607-639. (The first paper on LR parsing.)
- Korenjak, A.J. 1969. A Practical Methoid for Constructing LR(k) Processors", Comm. ACM, Vol. 12, No. 11, pp. 613-623.
- DeRemer, F.L. 1971. "Simple LR(k) Grammars", Comm. ACM, Vol. 14, No. 7, pp. 453-460.
- Semantic Analysis
- Naur, P. 1965. "Checking of Operand Types in ALGOL Compilers", BIT, Vol. 5, pp. 151-163.
- Knuth, D.E. 1968. "Semantics of Context-Free Languages", Math. Systems Theory Jour., Vol. 2, pp. 127-145. (Attribute Grammars.)
- Code Generation
- Backus, J.W., et al. 1957. "The FORTRAN Automatic Coding System", Western Computer Proceedings, pp. 188-198.
- Ingerman, P.Z. 1961. "Thunks: A Way of Compiling Procedure Statements ...", Comm. ACM, Vol. 4, No. 1, pp. 55ff.
- Anderson, J.P. 1964. "A Note on Some Compiling Algorithms", Comm. ACM, Vol. 7, No. 3, pp. 149-150.
- Intermediate Languages
- Strong, J., et al. 1958. "The Problem of Programming Communication with Changing Machines", Comm. ACM, Vol. 1, No. 8, pp. 12-18, No. 9, pp. 9-15. (The proposal for a universal language-UNCOL.)
- Nori, K.V., et al. 1981. "Pascal-P Implementation Notes", in Barron, D.W., (ed), Pascal-The Language and Its Implementation, John Wiley & Sons, Publ., pp. 125-170.
- Optimization Techniques
- Sheridan, P. 1959. "The Arithmetic Translator Compiler of the IBM FORTRAN Automatic Coding System", Comm. ACM, Vol. 2, No. 2, pp. 9-21.
- Allen, F.E., and J. Cocke. 1972. "A Catalog of Optimizing Transformations", Courant Computer Science Symposium, No. 5, Prentice-Hall, pp. 1-30.
- Cocke, J. 1970. "Global Common Subexpression Elimination", Proc. Symp. of Compiler Optimization, ACM SIGPLAN Notices, July.
- The Symbol Table
- Peterson, W.W. 1957. "Addressing for Random-Access Storage", IBM Jour. Res, Dev., Vol. 1, No. 2, pp. 249-253.
- Batson, A. 1965. "The Organization of Symbol Tables", Comm. ACM, Vol. 8, No. 2, pp. 111-112.
- Maurer, W.D., and Lewis, T.G. 1975. "Hash Table Methods", Comp. Surveys, Vol. 7, No. 1, pp. 5-19.
On-line Useful References
- Compiler Development
- Lexical Analysis
- Syntactic Specification
- Expression Analysis
- Recursive Descent
- Top-Down Syntactic Analysis
- Bottom-up Syntactic Analysis
- Semantic Analysis
- Code Generation
- Intermediate Languages
- Optimization Techniques
- The Symbol Table
|