100 likes | 115 Views
Dive into the fundamental concepts of compiler design, covering lexical and syntax analysis, semantic understanding, and code generation. Implement compiler phases in labs and explore MOOCs and resources for deeper understanding.
E N D
CS419: Compilers DesignLecture 1: Introductory Lecture Dr. Mohammad Nassef Department of Computer Science Faculty of Computers and Information Cairo University Egypt CS-FCI-CU-EG
Course Outline and References (1) • Part 1: Introduction • Part 2: • Lexical Analysis definition - using Regular Expressions – (REs) • Lexical Analysis using Deterministic Finite Automata – (DFA) • Lexical Analysis using Non-Deterministic Finite Automata – (NFA) • Transfering NFA to DFA. Why? FCI-CU-EG
Course Outline and References (2) • Part 3: • Syntax Analysis using CFG. • Syntax Analysis, Parse Trees and Ambiguity. • Removing Left Recursionand doing Left Factoring. • Syntax Analysis (CFG) using Top-down parsing. • First and Follow operators. • Syntax analysis (CFG) using Bottom-Up (predictive/LR) parsing. • Construction of miscellaneous parsing tables. FCI-CU-EG
Course Outline and References (3) • Hope-to-reach Topics: • Semantic analysis • Intermediate code generation • Code optimization • Code generation. FCI-CU-EG
RecommendedMOOCs Coursera: • Compilers Design – Stanford University FCI-CU-EG
Resources • Text Books: • “Basics of Compiler Design”, Anniversary Edition TorbenMogensen. • Lab Activities • Applying most of the essential concepts while implementing successive phases of compiler design. FCI-CU-EG
Compilers Lab Practical • During labs, you will work on specific tools to develop a compiler for a specific language • Couple of weeks will be for Lexical Analysis • Then another couple of weeks for Syntax Analysis • Then more couple of weeks for Semantic Analysis • If we have more time, you can implement code optimization and generation. • During labs: practice (implementing one project phase) • Some phases will end with a lab quiz. • Deliverables of your phases will be on Acadox FCI-CU-EG
My Office Hours Mon 08:00 → 12:00By Appointment Tue 08:00 → 11:00 Wed01:00→ 04:00 FCI-CU-EG
Compilers TAs • TAs who can help you at lab and office hours! • Eng. Amira Abo Hozaifa • Eng. Khloud Khaled • Eng. HebaMahgoub FCI-CU-EG
Course Grading Policy • Midterm Exam 10 • Lecture Interaction 5 • Group Project (phases) 20 • 2 Lab Quizzes 5 • Final 60 -------------------------------------------------- • Total 100 FCI-CU-EG