La syntaxe est décrite dans le sujet du projet.
Si l'analyse syntaxique est effectuée avec succès, le programme doit terminer avec le code de retour 0, sans rien afficher.
Si en revanche une erreur lexicale ou syntaxique est détectée, elle doit être affichée sous la forme
File "test.c", line 4, characters 5-6:
syntax error
et le programme doit terminer avec le code de retour 1.
Il est conseillé de tester au fur et à mesure de l'élaboration de l'analyseur syntaxique, en ajoutant les constructions du langage une par une. Par exemple, on peut se donner comme premier objectif de parvenir à l'analyse syntaxique du programme suivant :
int main() {
return 0;
}
Il suffit pour cela d'avoir des expressions réduites aux constantes
entières et des instructions réduites à return.
Une fois que cela fonctionne, on peut ajouter par exemple les
opérateurs binaires dans les expressions. Et ainsi de suite.
syntax/bad/ refusés à l'analyse lexicale ou syntaxique
typing/bad/ refusés à l'analyse sémantique
typing/good/ acceptés à l'analyse sémantique
exec-fail/ compilés avec succès mais l'exécution du code MIPS doit échouer
exec/ compilés et exécutés avec succès, le résultat attendu étant
conforme au fichier .out
#!/bin/bash java -cp chemin/bin Main $@On doit obtenir ceci :
> ./run -1 mon/chemin/vers/mini-c Test de mon/chemin/vers/mini-c Partie 1 mauvais ........................... bons ................................................................................. Syntaxe : 108/108 : 100%