CS60048: Theory Of Programming Languages
CS60048 | |
---|---|
Course name | THEORY OF PROGRAMMING LANGUAGES |
Offered by | Computer Science & Engineering |
Credits | 3 |
L-T-P | 3-0-0 |
Previous Year Grade Distribution | |
{{{grades}}} | |
Semester | {{{semester}}} |
Syllabus
Syllabus mentioned in ERP
Syntax of Programming Languages, Formal languages and automata theory: Finite automata, regular languages, pushdown automata, context free languages, linear bounded automata, context sensitive languages, Turing machines and recursively enumerable sets. Theory of LR(k) parsing, attribute grammars. Semantics of programming languages: Basic mathematical introduction: Propositional and predicate calculus, lambda calculus, algebraic structures. Sequential languages (imperative and applicative): operational semantics, Vienna definition methods. Denotational semantics: Scott-Strachy theory, axiomatic semantics: Floyd-Hoare approach, temporal logic, algebraic semantics and data types.References1.Glynn Winskel, A Formal Semantics of Programming Languages: An Introduction, MIT Press.2.John C. Mitchell, Foundations for Programming Languages, MIT Press.3.Benjamin C. Pierce, Types and Programming Languages, MIT Press.4.Daniel P. Friedman, Mitchell Wand and Christopher T. Haynes, Essentials of Programming Languages, Prentice Hall of India.5.Ravi Sethi, Programming Languages: Concepts and Constructs, Addison-Wesley.6.H. P. Barendregt, The Lambda Calculus: Its Syntax and Semantics, North-Holland.