User Tools

Site Tools


cs:jflex_cup:assignments
Return to Home page

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
cs:jflex_cup:assignments [2018/04/20 18:14]
zioskenz
cs:jflex_cup:assignments [2019/05/10 08:38] (current)
zioskenz
Line 2: Line 2:
 ===== Rules ===== ===== Rules =====
 The programming part of the exam can be performed by doing an assignment. The programming part of the exam can be performed by doing an assignment.
-  * A maximum of assignments will be allocated+  * A maximum of assignments will be allocated
   ​   ​
-Students have to send an application for the assignment to stefano.scanzio@polito.it within ​May, 2018.\\+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).\\ 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.\\ 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 ​14 May2018.\\+The allocation of the assignments to students will be communicated within ​**6 June2019**.\\
 Possibly, depending on the curriculum or on the number of requests, some requests may not be accepted. Possibly, depending on the curriculum or on the number of requests, some requests may not be accepted.
  
 ===== Assignment 1 ===== ===== Assignment 1 =====
-Implement the //​MainDrawTree//​ option ​of Cup:\\ +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):\\ 
-https://​www.skenz.it/​traduttori/​risorse/​java_cup_v10k_drawTree.tar.gz\\ +http://www.dabeaz.com/ply/
-with the new version ​of the Cup parser generator that can be downloaded here:\\ +
-http://www2.cs.tum.edu/projects/cup/​index.php +
- +
-This assignment can be allocated to two students.+
  
 ===== Assignment 2 ===== ===== Assignment 2 =====
 This assignment is composed of two parts: This assignment is composed of two parts:
-  - Study of the //Erlang// programming language (http://​www.erlang.org/,​ http://​erlangbyexample.org/​),​ and presentation with many examples of the main features of this language. +  - 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. 
-  - 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/​), ​or to execute ​the code in a virtual machine.+  - 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 ===== ===== Assignment 3 =====
-Implement all the exercises resolved in the laboratory ​of the course, which can be downloaded here (https://www.skenz.it/​compilersby using the new version ​of the the Cup parser generator:​\\ +This assignment is composed of two parts: 
-http://www2.cs.tum.edu/projects/​cup/​index.php+  - Study of the //Go// programming language ​(https://golang.org), and perform a presentation with many examples of the main features of this language. 
 +  - 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 ===== ===== Assignment 4 =====
-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 5 ===== 
-This assignment is composed of two parts: 
-  - Study of the //Go// programming language (https://​golang.org),​ and presentation with many examples of the main features of this language. 
-  - 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/​),​ or to execute the code in a virtual machine. 
- 
-===== Assignment 6 ===== 
 This assignment is composed of two parts: This assignment is composed of two parts:
-  - Study of the //Julia// programming language (https://​julialang.org/​),​ and presentation with many examples of the main features of this language. +  - Study of the //Julia// programming language (https://​julialang.org/​),​ and perform a presentation with many examples of the main features of this language. 
-  - 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/​), ​or to execute ​the code in a virtual machine.+  - 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?rev=1524240897&do=diff
/web/htdocs/www.skenz.it/home/data/attic/cs/jflex_cup/assignments.1524240897.txt.gz · Last modified: 2019/02/26 14:35 (external edit)

Privacy Policy