public static void main(String args[])
       throws ParseException
    {
        File myFile;
        if(args.length > 0) {
            myFile = new File(args[0]);
        }
        else {
            myFile = new File("./t1.c");
        }

        FileReader fr;
        if(myFile.exists()){
            try {
                fr = new FileReader(myFile);
            } catch (FileNotFoundException ex) {
                    System.err.printf("Nelze otevrit soubor!");
                    return;
            }
        } else {
            System.err.printf("Uvedeny soubor neexistuje!");
            return;
        }
        // Parsing
        MyError.clearErrors();
        BlockStatement program = new BlockStatement();
        Parser parser = new Parser(fr);
        parser.start(program);

        // Zavirani souboru
        try {
            fr.close();
        } catch (IOException ex) {
            System.err.printf("Soubor nelze zavrit!");
            return;
        }

        //tisk
        System.out.println(program.toString());
        // Type checking
        TypeChecking t = new TypeChecking();
        program.accept(t);
        if (MyError.noErrors()) {
            System.out.println("Program je v poradku.");
        } else {
            MyError.printErrors();
            return;
        }
        //System.out.println(program.getCode());
        // Zapis do souboru

        File output = new File("Output.asm");
        try {
            output.createNewFile();
        } catch (IOException ex) {
            System.err.printf("Nelze vytvorit soubor: {0}", output.getName());
            return;
        }
        FileWriter fw;
        try {
            fw = new FileWriter(output);
        } catch (IOException ex) {
            System.err.printf("Neocekava chyba u souboru: {0}", output.getName());
            return;
        }

        try {
            fw.write(program.getCode());
            fw.close();
        } catch (IOException ex) {
        System.err.printf("Soubor nelze zavrit!");
            return;
        }
    }