2009-10-18 11 views
17

Je cherche le code source du compilateur Java standard de Sun, javac.Où est le code source du compilateur Java?

jdk1.6.0_07 a quelques classes qui sont liées, mais ce sont des interfaces (java.lang.Compiler et javax.tools.JavaCompiler). Il y a aussi des paquets sous com.sun.mirror.* et com.sun.source.*, qui semblent être des interfaces pour représenter l'arbre de syntaxe abstrait java.

Mais je ne trouve pas la source du compilateur - quelqu'un sait où c'est?

Répondre

19

Consultez ce site The Java programming-language compiler (javac) group. Les sources sont dans les dépôts Mercurial.

jdk7/tl/langtools (pour JDK 1,7)

jdk6/jdk6/langtools (pour JDK 1.6)

Dans l'en-tête des deux sites que je Linked vous trouverez des liens de téléchargement pour les sources (en bz2, zip et format gz)

Il vous avez les sources src \ share \ classes \ com \ tools \ soleil de \ javac \

+0

merci! Est-ce le soleil officiel (qui vient avec le jdk), pas une réimplémentation? BTW: L'analyseur semble être un simple analyseur de descente récursif, modelant étroitement le JLS http://hg.openjdk.java.net/jdk6/jdk6/langtools/file/a9008b46db24/src/share/classes/com/sun/tools /javac/parser/Parser.jav. afin que vous puissiez suivre la grammaire. – 13ren

+1

Ce devrait être le fonctionnaire. Comme depuis env. 2006 le JDK/JRE sont opensource. Il fut un temps où certaines pièces d'outils JDK/JRE n'étaient peut-être pas complètement opensource car il y avait quelques problèmes de licence. Si vous voulez savoir depuis quelle construction exactement le javac est opensource je suggère d'écrire sur la mailinglist openjdk appropriée – jitter

+0

Merci, en regardant à travers la source, certains ont l'avis de copyright de Sun, et certains disent explicitement que leur API n'est pas supportée par Sun. – 13ren

Questions connexes