indique la cause et l'endroit de l'erreur. Ce n'est qu'une fois cette erreur résolue que vous
pouvez exécuter sans incident votre programme.
Toutefois dans la plupart des autres langages on passe par une phase intermédiaire: la
compilation. Le principe est le suivant, on écrit son programme dans le langage désiré (C,
Java ou autre), une fois le programme achevé on le compile, c'est à dire qu'on va le soumettre
à un compilateur qui va se charger de contrôler que le programme est correcte tant du point de
vu de la syntaxe que de la grammaire utilisée et qui va tenter de détecter d'éventuels conflits.
Si il y a une erreur, la compilation s'arrête et le compilateur nous indique l'erreur à corriger.
Seulement une fois que le programme et correcte (conforme) au langage, la compilation
pourra se dérouler sans accroc. Typiquement, le programme compilé ayant été "traduit" dans
la langue de la machine, vous ne pouvez pas le lire avec un éditeur de texte, vous n'obtenez
qu'une suite de symbole sans aucun sens. La compilation produit un fichier dit "compilé" que
l'on peut exécuter au moyen d'une commande. Quant à savoir si le programme fait exactement
ce qui est prévu, ça c'est une autre histoire. En effet, on peut très bien écrire un programme
parfaitement correct qui ne fait pas du tout ce qui était prévu, mais c'est là une des joies
principales de l'informatique que de découvrir pourquoi.
Exemple
Prenons le cas de Java pour citer un langage assez populaire.
Un programme Java est caractérisé par l'extension ".java" (mon_programme.java). A la
compilation, on utilise le compilateur du langage Java, c'est à dire javac (pour Java Compiler)
dans une commande de la forme " javac mon_programme.java ". Cette commande produit un
fichier de même nom que le fichier Java mais avec l'extension ".class"
(mon_programme.class) et c'est finalement ce fichier ".class" qui est exécuté à l'aide de la
commande "java" propre au langage Java (java mon_programme / lorsque le fichier ".class" a
été créé on n'a plus besoin de rajouter l'extension en appelant "java mon_programme.class"
mais bon ce n'est pas là le propos.)
Qu'en est-il pour Mic1?
Avec ce programme, vous avez la possibilité soit d'influencer le programme d'instructions que
vous créez, soit d'influencer l'interprétation du programme que vous avez créé.
Pour simplifier vous pouvez soit créez un programme (appelé macro-programme), le
compiler et voir ce que donne son interprétation avec les micro-instructions (appelés micro-
programme), soit créer vous même vos propres micro-instructions et voir comment elles
interprètent un macro-programme.
On a donc logiquement deux compilateurs différents, un pour compiler les macro-
programmes et un autre pour compiler les micro-programmes.
ce sont les compilateurs suivants (qui se trouvent ainsi que toutes les sources dans le
téléchargement du programme Mic1):
ijvmasm qui assemble (une certaine sorte de compilation) un programme " .jas " en un
programme " .ijvm "
Note: dans ce programme il faut donner explicitement l'extension que l'on veut voir figurer au
fichier compilé car contrairement à Java par exemple il ne le fait pas automatiquement, Voir
document HTML "user_guide" point 5 et 6 ainsi que le point 2 sur la signification des
extensions.