1 / 10

CS419: Compilers Design Lecture 1: Introductory Lecture

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.

geralyng
Download Presentation

CS419: Compilers Design Lecture 1: Introductory Lecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. Course Outline and References (3) • Hope-to-reach Topics: • Semantic analysis • Intermediate code generation • Code optimization • Code generation. FCI-CU-EG

  5. RecommendedMOOCs Coursera: • Compilers Design – Stanford University FCI-CU-EG

  6. 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

  7. 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

  8. My Office Hours Mon 08:00 → 12:00By Appointment Tue 08:00 → 11:00 Wed01:00→ 04:00 FCI-CU-EG

  9. Compilers TAs • TAs who can help you at lab and office hours! • Eng. Amira Abo Hozaifa • Eng. Khloud Khaled • Eng. HebaMahgoub FCI-CU-EG

  10. Course Grading Policy • Midterm Exam 10 • Lecture Interaction 5 • Group Project (phases) 20 • 2 Lab Quizzes 5 • Final 60 -------------------------------------------------- • Total 100 FCI-CU-EG

More Related