Abstract
This paper presents a system for automating the production of compilers for programming languages. It emphasizes two particular aspects of this system, its usability and its portability. It also gives a comparison with some good competitive systems, and draws conclusions for future work. The system produces compilers written in the programming language Pascal, from a self-contained description of the language to be compiled. This description uses a notation similar to Backus-Naur form for the syntax, and semantic attributes and actions written in Pascal for the semantics. The system is written entirely in Pascal, and is in current use on several computers.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Bochmann G. V. Une définition syntaxique et sémantique des langages pour un système d'écriture de compilateurs. Document de travail 30, Département d'Informatique, Université de Montréal, October 1972 (French).
Book E., Sherman S. J. & Schorre D. V. CWIC user's guide. TM-(L)-4185, System Development Corporation, Santa Monica, 1970 and 1971.
Cohen J. (supervisor) et al. A compiler generator. Brandeis Universityn Waltham, Massachusetts, August 1972.
Cohen J. Experience with a conversational parser generating system. Software — practice and experience 5, 2, April 1975, 169–180.
Feldman J. A. & Gries D. Translator writing systems. Communications of the ACM 11, 2, February 1968, 77–113.
Fernandez A. & Héliard J. C. Manuel d'utilisation du programme Synproc. SIM-71-15, Compagnie Internationale d'Informatique, Les Clayes-sous-bois, October 1971 (French).
Feldman J. A. A formal semantics for computer languages and its application in a compiler-compiler. Communications of the ACM 9, 1, January 1966, 3–9.
Graham S. L. & Rhodes S. P. Practical syntactic error recovery. To appear in Communications of the ACM 18, 1975.
Hoare C. A. R. Hints on programming language design. CS-401, Computer Science Department, Stanford University, Stanford, December 1973.
Horning J. J. & Lalonde W. R. Empirical comparison of LR(k) and precedence parsers. ACM Sigplan Notices 13, 8, November 1970, 10–24.
Ichbíah J. D. & Morse S. P. A technique for generating almost optimal Floyd-Evans productions for precedence grammars. Communications of the ACM 13, 8, August 1970, 501–508.
Jensen K. & Wirth N. Pascal user manual and report. Springer Verlag, Berlin, Heidelberg, New York, 1974.
Kamnitzer S. H. Bootstrapping XPL from IBM/360 to Univac 1100. ACM Sigplan Notices 10, 5, May 1975, 14–20.
Knuth D. E. Semantics of context-free languages. Mathematical systems theory 2, 2, February 1968, 127–145.
Koster C. H. A. Affix grammars. In Algol 68 implementation, J. E. L. Peck editor, North-Holland, Amsterdam, 1971, 95–109.
Lalonde W. R. An efficient LALR parser generator. CSRG-2, Computer Systems Research Group, University of Toronto, February 1971.
Larmouth J. Serious Fortran. Software — practice and experience 3, 1973, 87–107 and 197–255.
Lecarme O. & Bochmann G. V. A (truly) usable and portable compiler writing system. In Information Processing 74, J. L. Rosenfeld editor, North-Holland, Amsterdam, 1974, 218–221.
Lecarme O. Un générateur d'analyseurs syntaxiques. Document de travail 27, Département d'Informatique, Université de Montréal, August 1972 (French).
Lecarme O. An experience in structured programming and transferability. ACM Sigplan Notices 8, 9, September 1973, 95–96.
Lecarme O. Un générateur d'analyseurs lexicaux. Document de travail 40, Départment d'Informatique, Université de Montréal, June 1973 (French).
Lecarme O. Un système d'écriture de compilateurs: manuel d'utilisation. Document de travail, Département d'Informatique, Université de Montréal, October 1974 (French).
Lecarme O. Le langage Pascal comme outil d'écriture de programmes transportables. Journées sur l'implantation, l'utilisation et l'extension du langage Pascal, Nice, June 1975 (proceedings to be published, French).
Lecarme O. Fiabilité et transportabilité: l'influence du langage de programmation. Cinquième Ecole d'Eté d'Informatique de l'AFCET, Rabat, July 1975 (proceedings to be published, French).
Ledgard H. F. Production systems: or can we do better than BNF ? Communications of the ACM 17, 2, February 1974, 94–102.
Leach G. & Golde H. Bootstrapping XPL to an XDS Sigma 5 computer. Software — practice and experience 3, 1973, 235–244.
Louis-Seize M. Essais et mise au point d'un système d'écriture de compilateurs. Document de travail 46, Département d'Informatique, Université de Montréal, November 1973 (French).
McKeemann W. M., Horning J. J. & Wortman D. B. A compiler generator. Prentice-Hall, Englewood Cliffs, New Jersey, 1970.
Mickunas M. D. Techniques for compressing bounded-context acceptors. Ph. D. thesis, Purdue University, Lafayette, Indiana, May 1973.
Mickunas M. D. & Schneider V. B. A parser-generating system for constructing compressed compilers. Communications of the ACM 16, 11, November 1973, 669–675.
Poole P. C. & Waite W. M. Portability and adaptability. In Advanced course in software engineering, F. L. Bauer editor, Springer Verlag, Berlin, Heidelberg, New York, 1973, 183–277.
Rhodes S. P. Practical syntactic error recovery for programming languages. Ph. D. thesis, Computer Science Department, University of California, Berkeley, June 1973.
Purdom P. A sentence generator for testing parsers. BIT 12, 3, 1973, 366–375.
Rosen S. A compiler-building system developed by Brooker and Morris. Communications of the ACM 7, 7, July 1964, 403–413.
Schneider V. B. Private communication, September 1973.
Wirth N. The programming language Pascal. Acta Informatica 1, 1971, 35–63.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1977 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Lecarme, O. (1977). Usability and portability of a compiler writing system. In: Ershov, A., Koster, C.H.A. (eds) Methods of Algorithmic Language Implementation. Lecture Notes in Computer Science, vol 47. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-08065-1_3
Download citation
DOI: https://doi.org/10.1007/3-540-08065-1_3
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-08065-7
Online ISBN: 978-3-540-37510-4
eBook Packages: Springer Book Archive