public static void main(String args[]) {
                Yaka analyseur;
                java.io.InputStream input;
                java.io.OutputStream output;
                java.io.File temp;
                java.io.InputStream tmp = null;
                String fichierOut;
                if (args.length==2) {
                        System.out.print(args[0] + ": ");
                        try {
                                input = new java.io.FileInputStream(args[0] + ".yaka"); /* avant : args.lentgh -1 */
                                fichierOut = args[1] + ".asm";
                        } catch (java.io.FileNotFoundException e) {
                                System.out.println("Fichier introuvable.");
                                return;
                        }
                } else if (args.length==1) {
                        fichierOut = args[0] + ".asm";
                        System.out.println("Lecture sur l'entree standard...");
                        input = System.in;
                } else {
                        System.out.println("Usage: java Yaka [fichier entr\u00c3\u00a9e] [fichier sortie] ou java Yaka [fichier sortie]");
                        return;
                }
                try {
                        analyseur = new Yaka(input);
                        analyseur.analyse();
                        System.out.println("analyse syntaxique reussie!");
                        temp = new java.io.File("yvm.tmp");
                        if (Erreur.err) {
                                System.out.println("Compilation impossible");
                                System.out.println("La g\u00e9n\u00e9ration du fichier a \u00e9chou\u00e9");
                        }
                        else {
                                yvm.recopierEntete(fichierOut);
                                try {
                                        tmp = new java.io.FileInputStream(temp);
                                } catch (java.io.FileNotFoundException e) {
                                        e.printStackTrace();
                                }
                                output = Ecriture.ouvrirSuite(fichierOut);
                                Ecriture.ecrireFichier(output,tmp);
                                Ecriture.fermer(output);
                                Lecture.fermer(tmp);
                                System.out.println("Le fichier `" + fichierOut + "` a \u00e9t\u00e9 g\u00e9n\u00e9r\u00e9 avec succ\u00e8s");
                        }
                        temp.delete(); /* suppression du ficher temporaire */
                } catch (ParseException e) {
                        String msg = e.getMessage();
                        msg = msg.substring(0,msg.indexOf("\u005cn"));
                        System.out.println("Erreur de syntaxe : "+msg);
                }
        }