Skip to content

CosimoPiscopo/FLC

Repository files navigation

Interprete di Codice JavaScript in Python

Questo interprete di codice JavaScript è stato implementato in Python utilizzando la versione 3.11.

In particolare sono state implementate le seguenti funzionalità:

  • Tipi di dato

    • Number
    • String
    • Boolean
    • Null
    • Undefined
    • Array
  • Operazioni aritmetiche

    • + (Addizione)
    • - (Sottrazione)
    • * (Moltiplicazione)
    • / (Divisione)
  • Operazioni di confronto

    • == (Uguaglianza)
    • != (Disuguaglianza)
    • < (Minore di)
    • > (Maggiore di)
    • <= (Minore o uguale a)
    • >= (Maggiore o uguale a)
  • Operazioni logiche

    • && (AND)
    • || (OR)
    • ! (NOT)
  • Istruzioni di controllo

    • if...else
  • Istruzioni di loop

    • for
  • Input

    • prompt()
  • Output

    • console.log()
  • Funzioni

    • function

Dipendenze

Per eseguire correttamente l'interprete, è necessario installare la libreria PLY.

pip install ply

Utilizzo

Per utilizzare l'interprete, è sufficiente eseguire il file principale test.py.

Lo script utilizzerà il file data/test.js come input.

python test.py

Unit Test

Sono forniti alcuni test per verificare la correttezza dell'interprete:

  • Test del lexer:

    python -m unittest -v tests.lexer_test
  • Test del parser:

    python -m unittest -v tests.parser_test
  • Test dell'interprete:

    python -m unittest -v tests.interpreter_test
  • Errori dell'interprete:

    python -m unittest -v tests.interpreter_errors

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published