User Tools

Site Tools


compilers:assignments20202021
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
compilers:assignments20202021 [2021/03/30 11:49]
zioskenz
compilers:assignments20202021 [2021/04/07 22:48] (current)
zioskenz
Line 12: Line 12:
  
 ===== Assignment 1 ===== ===== Assignment 1 =====
 +This assignment is composed of two parts:
 +  - Study of the languages used by the security protocol verifier Proverif (https://prosecco.gforge.inria.fr/personal/bblanche/proverif/).
 +  - Development of a Java library that can be used to parse part of the Proverif input and output languages. The library must provide access to the syntax tree and symbol table of the recognized language structures. A set of junit tests must also be produced to test the produced library.
 +
 +===== Assignment 2 =====
 This assignment is composed of two parts: This assignment is composed of two parts:
   - Perform a research on the main techniques used for Natural Language Processing (NLP)   - Perform a research on the main techniques used for Natural Language Processing (NLP)
   - Use a tool (for instance NLTL [[https://www.nltk.org/]]) to implement an example about NLP   - Use a tool (for instance NLTL [[https://www.nltk.org/]]) to implement an example about NLP
- 
- 
- 
-===== Assignment 1 ===== 
-Implement all the exercises resolved in the laboratory of the course 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 ===== 
-Implement all the exercises resolved in the laboratory of the course by using the Flex/Bison parser generator (i.e., a parser that makes use of the //C// programming language). 
  
 ===== Assignment 3 ===== ===== Assignment 3 =====
 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 perform a presentation with many examples of the main features of this language. +  - Study of the //Lua// programming language (http://www.lua.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/), allowing the execution of the code in a virtual machine.+  - Writing of a compiler that recognizes part of the //Lua// 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 =====
 This assignment is composed of two parts: This assignment is composed of two parts:
-  - Study of the //Go// programming language (https://golang.org), and perform a presentation with many examples of the main features of this language. +  - Study of the //Haskell// programming language (https://www.haskell.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.+  - Writing of a compiler that recognizes part of the //Haskell// 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 5 ===== ===== Assignment 5 =====
 This assignment is composed of two parts: This assignment is composed of two parts:
-  - Study of the //Julia// programming language (https://julialang.org/), and perform a presentation with many examples of the main features of this language. +  - Study of the //Lisp// programming language (https://common-lisp.net/), 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/), allowing the execution of the code in a virtual machine.+  - Writing of a compiler that recognizes part of the //Lisp// 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/compilers/assignments20202021?do=diff&rev=1617097760&difftype=sidebyside
/web/htdocs/www.skenz.it/home/data/attic/compilers/assignments20202021.1617097760.txt.gz · Last modified: 2021/03/30 11:49 by zioskenz

Privacy Policy