Projet d'analyse des données structurées en 2ème année universitaire.
Le projet consiste à implémenter un interpréteur permettant de tracer automatiquement et précisément des formes géométriques simples, en lisant des instructions dans un fichier.
Pour tous les systèmes unix,
jflex lexer.flex
javac *.java
java Main Tests/fichier_test
nombre→ [0-9]+
hex→ [0-9A-F]
couleur→ #{hex}{hex}{hex}{hex}{hex}{hex}
identificateur→ [a-z][a-zA-Z_]*
programme→
suite-instructions
instruction→
Begin
suite-instructions
End
| DrawCircle (expr, expr, expr, couleur)
| FillCircle (expr, expr, expr, couleur)
| DrawRect (expr, expr, expr, expr, couleur)
| FillRect (expr, expr, expr, expr, couleur)
| Const identificateur = expr
| If expr Then instruction (Else instruction)| Fi
| Var identificateur = expr
| While expr Do instruction
| For (Var identificateur = expr, expr, expr) Do instruction
suite-instructions→
instruction; suite-instructions
| ε
expr→
nombre
|(expr opérateur expr)
| identificateur
-
Conditionnelles sans Else
Il est possible de rajouter des conditionnelles dans votre fichier, la syntaxe :
If expr_condition Then instruction1 Fi
-
Variables
Vous pouvez également utiliser des variables avec :
Var nom_variable = valeur
-
Boucles While et For
Si vous désirez employer des boucles dans le code de votre fichier, vous pouvez utiliser :
While expr_condition Do instructions
pour la boucle while() et
For(declaration, expr_condition, incrementation) Do
pour la boucle for().