An Algorithmic Semantics for ALGOL 60 Identifier Denotation
Journal of the ACM (JACM)
Concurrent Processes and Their Syntax
Journal of the ACM (JACM)
A Sampler of Formal Definitions
ACM Computing Surveys (CSUR)
The denotational semantics of programming languages
Communications of the ACM
Optimized Translation Process and Its Application to ALGOL 68
Optimized Translation Process and Its Application to ALGOL 68
A Theory of Programming Language Semantics
A Theory of Programming Language Semantics
Rationale for the design of the Ada programming language
ACM SIGPLAN Notices - Rationale for the deisgn of the Ada programming language
Report on the algorithmic language ALGOL 68
Report on the algorithmic language ALGOL 68
Hi-index | 0.01 |
A formal definition of the syntax and semantics of Preliminary Ada has been designed and partially implemented as a metaprogram in the SEMANOL system. The paper describes the design in detail and also presents excerpts of the actual SEMANOL metaprogram. Special attention is paid to the following aspects, lacking in the formal denotational definition of Ada: (1) formal definition of the connection between the concrete and abstract syntax of Ada, a necessary element of a formal definition if it is to be executable; (2) formal definition of the semantics of concurrency in Ada tasking; (3) formal definition of the semantics of exceptions and interrupts. The complete SEMANOL metaprogram will be an executable formal definition. In effect, it defines a multi-processing operating system which accepts an Ada program, as a set of compilation units, together with data, and causes the program to be executed in a concurrent mode in accordance with the semantics of tasks prescribed in the Ada reference manual and rationale.