Beskjeder
If interested in more details about the ``semantic phase'' of a compiler, you might consider signing up for ``INF5906''
http://www.uio.no/studier/emner/matnat/ifi/INF5906/
it's more advanced (i.e. for especially interested master students and also for PhD students). It focuses a bit more on formal background of static analysis. For example, digging deeper into Live variable analsysis and related analysis is on the pensum. Also more advanced type systems (not as ``trivial'' as the ones we had in the compiler construction lecture.
Martin
I uploaded also a version of the exam with hints of a correct solution. Martin
After the exam: for your interest, the exam-text is available for reference.
Hints for solution will follow, once typed up more cleanly.
I have uploaded the solutions to the last exercise sets, added "handout versions" for the last chapter + uploaded the exam 2016 (which was missing from the exam collection).
martin
Mandatory exercise ("oblig") number 2 is posted, along with the slides from the presentation from today, all in the "obligs" folder on the course page.
To the question from Martin today: it is correct that you do not necessarily need to annotate the tree with types in order to solve the code generation part (nor in order to pass the exercise). However, you may very well choose to do so if this makes sense in your solution.
Good luck, and get in touch with me if you have questions.
Eyvind.
I added some hints how to tackle the exercises of set 2. [Hope everyone had enough time to give it a try without those hints]
As presented in the lecture time today: we encourage to work in teams of 2 (and not alone). We are aware that not everyone attends regularly the lecture in person. Especially for those that were not present today: people today had the possibility to team up by noting down their names on a sheet of paper.
Of course, that did not work for those not present. In order to team up also in that case: email your name to us (especially to Eyvind, the Master-of-Obligs) to indicate your wish to team up; even better if you know already some close student colleage you intend to work with.
Eyvind will then form appropriate groups in Devilry.
Martin & Eyvind
The zip-archive for the starting point for Oblig 1 (as presented today
by Eyvind) is uploaded as file under the subdirectory/tab obligs. Additionally, there is a description of the task (in Norwegian). Eyvind's slides will follow.
The version handed out in printed form today defined programs as "nameless".
Intended was that programs have a ``name''. The Language specification
has been updated correspondingly (version 1.1).
PS: version 2 will contain information about some semantical aspects (needed for instance for type checking, and in general for Oblig 2).
As usual: a few typos repaired (in particular a type inconsistency in
the Java-classes for expressions/operators)
the typo in one of the examples (slide 36, slide set scanning) has been repaired, the slides have been replaced.
Hi, the first lecture will be 16 January. Material such as exercises, slides etc will be uploaded in appropriately named subdirectories (in the left-hand tabs), as the lecture moves ahead.