Un mini-compilateur pour le langage MiniSoft développé avec FLEX et BISON
Ce projet implémente un compilateur complet pour le langage MiniSoft, incluant :
- Analyse lexicale (FLEX)
- Analyse syntaxique (BISON)
- Analyse sémantique
- Gestion de la table des symboles
MainPrgm nom_programme ;
Var
<!-- Déclarations -->
BeginPg
{
{-- Instructions --}
}
EndPg ;
Int: entiers entre -32768 et 32767Float: nombres réels avec point décimal
- Variables :
let x,y : Int ; - Tableaux :
let A,B : [Int;10] ; - Constantes :
@define Const PI : Float = 3.14 ;
- Affectation :
x := 5 ; - Condition :
if (x > 0) then { ... } else { ... } - Boucles :
do { ... } while (condition) ;for i from 1 to 10 step 2 { ... }
- E/S :
input(x) ;output("Résultat: ", x) ;
- Arithmétiques :
+,-,*,/ - Logiques :
AND,OR,! - Comparaison :
>,<,>=,<=,==,!=
- Vérification des identificateurs non déclarés
- Détection des doubles déclarations
- Contrôle de compatibilité des types
- Vérification des divisions par zéro
- Protection contre la modification des constantes
- Contrôle des bornes des tableaux
Stockage des informations : nom, type, valeur, code entité, etc.
Messages d'erreur détaillés avec numéro de ligne et colonne.
Créer un fichier texte avec votre code MiniSoft
Exécuter le fichier commande.bat