Document Type





Computer and Information Science, Electrical Engineering and Computer Science




Computer Sciences


There is no need to argue in favor of concise, clear, complete, consistent, descriptions of programming languages, nor to recite the cost in time, energy, money, and effectiveness which is incurred when a description falls short of these standards. Reliable, high-quality computer programming is impossible without a clear and precise understanding of the language in which the programs are written—this being true quite independently of the merits of a language as a language. In this study we tried to discover the current state of the methodology of definition of programming languages. We sought to separate the question (as far as it can be done) of definition from that of design. Our goal was to get at ways of specifying programming languages rather than ways of inventing them or of implementing them on machines. We realize however that these questions are not completely separable. Many programming languages are poorly defined. Nowadays—indeed ever since the influential and pioneering example of the formal definition of ALGOL-60—one finds (usually) that the syntax of a programming language is defined very clearly and compactly, but that the semantics is (usually) explained badly.





To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.