Skip to content

Anthippi/MiniPythonCompiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Ομάδα

About

A compiler for miniPython, a simplified subset of Python, built with SableCC. Includes lexical, syntactic, and semantic analysis with AST generation.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages