User Tools

Site Tools


cs:jflex_cup:assignments
Return to Home page

Assignments (Formal Languages and Compilers course)

Rules

The programming part of the exam can be performed by doing an assignment.

  • A maximum of 5 assignments will be allocated

Students have to send an application for the assignment to stefano.scanzio [at] polito.it within 23 May, 2019.
The application must contain a curriculum, which has to include the known software and the list of passed exams (with the related scores).
In addition, students have to provide a preference between the assignments reported in the following.
The allocation of the assignments to students will be communicated within 6 June, 2019.
Possibly, depending on the curriculum or on the number of requests, some requests may not be accepted.

Assignment 1

Implement all the exercises resolved in the laboratory of the course, which can be downloaded here (https://www.skenz.it/compilers) by using the Ply parser generator (i.e., a parser that makes use of the Python programming language):
http://www.dabeaz.com/ply/

Assignment 2

This assignment is composed of two parts:

  1. Study of the Erlang programming language (http://www.erlang.org/, http://erlangbyexample.org/), and perform a presentation with many examples of the main features of this language.
  2. Writing of a compiler that recognizes part of the Erlang language. The compiler has to make a translation in the LLVM syntax (https://llvm.org/), allowing the execution of the code in a virtual machine.

Assignment 3

This assignment is composed of two parts:

  1. Study of the Go programming language (https://golang.org), and perform a presentation with many examples of the main features of this language.
  2. Writing of a compiler that recognizes part of the Go language. The compiler has to make a translation in the LLVM syntax (https://llvm.org/), allowing the execution of the code in a virtual machine.

Assignment 4

This assignment is composed of two parts:

  1. Study of the Julia programming language (https://julialang.org/), and perform a presentation with many examples of the main features of this language.
  2. Writing of a compiler that recognizes part of the Julia language. The compiler has to make a translation in the LLVM syntax (https://llvm.org/), allowing the execution of the code in a virtual machine.

If you found any error, or if you want to partecipate to the editing of this wiki, please contact: admin [at] skenz.it

You can reuse, distribute or modify the content of this page, but you must cite in any document (or webpage) this url: https://www.skenz.it/cs/jflex_cup/assignments
/web/htdocs/www.skenz.it/home/data/pages/cs/jflex_cup/assignments.txt · Last modified: 2019/05/10 08:38 by zioskenz

Privacy Policy