Principles of Programming Languages |
UNIT I |
Introduction: History of Programming Languages - Criteria for
Language Design - Character Set - BNF - Syntax Graphs – Reliability |
UNIT II |
Variables - Assignment Statement - Binding time - Storage Allocation -
Constants - Initialization - expressions - control statements - Labels -
Introduction to Ada. Data types - Type coercion and Equivalence - Types on
Ada. Binding – Scope - Extent - Ada and Scope. |
UNIT III |
Parameter passing and evaluation - call by name - objects in a procedure
- Aliasing - overloading - Generic functions - co-routines. Data Abstraction in
MODULA, Euclid, Ada and SIMULA 67 - Abstract data types. |
UNIT IV |
Exception handling design issues - PL/1, ON-Conditions - Exception
handling in CLU, MESA and Ada. Semaphores - Monitors and Message
passing - concurrency in Ada. |
UNIT V |
Functional Programming - Basis of LISP - LIST interpreter - FUNARG.
and FEXPRS - PROG Feature - Delayed Evaluation. Data flow model -
Language Design Goals - VAL - A data flow programming Language. |
Text Books |
(i) E. Horowitz, Fundamentals of Programming Languages - 2nd Edition Galgotia
Publications |
Reference Books |
(i) R.D. Tennet, Principles of Programming Languages, Prentice Hall, 1981. |