Uni Wien:Program Optimisations and Runtime Systems VU (Mehofer)

Aus VoWi
Zur Navigation springen Zur Suche springen

Daten[Bearbeiten | Quelltext bearbeiten]

Vortragende Eduard Mehofer
ECTS 6,00 / 4,00
Aufgezeichnet Nein
Sprache English
Links ufind:052811 , Homepage
Zuordnungen
Bachelor Informatik Modul Parallel Computing (Gebundenes Wahlfach)
Master Informatik Modul Parallel Computing (Gebundenes Wahlfach)
Master Data Science Modul Specialisation (Gebundenes Wahlfach)
Master Computational Science Modul Specialisation (Gebundenes Wahlfach)


Contents[Bearbeiten | Quelltext bearbeiten]

The course is mainly about how compilers work: What they do, which steps they go through, etc. This is done on a relatively low but easy to understand level. As part of the course the students have to write their own compiler that works on a subset of the C programming language. This task is divided into three assignments:

  • Parsing the syntax: This can (and should) be done using existing software (the lecture recommends flex and bison, but others like ANTLR are allowed as well. Writing this part on your own is also allowed but not recommended). This is definitely the easiest of the three assignments and requires relatively little work. Taking an existing grammar file and removing parts of this is allowed and a student's personal recommendation.
  • Constructing the AST: This part is crucial. Depending on how you construct your AST the third assignment is easy - or hard. The lecture gives relatively little direction on how the data structures for this should look like. The students are supposed to look this up themselves.
  • Code generation: At last, the generated AST should be mapped to RISC-V assembly. Depending on the simulator you use (again, the lecture gives a recommendation on which to use but welcomes other proposed solutions by students) you can support a relatively large portion of C - even up to printing and file I/O.

Schedule[Bearbeiten | Quelltext bearbeiten]

Basically a classic lecture part with some dates where the assignments are discussed. Not all of the dates given in u:find will be needed and a time table in Moodle tells when classes are and when they are dropped. Assignments are given throughout the semester with plenty of time to work on.

Required/Recommended Prerequisites[Bearbeiten | Quelltext bearbeiten]

  • For the software/libraries recommended by the lecture a good (but not expert) knowledge-level of C will be helpful and required. This depends on what tools and which language you want to use to implement the compiler (Note: The language your implemented compiler is supposed to handle is a small subset of C itself, which does not change depending on your implementation environment), so using e.g. Java with ANTLR would also be possible.
  • Having a basic knowledge about syntax, grammars, etc. (see: Uni Wien:Theoretische Informatik VO (Mehofer)) will be helpful.

Lecture[Bearbeiten | Quelltext bearbeiten]

Presentation and discussion of slides (which will be provided via Moodle). Presence not mandatory.

Exercise[Bearbeiten | Quelltext bearbeiten]

No real exercises sessions. There are a few lecture slots where you have to present the different project milestones. Presence is mandatory for these sessions.

Exam & Grading[Bearbeiten | Quelltext bearbeiten]

An oral exam at the end of the semester where again the work done on the assignments is discussed and some questions on the theory from the lecture are asked and discussed. Overall a relatively relaxed environment. Going through the theory from the slides is recommended. If you understand the examples discussed in the lecture and did the assignments on your own this is relatively easy.

Dauer der Zeugnisausstellung[Bearbeiten | Quelltext bearbeiten]

A few days.

Time-consumption[Bearbeiten | Quelltext bearbeiten]

Depends on how complex you want your compiler to be, but overall within the time requirements of the 6 ECTS.

Unterlagen[Bearbeiten | Quelltext bearbeiten]

noch offen

Tipps[Bearbeiten | Quelltext bearbeiten]

noch offen

Verbesserungsvorschläge / Kritik[Bearbeiten | Quelltext bearbeiten]

noch offen

Materialien

Diese Seite hat noch keine Anhänge, du kannst aber neue hinzufügen.