Semantics of Programming Languages
Code: MA516 | L-T-P-C: 3-0-0-6
Elements of a Programming language: Defining Syntax; BNF; Conditional Statements; Iterative Statements; Enumerated and Elementary Data Types; Features of Functional and Imperative languages. Elements of Mathematics: Partial and Multi Functions; Isomorphism, Duality, Zero Objects, Products, Co Products from Category Theory; Term Algebras. Semantics: Operational, Axiomatic and Denotational Semantics of Procedural Languages; Partially Additive Semantics; Recursive Specification; Order Semantics of Recursion; Fixed- Point Semantics; Algebraic Semantics of Abstract Data Types
Texts:
- Ellis Horowitz, Fundamentals of Programming Languages, Second Edn., Galgotia Publications, 1995.
- Kenneth Slonneger and Barry L. Kurtz, Formal Syntax and Semantics of Programming Languages: A Laboratory Based Approach, Addison-Wesley Publishing Company, 1995.
- Ernest G. Manes and Michael A. Arbib, Algebraic Approaches to Program Semantics, Texts and Monographs in Computer Science, Springer-Verlag, 1986.
References:
- Carlo Ghezzi and Mehdi Jazayeri, Programming Language Concepts, Third Edn., John Wiley & Sons, 1998.
- Ravi Sethi, Programming Languages: Concepts and Constructs, Addison-Wesley Publishing Company, 1989.
- Glynn Winskel, The Formal Semantics of Programming Languages: An Introduction, The MIT Press, 1993.
- Hartmut Ehrig and Bernd Mahr, Fundamentals of Algebraic Specification 1: Equations and Initial Semantics, Springer-Verlag, 1985.