CS 511-3
Formal Specification of Programming Languages
Catalog Description
A survey of modeling techniques and meta languages for the formal specification of the syntax and semantics of high-level programming languages.
Prerequisite:
CS 311.
Objectives
1. To be able to read and comprehend formal definitions of programming languages
To have a deeper understanding of the design and structure of programming languages; c) to be aware of several diverse approaches to formal semantics; d) to be aware of the potential applications of formal language specification, such as program verification and compiler generation.
Course Outline
| Lectures | ||
| 1. | BNF and its variants | |
| 2. | Attribute grammars | |
| 3. | Two-level grammars | |
| 4. | Operational semantics and Vienna Definition Languages | |
| 5. | Denotational semantics | |
| 6. | Axiomatic semantics | |
| 7. | Programming languages as metalanguages | |
| Total | ||