1 / 20

Toward the Joint Course on Compiler Construction

Toward the Joint Course on Compiler Construction. Mirjana Ivanovi ć, PM F Novi Sad Dragan Boji ć ETF Belgrade. Toward the JCCC. Where we started The Current State JCCC Syllabus Proposal Agenda for Future work. Where we started…. Summary of Answers to the Initial Inquiry (2004):

rhumphries
Download Presentation

Toward the Joint Course on Compiler Construction

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. Toward the Joint Course on Compiler Construction Mirjana Ivanović, PMF Novi Sad Dragan Bojić ETF Belgrade 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005

  2. Toward the JCCC • Where we started • The Current State • JCCC Syllabus Proposal • Agenda for Future work

  3. Where we started… Summary of Answers to the Initial Inquiry (2004): • BERLIN (Klaus Bothe) • NOVI SAD (Mirjana Ivanović) • BELGRADE (Dragan Bojić) Lecturer’s availability and willingness: • to CREATE joint teaching materials • 2 very good • 1 fair • to USE joint teaching materials • 3 very good 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005

  4. Summary of Answers... • Place of the course in the curriculum BERLIN: 3rd semester, 60 + 30 hours, ~150 students NOVI SAD: 7th&8th semester, 60 + 30 + 30 Hours ~ 50 students BEOGRAD: 7th&8th semester, 70 + 56 hours, ~90 students (this year, 150, expected even more) 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005

  5. Summary of Answers... • Methodology, exams, and grade (2004) BER: students required to finish a practical project NS: before: written & oral exam now: practical work & oral exam BG: obligatory practical homework (one time) + written & oral exam This year: 4x practical homework during lecture period + written exam (40/60) 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005

  6. Summary…Improvements BER: • New topics: translation of OO constructs, optimizations • New case study (input language should not be Pascal) NS: • To add more theory • New case study (Java as an implementation language) • To make course more interesting to students BG: • To add a complete case study • To omit some topics, to add new about OO constructs • To make course more interesting to students (“pure theoretical” approach not very attractive) 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005

  7. Desirable attributes of a new Case Study Real life input languages and educational languages • Object-orientation in the input language, and/or OO in compiler implementation • Contemporary implementation language • microJava: prof. Mössenböck, Univ. of Linz, subset of java, VM, written in java 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005

  8. Toward the JCCC • Where we started • The Current State • JCCC Syllabus Proposal • Agenda for Future work

  9. The Current State of the CC Course in Belgrade • 4th year, two semestral, 2+2+1 (lec+exerc+lab) • In the reformed curriculum (next school year) two 1-semestral courses (4th year), first mandatory, second elective 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005

  10. The Current State of the CC Course in Belgrade (...) • Changes from the previous school year: • Lecturer changed • Introduction of the case study (there was no case study in the old course): • microJava (mJ) [Mössenböck] • 4 mandatory projects for mJ: lexical analyzer, parser, symbol table, code generator • With modifications to the orig. concept of mJ: bottom-up parsing, both java and c++ implementation, object-oriented mJ planned in future 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005

  11. The Current State of the CC Course in Belgrade (...) • Changes in the syllabis: • Several Topics reduced or completely left out (criterion: usage in practice and obsolence): • Some kinds of gramatical classes and transformations, Operator precendence parsing, multi state pushdown automata, fortran symbol management and run time issues, etc. • Added topics related to: • Several overview topics on design of microJava compiler (details on exercises), type checking, compiling object-oriented constructs, virtual machines 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005

  12. The Current State of the CC Course in Belgrade (...) • Sources and Literature: • Lecture material of prof. Mössenböck concering microJava (no book yet) • Appel, Modern Compiler Implementation in Java, Second Ed, 2002. • Legacy but still useful: • A. R. Sethi, J.D. Ullman, Compilers/Principles, Techniques and Tools, Addison-Wesley, 1986 • C. Fischer, R. LeBlanc, Crafting a Compiler, Benjaming-Cummings 1988 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005

  13. The Current State of the CC Course in Novi Sad (...) • New courses • 7th& semester, Compiler Construction I, obligatory • 8th semester, Compiler Construction II, elective • Lectures + Exercises + Lab = 30+30+15 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005

  14. The Current State of the CC Course in Novi Sad (...) • Compiler Construction I • Complete material of prof. Mössenböck course concerning microJava • Advantages of new course: • Concepts of compiler construction are shown on more formal way • Modern and object-oriented language is used (Java and Java byte code) • Students autonomously write (almost) whole compiler 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005

  15. The Current State of the CC Course in Novi Sad (...) • Compiler Construction II • More theoretical, Automata theory, Formal languages theory • Other parsing methods (LR, LALR) • Detailed presentation of code generation • Different techniques of code optimization • Exercises and practical work – Real-world (more serious project) 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005

  16. The Current State of the CC Course in Novi Sad (...) • Literature • Teaching material of prof. Mössenböck • Appel, Modern Compiler Implementation in Java, Second Ed, 2002 • A. V. Aho, R. Sethi, J. D. Ullman "Compilers, Principles, Techniques and Tools, Addison-Wesley, 1985 • J. P. Trembley, P. G. Sorenson, "The Theory and Practice of Compiler Writing", McGraw Hill, 1985 • M. Ivanović: Compiler Construction, Draft version of teaching material, (one of sources for book in Serbian) 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005

  17. Toward the JCCC • Where we started • The Current State • JCCC Syllabus Proposal • Agenda for Future work

  18. JCCC Syllabus Proposal • JCCC_Syllabus.doc 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005

  19. Toward the JCCC • Where we started • The Current State • JCCC Syllabus Proposal • Agenda for Future work

  20. Agenda for Future work • To adopt a joint syllabus • To produce teaching material in English in appropriate form (ppt) • Basic topics (mostly for Compiler Construction I course) • Advanced topics (mostly for Compiler Construction II course) • To write a book in Serbian 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005

More Related