public void initTokenClasses() {
        table.println("package lexer;");
        table.println(" ");
        table.println("/**");
        table.println(" *  This file is automatically generated<br>");
        table.println(" *  it contains the table of mappings from token");
        table.println(" *  constants to their Symbols");
        table.println("*/");
        table.println("public class TokenType {");
        table.println("   public static java.util.HashMap<Tokens,Symbol> tokens = new java.util.HashMap<Tokens,Symbol>();");
        table.println("   public TokenType() {");
        symbols.println("package lexer;");
        symbols.println(" ");
        symbols.println("/**");
        symbols.println(" *  This file is automatically generated<br>");
        symbols.println(" *  - it contains the enumberation of all of the tokens");
        symbols.println("*/");
        symbols.println("public enum Tokens {");
        symbols.print("  BogusToken");

        while (true) {
            try {
                getNextToken();
            } catch (IOException e) {break;}

            String symType = "Tokens." + type;

            table.println("     tokens.put(" + symType +
                ", Symbol.symbol(\"" + value + "\"," + symType + "));");

            if (tokenCount % 5 == 0) {
            	symbols.print(",\n    "+ type);
            } else {
            	symbols.print("," + type);
            }
        }
 
        table.println("   }");
        table.println("}");
        table.close();
        symbols.println("\n}");
        symbols.close();
        try {
            in.close();
        } catch (Exception e) {}
    }