It seems that most Java native compilers (which allow you to compile your Java source code to native machine instructions) actually read .class files, rather than .java files. In other words, you have to use a standard Java compiler such as _javac_ to compile your Java source file into a .class file. Apparently, this is to save the hassle of parsing the Java source file, providing error messages for syntax errors, and so on. It also means that .class files have almost as much information in them as .java files do, at least enough to translate them to native code. In other words, Java native compilers are much closer to [[Binary Translation][Binary Translators]] than [[Java Dynamic Compilers]] are. If you consider the bytecode format to be a binary format, then they are true binary translators. My (MikeVanEmmerik's) opinion is that class files are true binary files; it just happens that they are rich with class and method names and the like. Links * [[http://www.bearcave.com/software/java/comp_java.html][Web Pages Related to Compiling the Java Programming Language]] * [[http://www.geocities.com/SiliconValley/Lakes/6686/jcomp.html#native][Marco Schmidt's Java Compilers page]] -- Main.MikeVanEmmerik - 02 Apr 2002