Poll

No polls currently selected on this page!

Repository

Repository is empty

Interpretation of computer programs

Code: 61519
ECTS: 5.0
Lecturers in charge: doc. dr. sc. Marko Horvat - Lectures
Lecturers: doc. dr. sc. Marko Horvat - Exercises
English level:

1,0,0

All teaching activities will be held in Croatian. However, foreign students in mixed groups will have the opportunity to attend additional office hours with the lecturer and teaching assistants in English to help master the course materials. Additionally, the lecturer will refer foreign students to the corresponding literature in English, as well as give them the possibility of taking the associated exams in English.
Load:

1. komponenta

Lecture typeTotal
Lectures 30
Exercises 15
* Load is given in academic hour (1 academic hour = 45 minutes)
Description:
COURSE AIMS AND OBJECTIVES: Insight into technology and mathematics of modern interpretation of programming languages.

COURSE DESCRIPTION AND SYLLABUS:
1. Parsing. The algebra of formal languages. Regular expressions and languages. Finite automata and the equivalence theorem. Minimal automata. Lexical analysis. Generative grammars and the Chomsky hierarchy. Ambiguity. Top-down and bottom-up parsing, classes LL(k) and LR(k). Push-down automata. Parser generators. Abstract and concrete syntax. Types and static analysis.
2. Intermediate languages and virtual machines. Translation to intermediate languages. Executing intermediate languages on virtual machines. JVM and MSIL. Garbage collection.
3. Code generation. Algorithms for instruction selection. Control and data flow graphs, and the algorithms of their construction and optimisation. Interpreting object-oriented languages. Optimizing references and loops.
Literature:
  1. M. Sipser: Introduction to the Theory of Computation
  2. A. W. Appel: Modern Compiler Construction in Java
  3. A. V. Aho, R. Sethi, J. D. Ullman: Compilers
  4. S. Srbljić: Jezični procesori 1, 2
  5. J. Gough: Compiling for the .NET Common Language Runtime
  6. J. Engel: Programming for the Java Virtual Machine
  7. D. A. Patterson, J. L. Hennessy: Computer Organization and Design
2. semester
Mandatory course - Regular study - Computer Science and Mathematics
Consultations schedule:

Content

Link to the course web page: https://web.math.pmf.unizg.hr/nastava/ip/