Professional Documents
Culture Documents
Course Outline of PL
Course Outline of PL
Course Description
To understand the structural and design principles of exemplary programming languages, to develop basic skills
in describing syntax, analyzing their strengths and weakness, comparing the different implementation aspects of
exemplary programming languages and modelling aspects of their paradigms.
Course Detail
Pre-requisite
Domain
CLOs Description PLOs Domain Level
Text Books
1. (Text) Robert W. Sebesta , Concepts of Programming Languages (12th Ed, or 11th International Ed.),
Pearson 2019.
2. (Reference) Tucker and Noonan, Programming Languages: Principles and Paradigms, 2nd edition, MsGraw
Hill, 2006
3. (Reference) Gabbriell and Matini, Programming Languages: Principles and Paradigms, Springer, 2010
4. (Reference) Michael L. Scott , Programming Language Pragmatics, 3rd Ed, Morgan Kaufman 2009
5. (Reference) Pratt and Zelkowitz, Programming Languages: Design and Implementation, 4th edition, Prentice
Hall, 2001
6. (Reference) Wilson and Clark, Comparative Programming Languages. 3rd Ed. Addison Wesley
7. (Reference) Peter Salus, Hand Book of Programming Languages (Vol I to IV)
Grading Policy
5 Criteria: Lang Evaluation Criteria: Readibility, Writability, Reliability, Costs, What Makes a CLO2
Good Language
6 Intro: Influence and Factors in PL Design, Theory, Standards, Design Tradeoffs, Hardware CLO3
Influence and Virtual Computers
8 Syntax: Quick Automata Revision: Grammars, Parse Tree, Derivation, Ambiguity, CLO3
Precedence & Associativity of Operators, Formal Methods to Describe Syntax, CFG, BNF,
EBNF, Syntax Graphs, Dangling Else Problem, Top Down n Bottom up Parsing, PDA's,
Recursive Descent Parsing
10 Variables & Bindings: Name, Address, Value, Type, Static & Dynamic Type Binding CLO3
11 Variables & Bindings: Storage Binding & Lifetime of Variables, Type Checking, Strong CLO3
Typing, Coercion
13 Scope: Static & Dynamic Scope, Referencing Environments, Named Constants, Variable CLO3
Initialization
14 Primitive Data Types: Integer, Boolean, Decimal, Float, Char & Strings, string operations CLO1
and implementation,
User-defined ordinal types: enum & subrange, Array types, their operations &
implementation