概説フロントエンドコンパイラの理論

近年のプロジェクトの技術的な問題の両方とコンパイラの理論、抽象構文木、コードエディタの関係。今の時間は少し空で、基本的な理解彼らと一緒に始める、いくつかの相互作用およびいくつかのヒントは、よりインテリジェントなことができましょう。

     実際には、コンパイラの理論は、コンピュータがマシンコードを理解する「437 + 734」この文字列プログラミング合計437、734コンピュータをお知らせすることです。高レベル言語から実際のシーンは、低レベルの言語にコンパイルすることができます。

     2つのステップにコンパイルプロセスのパーツ:

     1.字句解析

       字句解析は、正規表現、一つのマーカー(トークン)に入力された文字列によって定義されます。

       "437 + 734" =>   NUMより  NUM

 

     2.解析

        スケジュールされた構文は、の頂部を通ってトークンシフト/オートマトンを減らす最終構造を製造するための抽象構文ツリーに、法令に、段階的に。

        文法= E>  NUM PLUS  NUM   => SUM(437、734)。

 

         文法・ジェネレータのフロントエンドは、まだ多くの隠れている  https://tomassetti.me/parsing-in-javascript/を、異なる構文ジェネレータ・サポート・文法もいくつかの違いです

         プロジェクトで使用(LR0、一眼レフ、LR1、LLサポートjisonライブラリで 、LALR) 文法を。コンパイラの理論は、デバッガの処理方法によって理解することができるhttp://nolanlawson.github.io/jison-debugger/

     3.jison使用

         使用するのは簡単です、文書の公式ウェブサイトでは、また、より詳細であるhttp://zaa.ch/jison/docs/Jisonは、「ノードのコマンドによってjisonファイル、定義  コンパイル済みのJSを生成するファイルを」;

         

おすすめ

転載: www.cnblogs.com/legu/p/11316697.html