Skip to content

Esame che riguarda il formalismo di linguaggi e grammatiche, il funzionamento di riconoscitori, generatori, interpreti e compilatori, oltre che le peculiarità dei linguaggi blended come Javascript, Scala e Kotlin, accompagnate da riflessioni sui diversi modelli computazionali.

License

Notifications You must be signed in to change notification settings

BertozziPietro/linguaggi-modelli-computazionali-m

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linguaggi e Modelli Computazionali M

Professor Enrico Denti

Anno Accademico: 2024/2025

Votazione: 30 e Lode


📊 Linguaggi Repository

Python Java HTML Scala PHP CSS JavaScript ANTLR Prolog C# Kotlin Dockerfile

🗂️ Attività Progettuale

La prova finale del corso è preceduta dall'esposizione della attività progettuale associata.
Il titolo della attività progettuale realizzata è Challenge a tema: Linguaggi.

Dall'A.A.2025/2026 l'attività progettuale farà parte del materiale del corso.
In questo senso, in futuro, ci saranno modifiche per estendere, o rendere più idoneo al nuovo contesto, il materiale a contorno dell'attività progettuale.

  • Slide di presentazione del materiale.
  • Writeup delle soluzioni.
  • Demo dettagliate.

🎤 Argomenti di Discussione Proposti

  1. Grammatica: analisi
    1.1 Presentazione della grammatica in Esame.
    1.2 Pumping Lemma per dimostrare che la grammatica non è regolare.
    1.3 Analisi LL(1) dopo opportune trasformazioni.
    1.4 Analisi LR(0) e identificazione dei conflitti.
    1.5 Analisi SRL(1).

  2. Ricorsione: tail-recursion, TRO e trampolini
    2.1 Costrutti linguistici e processi computazionali sottostanti e tail recursion.
    2.2 Le potenzialità e i limiti del TRO e i trampolini.
    2.3 Esempi in JavaScript e Kotlin.

  3. Scala: costruire nuovi costrutti
    3.1 Ingredienti e ricetta per nuovi costrutti.
    3.2 Esempio ed utilizzo del nuovo costrutto WriteFile.

  4. JavaScript: linguaggio dinamico ma vulnerabile
    4.1 Type coercion e JSFuck con Function.
    4.2 Modello a prototipi e type augmenting e prototype pollution.

🏅 Menzione d'Onore

Il programma prolog family.pl, non è stato incluso nella discussione dell'esame, purtroppo.

About

Esame che riguarda il formalismo di linguaggi e grammatiche, il funzionamento di riconoscitori, generatori, interpreti e compilatori, oltre che le peculiarità dei linguaggi blended come Javascript, Scala e Kotlin, accompagnate da riflessioni sui diversi modelli computazionali.

Topics

Resources

License

Stars

Watchers

Forks