Download - Programming Languages & Translators (CE 359) Fall 2013 Prof. Dr : Ahmed El Nahass Lecture 1
1
Programming Languages & Translators
(CE 359)Fall 2013
Prof. Dr: Ahmed El Nahass
Lecture 1
FACULTY OF ENGINEERING
COMPUTER
ENGINEERING
Prof.Dr Ahmed El Nahass fall2013 CE359
2
Course ObjectiveRead a language specification, generate a lexer
and parser for that language, and defend your design and implementation choices;
Create intermediate code for a language;Implement a type checker and symbol tables;
and,Implement simple interpreters/virtual machines.
Prof.Dr Ahmed El Nahass fall2013 CE359
3
Course Contents Introduction Regular Expressions Lexing: scanners, finite automata Parsing: grammars, top-down parsing, bottom-up
parsing Abstract Syntax Trees Type checking Symbol tables Interpreters and Virtual Machines
◦ Executing ASTs◦ Executing bytecode JIT compilers, binary translation
Survey of domain-specific languages Programming Paradigms: functional , logic , scripting)
Prof.Dr Ahmed El Nahass fall2013 CE359
4
Instructor: Prof. Dr: Ahmed El Nahass
◦ Lectures: Thursday 10:30 2:30
◦ Office Hours: Thursday 8:30 10:30
Teaching Assistance: Eng. Nehal Fathi
◦ Tutorial: Tuesday 2:30 4:00◦ Office: E621
Prof.Dr Ahmed El Nahass fall2013 CE359
5
Recommended Textbook: Michael L. Scott." Programming Language
Pragmatics", 3rd Ed., Morgan Kaufmann, 2009.
Supplementary Reference: A.W. Appel, "Modern compiler
implementation in Java", 2nd Ed.http://patricklam.ca/plt
Prof.Dr Ahmed El Nahass fall2013 CE359