Un compilateur éducatif pour un sous-ensemble du langage Python, développé dans le cadre du module de Compilation.
Ce projet implémente un mini-compilateur capable d'analyser lexicalement et syntaxiquement un sous-ensemble du langage Python. Il comprend :
- Analyse Lexicale (Lexer) : Transformation du code source en une séquence de tokens
- Analyse Syntaxique (Parser) : Vérification de la structure grammaticale du code
- Interface CLI : Menu interactif en ligne de commande
- Interface GUI : Interface graphique moderne et intuitive
- Tokenisation des mots-clés Python (if, else, while, for, switch, etc.)
- Reconnaissance des identifiants, nombres (entiers/flottants) et chaînes de caractères
- Gestion des opérateurs arithmétiques, logiques et de comparaison
- Support des commentaires (
#)
- Structures conditionnelles :
if/elif/else - Structures itératives :
while,do/while,for/in - Switch/Case : Structure de contrôle multi-choix
- Variables : Déclaration et affectation (
=,+=,-=) - Opérateurs : Arithmétiques, logiques, comparaison
- Incrémentation/Décrémentation :
++,--
- Mode Console : Menu interactif avec compilation de fichiers ou saisie directe
- Mode Graphique : Interface Swing moderne avec éditeur de code et console de résultats
- Java Development Kit (JDK) version 11 ou supérieure
- Un éditeur de texte (VS Code, IntelliJ IDEA, Eclipse, etc.)