2009-10-18 33 views
17

Poszukuję kodu źródłowego standardowego kompilatora języka Java firmy Sun, javac.Gdzie jest kod źródłowy kompilatora java?

jdk1.6.0_07 ma kilka klas, które są powiązane, ale są to interfejsy (java.lang.Compiler i javax.tools.JavaCompiler). Istnieją również pakiety pod com.sun.mirror.* i com.sun.source.*, które wydają się być interfejsami do reprezentowania drzewa składni abstrakcji java.

Ale nie mogę znaleźć źródła kompilatora - ktoś wie, gdzie to jest?

Odpowiedz

19

Sprawdź tę stronę The Java programming-language compiler (javac) group. Źródła znajdują się w repozytoriach Mercurial.

jdk7/tl/langtools (JDK 1.7)

jdk6/jdk6/langtools (JDK 1.6)

W nagłówku obu stronach ja powiązanych znajdziesz linki do pobrania dla źródeł (w bz2, zip i format gz)

Nie masz źródła w src klas \ udział \ \ com \ Sun \ tools \ javac \

+0

dzięki! Czy oficjalne słońce (które pochodzi z jdk), a nie reimplementacja? BTW: Parser wydaje się być prostym parserem rekursywnego zejścia, ściśle modelującym JLS http://hg.openjdk.java.net/jdk6/jdk6/langtools/file/a9008b46db24/src/share/classes/com/sun/tools /javac/parser/Parser.jav. , dzięki czemu można prześledzić gramatykę. – 13ren

+1

To powinno być oficjalne. Ponieważ od około. 2006 JDK/JRE są open source. Był czas, w którym niektóre narzędzia JDK/JRE mogą również nie były całkowicie otwarte, ponieważ pojawiły się problemy z licencjonowaniem. Jeśli chcesz wiedzieć, od czego dokładnie zbudowałem javac to opensource, sugeruję napisanie do odpowiedniej listy mailingowej openjdk. – jitter

+0

Dzięki, patrząc przez źródło, niektóre mają informację o prawach autorskich Sun, a niektórzy wyraźnie mówią, że ich API nie jest wspierane przez Sun. – 13ren

Powiązane problemy