Unit 1:
Introduction: Characteristics of programming Languages, Factors influencing the evolution of programming language, Development in programming methodologies, desirable features and design issues.
Programming Language processors: Structures and operations of translators, software simulated computer, syntax, semantics, structure, virtual computers, binding and binding time
Unit II:
Elementary and structured data type: Data object variables, constants, data type, elementary data types, declaration, assignments and initialization, enumeration, characters strings.
Structured data type and objects: Specification of data structured types, vectors and arrays, records, variable size data structure, pointers and programmer constructed data structure, Set files.
Imperative Languages: Block structure, Scope rules, Parameter Passing, Construct like co-routines, Tasks etc.
Unit III:
Object Oriented languages: The class notion- Information hinding and data abstraction using classes, derived classes and inheritance– Polymorphism – Parameterized types.
Unit IV:
Functional languages: Functional programming concepts – Referential transparency – Types – Type systems - Names, bindings, environment and scope – Recursive functions – Polymorphic functions – Type variables – High order functions – Curried functions – Lists and programming with lists – Definition of new user defined types in ML – Abstract data types – Evaluation methods.
Unit V:
Logic languages: Review of predicate logic – Clause-form logic – Logic as a programming language- Unification algorithm - Abstract interpreter for logic programs – Theory of logic programs – SLD resolution – Negation as failure extension.
References:
Terrance W Pratt, “Programming Languages: Design and Implementation”, PHI.
Sethi, “Programming Language”, Addison Wesley.
E Horowitz, “Fundamental of Programming Languages”, Galgotia.
Pratt, Zolkowitz, “Programming Languages Design Implementation”, Pearson Edition.
Tucker Noonan, “Programming languages: Principles and Paradigms”, TMH
D. A. Watt, “Programming Languages and Paradigms”, PHI
J. Lloyd, “Foundation of Logic Programming”, Springer verlag
M. Hennessey, “The Semantics of Programming Languages”, John Wiley
C. Reade, “Elements of Functional Programming”, AW
L.C. Paulson, “ML for Working programmer”, Cambridge university press
B. Stroustrup, “The C++ Programming language”, AW
|