|
1 | 1 |
|
2 | | -# Linguaggio SimpLanPlus |
| 2 | +# SimpLanPlus |
3 | 3 |
|
4 | 4 | <p> |
5 | 5 | <img src="https://img.shields.io/static/v1?label=build&message=passing&color=%3CCOLOR%3E" alt="alternatetext"> |
|
8 | 8 | <img src="https://img.shields.io/badge/ANTLR-9.2.1-yellow" alt="alternatetext"> |
9 | 9 | <img src="https://img.shields.io/badge/Java-13.2-white" alt="alternatetext"> |
10 | 10 | </p> |
11 | | -Progetto per il corso di Compilatori ed Interpreti presso Alma Mater Studiorum di Bologna, laura magistrale in Informatica. Il compilatore è basato su grammatiche ANTL4 e programmato in Java (JDK 13.0.6). |
| 11 | +Compiler based on ANTLR4 gramar and implemented in Java (JDK 13.0.6). It is used to Compiler and Interpreter exam at Alma Mater Studiorum - DISI Course |
12 | 12 |
|
13 | | -## Caratteristiche |
| 13 | +## Features |
14 | 14 |
|
15 | | -Il sistema controllerà i seguenti casi in ambito compilativo: |
| 15 | +The system will check the following cases in the compilation field: |
16 | 16 | <ul> |
17 | | - <li>Variabili/Funzioni non dichiarate</li> |
18 | | - <li>Variabili dichiarate piu` volte nello stesso ambiente </li> |
19 | | - <li>Uso di variabili non inizializzate</li> |
20 | | - <li>Corretto uso dei puntatori</li> |
21 | | - <li>Parametri attuali non conformi ai parametri formali (inclusa la verifica sui parametri passati per var)</li> |
22 | | - <li>La correttezza dei tipi </li> |
| 17 | + <li> Undeclared Variables / Functions </li> |
| 18 | + <li> Variables declared multiple times in the same environment </li> |
| 19 | + <li> Using uninitialized variables </li> |
| 20 | + <li> Correct use of pointers </li> |
| 21 | + <li> Current parameters not conforming to formal parameters (including checking on parameters passed for var) </li> |
| 22 | + <li> The correctness of types </li> |
23 | 23 | </ul> |
24 | 24 |
|
25 | | -Inoltre controlla gli accessi a identificatori "cancellati" con particolare |
26 | | -attenzione all'<b>aliasing</b> implementandone il sistema. |
| 25 | +It also controls access to "deleted" identifiers with particular |
| 26 | +pay attention to <b> aliasing </b> by implementing the system. |
27 | 27 |
|
28 | | -In tutto il progetto, si assuma che i programmi possano essere <b>ricorsivi</b> ma <b>non mutuamente ricorsivi</b>. |
| 28 | +Throughout the project, assume that programs can be <b> recursive </b> but <b> not mutually recursive </b>.<br><br> |
| 29 | +We introduced also the <b>interpreter simulator</b>: |
| 30 | +<br> |
| 31 | +A. The bytecode has instructions for a stacked machine that stores in a |
| 32 | + appropriate register the value of the last calculated instruction <br> |
| 33 | +B. Implement an interpreter for the bytecode. <br> |
| 34 | +C. Compile and execute high-level language programs. <br> |
29 | 35 |
|
30 | | -Infine: |
31 | | - |
32 | | -A. Il bytecode ha istruzioni per una macchina a pila che memorizza in un |
33 | | - apposito registro il valore dell'ultima istruzione calcolata<br> |
34 | | -B. Implementare un interprete per il bytecode.<br> |
35 | | -C. Compilare ed esegue i programmi del linguaggio ad alto livello.<br> |
36 | | - |
37 | | -## Autori |
| 36 | +## Authors |
38 | 37 |
|
39 | 38 | - Andrea Gurioli (@andreagurioli1995) |
40 | 39 | - Giovanni Pietrucci (@giovanniPi997) |
41 | 40 | - Mario Sessa (@kode-git) |
42 | 41 |
|
43 | | -## Licenza |
| 42 | +## License |
44 | 43 |
|
45 | 44 | © Apache License Version 2.0, January 2004 |
0 commit comments