Below is the syllabus for Programming Languages:-
Unit-I: Introduction, Syntax, and Semantics
Introduction: A brief history, Characteristics of a good programming language, Programming language translators compiler & interpreters, Elementary data types – data objects, variable & constants, data types, Specification & implementation of elementary data types, Declarations, type checking & type conversions, Assignment & initialization, Numeric data types, enumerations, Booleans & characters.
Syntax & Semantics: Introduction, the general problem of describing syntax, formal method of describing syntax, attribute grammar dynamic semantic.
Unit-II: Structured data objects, Subprograms, and Programmer Defined Data Types
Structured data objects: Structured data objects & data types, specification & implementation of structured data types, Declaration & type checking of data structure, vector & arrays, records Character strings, variable size data structures, Union, pointer & programmer-defined data objects, sets, files.
Subprograms and Programmer Defined Data Types: Evolution of data type concept abstraction, encapsulation & information hiding, Subprograms, type definitions, abstract data types, overloaded subprograms, generic subprograms.
Unit–III: Sequence Control and Data Control
Sequence Control: Implicit & explicit sequence control, sequence control within expressions, sequence control within the statement, Subprogram sequence control: simple call return, recursive subprograms, Exception & exception handlers, coroutines, sequence control. Concurrency – subprogram level concurrency, synchronization through semaphores, monitors & message passing
Data Control: Names & referencing environment, static & dynamic scope, block structure, Local data & local referencing environment, Shared data: dynamic & static scope, Parameter & parameter transmission schemes.
Unit-IV: Storage Management and Programming Languages
Storage Management: Major run-time elements requiring storage, programmer and system controlled storage management & phases, Static storage management, Stack-based storage management, Heap storage management, variable & fixed-size elements.
Programming Languages: Introduction to procedural, non-procedural, structured, logical, functional, and object-oriented programming language, Comparison of C & C++ programming languages.
- Terrence Pratt, Marvin V. Zelkowitz, Programming Languages Design & Implementation, Pearson.
- Allen Tucker & Robert Noonan, Programming Languages–Principles and Paradigms, Tata McGraw- Hill, 2009.
- Ellis Horowitz, Fundamentals of Programming Languages, Galgotia Publications,
- Ghezzi, Programming Languages Concepts, Wiley Publications, 2010.
Below is the link to download Programming Languages notes.