Sei sulla pagina 1di 1

1.

]A compiler is a computer program (or set of programs) that transforms source code written in a programming language (the source language) into another comput er language (the target language, often having a binary form known as object cod e). The most common reason for wanting to transform source code is to create an executable program. The name "compiler" is primarily used for programs that translate source code fr om a high-level programming language to a lower level language (e.g., assembly l anguage or machine code). If the compiled program can run on a computer whose CP U or operating system is different from the one on which the compiler runs, the compiler is known as a cross-compiler. A program that translates from a low leve l language to a higher level one is a decompiler. A program that translates betw een high-level languages is usually called a language translator, source to sour ce translator, or language converter. A language rewriter is usually a program t hat translates the form of expressions without a change of language. A compiler is likely to perform many or all of the following operations: lexical analysis, preprocessing, parsing, semantic analysis (Syntax-directed translatio n), code generation, and code optimization. Program faults caused by incorrect compiler behavior can be very difficult to tr ack down and work around; therefore, compiler implementors invest significant ef fort to ensure the correctness of their software. The term compiler-compiler is sometimes used to refer to a parser generator, a t ool often used to help create the lexer and parser.

6.Java compiler From Wikipedia, the free encyclopedia A Java compiler is a compiler for the Java programming language. The most common form of output from a Java compiler is Java class files containing platform-neu tral Java bytecode. There exist also compilers emitting optimized native machine code for a particular hardware/operating system combination. Most Java-to-bytecode compilers, Jikes being a well known exception, do virtuall y no optimization, leaving this until run time to be done by the JRE[citation ne eded]. The Java Virtual Machine (JVM) loads the class files and either interprets the b ytecode or just-in-time compiles it to machine code and then possibly optimizes it using dynamic compilation. A standard on how to interact with Java compilers programmatically was specified in JSR 199. [edit]Major Java compilers As of 2012, the following are major Java compilers:[citation needed] The Java Programming Language Compiler (javac), included in the Java Development Kit from Oracle Corporation, open-sourced since 13 November 2006. GNU Compiler for Java (GCJ), a part of the GNU Compiler Collection, which compil es C, Fortran, Pascal and other programming languages besides Java. It can also generate native code using the back-end of GCC. Eclipse Compiler for Java (ECJ), an open source incremental compiler used by the Eclipse project. [edit]Java decompilers A Java decompiler tries to reverse the process of compiling, that is it tries to decompile Java bytecode files (*.class) back to Java source files (*.java). DJ Java Decompiler [1] (Uses JAD) 10 use trial version JAD, written in C++, free for non-commercial use. JD [2], younger project, includes GUI, optional Eclipse-plugin. JODE, decompiler and optimizer, open-source. Mocha, one of the first decompilers for Java.

Potrebbero piacerti anche