Skip to content

Latest commit

 

History

History
51 lines (39 loc) · 2.44 KB

File metadata and controls

51 lines (39 loc) · 2.44 KB

MiniPython Compiler Static Badge

Αυτή η εργασία αφορά την υλοποίηση ενός μεταγλωττιστή για τη γλώσσα miniPython, ένα υποσύνολο της Python. Η εργασία υλοποιείται σε δύο φάσεις, με χρήση του εργαλείου SableCC.

Δομή Εργασίας

Η εργασία αποτελείται από δύο κύριες φάσεις:

  • Φάση Α:

    • Λεκτική Ανάλυση
    • Συντακτική Ανάλυση
  • Φάση Β:

    • Κατασκευή Αφηρημένου Συντακτικού Δέντρου (AST)
    • Πίνακας Συμβόλων & Σημασιολογικός Έλεγχος

Εγκατάσταση και Setup

Η εργασία υλοποιείται σε Java με χρήση του εργαλείου SableCC. Κατέβασε το SableCC v3 και τοποθέτησέ το στον φάκελο του project ή στο PATH.

Προαπαιτούμενα

Εγκατάσταση του SableCC

  • Java 8 ή νεότερη (π.χ., OpenJDK)
  • javac και java στο $PATH
  • SableCC (αρχείο sablecc.jar)

    Σημείωση: Το sablecc.jar πρέπει να τοποθετηθεί σε φάκελο lib/ μέσα στον φάκελο.

Εκτέλεση SableCC

Από τον φάκελο όπου βρίσκεται το αρχείο γραμματικής (π.χ., phaseA/):

Windows:

  1. Αντιγράψτε το sablecc.bat στον φάκελο phaseA/.
  2. Εκτελέστε:
sablecc minipython.grammar

Linux/macOS:

  1. Αντιγράψτε το αρχείο sablecc (shell script).
  2. Εκτελέστε:
chmod +x sablecc
./sablecc minipython.grammar

Μετά την εκτέλεση, δημιουργείται αυτόματα φάκελος minipython/ με τους υποφακέλους analysis, lexer, parser, node.

Ομάδα