programming languages & translators (ce 359) fall 2013 prof. dr : ahmed el nahass lecture 1

5
Programming Languages & Translators (CE 359) Fall 2013 Prof. Dr: Ahmed El Nahass Lecture 1 1 FACULTY OF ENGINEERING COMPUTER ENGINEERING Prof.Dr Ahmed El Nahass fall2013 CE359

Upload: caine

Post on 04-Jan-2016

28 views

Category:

Documents


0 download

DESCRIPTION

Programming Languages & Translators (CE 359) Fall 2013 Prof. Dr : Ahmed El Nahass Lecture 1. COMPUTER ENGINEERING. FACULTY OF ENGINEERING. Course Objective. Read a language specification, generate a lexer and parser for that language, and defend your design and implementation choices; - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 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

Page 2: Programming Languages & Translators  (CE 359) Fall 2013 Prof.  Dr :  Ahmed El  Nahass Lecture 1

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

Page 3: Programming Languages & Translators  (CE 359) Fall 2013 Prof.  Dr :  Ahmed El  Nahass Lecture 1

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

Page 4: Programming Languages & Translators  (CE 359) Fall 2013 Prof.  Dr :  Ahmed El  Nahass Lecture 1

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

Page 5: Programming Languages & Translators  (CE 359) Fall 2013 Prof.  Dr :  Ahmed El  Nahass Lecture 1

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