Skip to content
This repository has been archived by the owner. It is now read-only.
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

Simple While Language (SWL Parser)

Progetto SWL parser, realizzato nel Maggio 2018. Realizzato per il corso di Automi e Linguaggi Formali, Informatica (Scuola di Scienze, Dipartimento di Matematica, Università degli Studi di Padova)

Progetto realizzato da:

  • Gianmarco Pettinato (Jatus93 aka Alucard93)
  • Mariano Sciacco (Maxel aka Maxelweb)

Sviluppo

Avanzamento implementazione

  • il ciclo while funziona
  • il costrutto if-then-else funziona
  • operazioni di moltiplicazione e divisione funzionano
  • espressioni booleane complesse che utilizzano gli operatori logici and, or, not e le parentesi

Quick links

Installazione e controllo

  1. Posizionare antlr4 in /home
  2. Avviare source setup.sh
  3. antlr4 -Dlanguage=Cpp swl.g4
  4. make syncheck
  5. ./syncheck example.swl --> controlla se la sintassi sia corretta
  6. make translate
  7. ./translate example.swl --> fa vedere la traduzione
  • Per la pulizia dopo l'utilizzo del make: make clean e make distclean

Files

  • example.swl --> File SWL col codice da scrivere
  • swl.g4 --> File con la sintassi SWL
  • MyListener.cpp/.h --> File con le classi di traduzione. Il .h contiene le classi che si vanno a usare.
  • swlBaseListener --> Autogenerato, crea instestazioni per le classi

Esercizio 1

Estendete la grammatica del linguaggio SWL con le seguenti funzionalità:

  • il ciclo while
  • il costrutto if-then-else
  • operazioni di moltiplicazione e divisione
  • espressioni booleane complesse che utilizzano gli operatori logici and, or, not e le parentesi

Scrivete almeno due programmi di esempio in SWL e allegateli alla soluzione.

Esercizio 2

Modificate il codice del traduttore per fare in modo che funzioni per programmi scritti con la grammatica estesa che avete creato per l'Esercizio 1. Provate il funzionamento del traduttore sui programmi di esempio.

About

SWL parser to translate a custom created language to C++

Resources

License

Packages

No packages published

Languages