Skip to content

Tesnimhed/mini-compilateur-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mini-Compilateur Python

Un compilateur éducatif pour un sous-ensemble du langage Python, développé dans le cadre du module de Compilation.

Description

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

Fonctionnalités

Analyse Lexicale

  • 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 (#)

Analyse Syntaxique

  • 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 : ++, --

Interfaces Utilisateur

  • 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

Prérequis

  • Java Development Kit (JDK) version 11 ou supérieure
  • Un éditeur de texte (VS Code, IntelliJ IDEA, Eclipse, etc.)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors