「プログラミング/共通知識」の版間の差分
削除された内容 追加された内容
→字句解析機・構文解析器: 構文解析器と字句解析器を取違える間違えがあった。;構文の衝突に関する言及。lex yacc あるいはキーワード解析の完全ハッシュ関数化に関しては、コラムにまとめる予定。 タグ: 2017年版ソースエディター |
→インタプリタ: 敬体に統一 タグ: 2017年版ソースエディター |
||
131 行
プログラムを処理するためのソフトウェアを'''言語処理系'''と呼び、言語処理系は[[#インタプリタ|インタプリタ]]と[[#コンパイラ|コンパイラ]]に大別されます。
=== インタープリター ===
インタープリターとは、プログラミング言語で書かれたソースコードや中間形式を逐次解釈しながら実行するプログラムのことです。
'''スクリプト言語'''と呼ばれる言語は、おおむねインタープリター方式を採用しています。
言語処理系の主要な実装がインタープリターなプログラミング言語を'''インタープリター型言語'''(''Interpretive language'')と呼びます。
インタープリター型言語には
* [[Lisp]]
* [[JavaScript]]
144 行
などがあります。
手軽に書いてすぐ実行できるというメリットがある反面、プログラムの実行時に毎回解釈をする必要があるのでプログラムの実行速度はコンパイル方式のプログラミング言語に実行速度が劣る場合があります<ref>インタープリターは実行時に「どの部分が多く実行されたか?」「分岐命令でどちらに多く分岐したか?」などの実行時統計情報を容易に手に入れることができ、これらに基づき[[W:実行時コンパイラ|実行時コンパイラ]](JIT)による最適化が可能となり
インタープリター方式を採用した言語の処理系は、ソースコードを直接実行するのでプログラムを書
=== コンパイラ ===
|