マイブック「の詳細な分析Javaコンパイラ:ソースコード解析と例の説明は、」公開します

 

完全な技術屋は、2013卒業生は、大企業での時間を費やしたが、最終的に唯一のアプリケーションは、技術を満たしていない、ERP、ゲーム、広告を働いていた、2018年の終わりに会社を辞め、フルタイムのイン深さの」本を書きましたJavaコンパイラの構文解析:近い将来におけるソースコード分析と例の説明では、」販売されます。 

1、なぜこの本を書くのか? 

7月の終わり、昨年からは、今日残しては、「詳細な分析Javaコンパイラ:ソースコード解析と例の説明」有給原稿、現在はほぼ一年後のために発行体が記載されているが、今年はそれのアカウントを所有していると考えることができます。本を書いてお金を稼ぐことはありません、それは私が今、大企業では1ヶ月の収入をとどまるようになったが、それにかかる時間と労力が膨大であり、この研究産業コンパイラは少し参考書を持っているようではない良いとして初めて料を推定されています、困難を書くことは本当に小さなではありません。しかし、私はそれが仕事よりも理にかなっていることを、少なくとも感じ、それは価値があると思いますが、最も重要なことは愛であり、本を書くことは、彼自身の知識の要約、だけでなく、共有するだけではない、特に、国民と議論することができ、より多くの良い自分自身をアップグレードしてください。   

2、ブックレビュー 

この本は、クラスが完全に機能し、異常と間違ったデモの一部に比べてあるJavac工業用コンパイラ、コードおよびコンパイラので、コンパイルされたファイルの中にあるJavac Javaソースコードから各プロセスを詳述、18章で構成されていそれ以外の場合は、細部の海に落ちる、より合理的に処理するだけでなく、読者に関連するソースコードを達成するのであれば、それはそれぞれの実装の詳細過度のもつれを配置しないことをお勧めします、過度のコードのjavac多くの詳細につながります。この本は、することができ、読者はこれらのキーのソースコードのデバッグを読んブックと呼ばれる、あるJavacソースコードの解釈に焦点を当てています。下に示すように、ブックカバー:

 

次の簡単な「Javaコンパイラの深さ分析:ソースコード解析と例の説明」の本の内容は、次の通り: 

セクション

説明

第1章

簡単な紹介のあるJavacサポートコンパイラのコマンドを達成しながら、あるJavacディレクトリ構造とソースコードのデバッグを導入

第2章

javacの文書は、関連するクラス(例えば読み込み.javaファイル、読み取りJARパッケージなど)の操作を説明します

第3章

javacは、読み取り文字がトークンストリームのJavaソースコードをストリームプロセスの変換を説明しました

第4章

ツリーノードがおおよそ定義と宣言、ステートメントと式に分けることができ、各ツリーノード理解抽象構文木、

第5章

抽象構文木を構築し、javacは、トークンストリームに応じて、完全な抽象構文木を確立します

第6章

だけでなく、種類とjavac使用シンボルでシンボルテーブルの構造を詳細に導入しました。操作の約一般的なタイプは、付録Cに記載されている、共通のシンボルの操作は、付録Dに記載されています。

第7章

シンボルテーブルパディング、抽象構文木の2つの段階が関連付けられているシンボルテーブルシンボルに充填され、その後、スキャンされます

8章

プラグインの注釈プロセスの具体的な実現を発表

第9章

Javaの型変換導入し、代入変換、変換メソッド呼び出し、キャストに焦点を当て、達成するためにこれらの文脈では数値型の変換を強化

第10章

これは、主に適法性チェックの型定義、変数定義とメソッド定義上、構文チェックを記述する

第11章

主にユニークな記号式が引用を見つけるために、参照の消化を導入し、解決クラスが発見方法の具体的な方法を参照型変数の参照や参照を提供

第12章

マークの種類と記号の抽象構文木は、そのようJCIdent、JCFieldAccess他の特定のラベリング処理として、いくつかの重要なツリーノードを強調しました

第13章

彼は一般的な実装、ジェネリック型または完全にコンパイラでサポートされているジェネリックに関連付けられている一般的な機能の方法を説明し、クラスファイルは、ジェネリックを消去するためのプロセスで、その後の必要性を生成します

第14章

変数代入文から、それぞれ、データフロー解析を説明し、文、ループ文とのtry文を分析した場合には、これら三つの側面の異常な活性が決定されます

第15章

これは、単純なシンタックスシュガーのために、内部クラスの声明シンタックスシュガー、砂糖列挙クラスの文法や構文は砂糖を導入し、それぞれ、シンタックスシュガーの除去を説明します

第16章

これは、より優れたバイトコード命令を生成するために、Java仮想マシンの実行時のシンプルなアナログケースによって導入バイトコード命令を生成し、

第17章

、バイトコード命令の生成を説明し、そのような場合には、そのような詳細に説明するように文、ループ文、switch文と文の生成プロセスを試すを決定するなど、いくつかの一般的な制御構造のための説明書

第18章

クラスのドキュメントには、Java仮想マシンを実行するためにファイルをロードできるクラスファイルの仕様の世代に応じて、世代を記述する

付録A

これは、Javaがサポートするコマンドを記述します

付録B

彼は、文法を記述する

付録C

これは、操作の一般的な種類について説明します

付録D

それは、共通のシンボルの操作を説明します

付録E

これは、仮想マシン命令のバイトコードを記述する

 

読者のための3冊

本を読む読者は、いくつかのプログラミング経験を持って、最高のリーダーは、Java言語のいくつかの理解を持っているようにアドバイスされとります。具体的には、この本には、以下の読者のために、主に次のとおりです。

  • 私は、Javaの専門家のJava言語の特徴を学びたいです。
  • 想通过实践学习编译器理论的人,如高校相关专业的学生;
  • 想借鉴编译器架构的人;
  • 对大型工程的源代码感兴趣的人;

4、先读为快

由于纸书出版的延后,目前还不能在市面上购买,不过读者可以在纸质版书籍出版前先阅读电子版内容,有需要的同学可以扫描下图中的二维码直接进行购买,这个定价包括阅读电子版的权限以及本书出版后的纸质版书籍一本。

由于Javac编译器的实现细节众多,逻辑稠密,所以书中在对源代码实现进行介绍时,难免会有错误和漏洞,期望读者有更多的反馈,也希望能在华章的鲜读上与读取有更多的交流!

5、写在最后 

写完这本书,我的第一阶段目标也算完成了。接下来还要继续研究Java虚拟机Hotspot的源代码实现,期望后续会有类似这种《深入解析Hotspot:源码剖析与实例详解》的书籍出现在市面上。总之目标只有一个,彻底搞清楚Java语言底层的实现机制。

一个人的力量总是单薄的,如果有志同道合的朋友想一起研究Javac编译器或Hotspot虚拟机,亦或是对我的书籍有什么疑问,请加我微型mazhimazh,我拉你进群,备注信息:姓名-学校或公司-研究领域。

 

おすすめ

転載: www.cnblogs.com/mazhimazhi/p/11950146.html