compilerとは? わかりやすく解説

コンパイラ

【英】compiler

コンパイラとは、特定のプログラミング言語記述されソースコード読み込みターゲットとなるコンピュータ、あるいは、バーチャルマシン直接実行できる命令語に変換するソフトウェアのことである。

ソフトウェア開発用いられるプログラミング言語には、アセンブラ言語のような水準のもの(低級言語)から、より人間に近い表現が可能であるFortranCOBOLC言語、C++PascalJavaC#といった高水準言語高級言語)まで多種である。高級言語プログラム作成した場合、そのソースコードは、計算機直接実行することはできないコンピュータ実行指示するためには、CPU解釈できる機械語記述され実行プログラムを、あらかじめ記憶装置格納しておいてから計算機動作開始させる必要がある。コンパイラは、あらかじめ高級言語ソースコード読み込み実行対象となる計算機CPU解釈可能な機械語へと変換するために用いられる

コンパイラを用いてソースコード機械語変換する処理そのものは、コンパイル呼ばれる

コンパイラが、最終ターゲットであるCPU固有の機械語出力する場合、そのコンパイラは特にネイティブコンパイラと呼ばれ、その処理はネイティブコンパイルと呼ばれる対してJava仮想マシンのような仮想的な論理計算機をターゲットにしてコンパイルを行うようなコンパイラは、中間言語コンパイラと呼ばれる中間言語コンパイラにより出力された、中間言語プログラム実行するのは、ネイティブ計算機ではなくJava仮想マシンのようなインタープリタということになる。インタープリタ実行時に、中間言語一部部分的にネイティブ機械語変換してから実行する場合は、動的コンパイル、あるいはジャストインタイムコンパイル呼ばれる動的コンパイルに対して通常のコンパイルは、実行先立ってあらかじめコンパイルしておくという意味で、事前コンパイルプリコンパイル)と呼ばれる

プログラミング言語のうち、高級言語用いて作成されプログラムは、特定のターゲットCPU依存しないコンパイル時にターゲットCPU向けのコンパイラを用いることにより、特定CPU向けの実行コードを得ることができるため、最終的に任意の計算機実行できることになる。なお、中間言語方式のコンパイラの場合コンパイル作業自体1回だけ行えば、同じ中間言語プログラムさまざまな計算機上で実行することができる。この場合、コンパイラは1種類で済むものの、コンパイル結果中間言語プログラム解釈実行するインタープリタ、あるいは仮想計算機が、ターゲットとなる計算機種類の分だけ用意する必要がある

ソフトウェア規模ある程度以上となる場合ソフトウェアモジュール分割してモジュールごとにコンパイルを行うこともある。この作業は、特に分割コンパイル呼ばれる分割コンパイル行った場合、その出力としてオブジェクトコード呼ばれるモジュール単位出力得られる実行に際しては、出力されオブジェクトコード一つにまとめ上げ実行形式ファイル作成する必要があるこのような操作がリンクと呼ばれる。リンクにより、モジュールごとに記述されている変数コード相互に参照できるように相対アドレスの解決を行う。

なお、世界で最初に実用化されたコンパイラは、1957年開発されFortranコンパイラである。1960年には、複数アーキテクチャ対応したCOBOLコンパイラが開発された。1962年には、LISP言語記述されLISPコンパイラで自分自身コンパイルするセルフホスティングコンパイラが初め開発されている。

プログラミングのほかの用語一覧
開発環境:  逆コンパイル  共有ライブラリ  行番号  コンパイラ  コンパイル  コンパイルエラー  クラスライブラリ

Compiler クラス

メモ : このクラスは、互換性のために残されています。

名前空間: Microsoft.CSharp
アセンブリ: cscompmgd (cscompmgd.dll 内)
構文構文

<ObsoleteAttribute("The recommended alternative is Microsoft.CSharp.CSharpCodeProvider
 and System.CodeDom.Compiler.ICodeCompiler.  The CSharpCodeProvider and CodeDom
 ICodeCompiler provide a much richer set of functionality for specifying how to launch the compiler.")> _
Public Class Compiler
[ObsoleteAttribute("The recommended alternative is Microsoft.CSharp.CSharpCodeProvider
 and System.CodeDom.Compiler.ICodeCompiler.  The CSharpCodeProvider and CodeDom
 ICodeCompiler provide a much richer set of functionality for specifying how to launch the compiler.")] 
public class Compiler
[ObsoleteAttribute(L"The recommended alternative is Microsoft.CSharp.CSharpCodeProvider
 and System.CodeDom.Compiler.ICodeCompiler.  The CSharpCodeProvider and CodeDom
 ICodeCompiler provide a much richer set of functionality for specifying how to launch the compiler.")] 
public ref class Compiler
/** @attribute ObsoleteAttribute("The recommended alternative is Microsoft.CSharp.CSharpCodeProvider
 and System.CodeDom.Compiler.ICodeCompiler.  The CSharpCodeProvider and CodeDom
 ICodeCompiler provide a much richer set of functionality for specifying how to launch the compiler.") */ 
public class Compiler
ObsoleteAttribute("The recommended alternative is Microsoft.CSharp.CSharpCodeProvider
 and System.CodeDom.Compiler.ICodeCompiler.  The CSharpCodeProvider and CodeDom
 ICodeCompiler provide a much richer set of functionality for specifying how to launch the compiler.") 
public class Compiler
継承階層継承階層
System.Object
  Microsoft.CSharp.Compiler
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Compiler メンバ
Microsoft.CSharp 名前空間

Compiler クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

Web アプリケーションコンパイル インフラストラクチャサポートするために使用されるコンパイラ定義します。このクラス継承できません。

名前空間: System.Web.Configuration
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public NotInheritable Class
 Compiler
    Inherits ConfigurationElement
public sealed class Compiler : ConfigurationElement
public ref class Compiler sealed : public
 ConfigurationElement
public final class Compiler extends ConfigurationElement
public final class Compiler extends
 ConfigurationElement
解説解説
使用例使用例
継承階層継承階層
System.Object
   System.Configuration.ConfigurationElement
    System.Web.Configuration.Compiler
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Compiler メンバ
System.Web.Configuration 名前空間

Compiler コンストラクタ


Compiler コンストラクタ

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

指定した値に初期化された Compiler のインスタンス作成します

名前空間: System.Web.Configuration
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Sub New ( _
    compilerOptions As String, _
    extension As String, _
    language As String, _
    type As String, _
    warningLevel As Integer _
)
Dim compilerOptions As String
Dim extension As String
Dim language As String
Dim type As String
Dim warningLevel As Integer

Dim instance As New Compiler(compilerOptions,
 extension, language, type, warningLevel)
public Compiler (
    string compilerOptions,
    string extension,
    string language,
    string type,
    int warningLevel
)
public:
Compiler (
    String^ compilerOptions, 
    String^ extension, 
    String^ language, 
    String^ type, 
    int warningLevel
)
public Compiler (
    String compilerOptions, 
    String extension, 
    String language, 
    String type, 
    int warningLevel
)
public function Compiler (
    compilerOptions : String, 
    extension : String, 
    language : String, 
    type : String, 
    warningLevel : int
)

パラメータ

compilerOptions

コンパイル時に渡す追加コンパイラ固有オプション指定します

extension

動的分離コード ファイル使用されるファイル名拡張子セミコロン区切りリスト指定します。たとえば、".cs" と指定します

language

動的コンパイル ファイル使用される言語セミコロン区切りリスト指定します。たとえば、"c#;cs;csharp" と指定します

type

クラスまたはアセンブリコンマ区切り組み合わせ (.NET Framework クラスを示す) を指定します

warningLevel

コンパイラ警告レベル指定します

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Compiler クラス
Compiler メンバ
System.Web.Configuration 名前空間

Compiler プロパティ


パブリック プロパティパブリック プロパティ

( プロテクト プロパティ参照)
  名前 説明
パブリック プロパティ CompilerOptions コンパイル時に使用されるコンパイラ固有のオプションリスト取得します
パブリック プロパティ ElementInformation  ConfigurationElement オブジェクトカスタマイズできない情報機能格納する ElementInformation オブジェクト取得します。 ( ConfigurationElement から継承されます。)
パブリック プロパティ Extension 動的分離コード ファイル使用されるファイル名拡張子リスト指定します
パブリック プロパティ Language 動的コンパイル ファイル使用されるプログラミング言語リスト取得します
パブリック プロパティ LockAllAttributesExcept  ロックされている属性コレクション取得します。 ( ConfigurationElement から継承されます。)
パブリック プロパティ LockAllElementsExcept  ロックされている要素コレクション取得します。 ( ConfigurationElement から継承されます。)
パブリック プロパティ LockAttributes  ロックされている属性コレクション取得します。 ( ConfigurationElement から継承されます。)
パブリック プロパティ LockElements  ロックされている要素コレクション取得します。 ( ConfigurationElement から継承されます。)
パブリック プロパティ LockItem  要素ロックされているかどうかを示す値を取得または設定します。 ( ConfigurationElement から継承されます。)
パブリック プロパティ Type 動的コンパイル ファイル言語プロバイダコンパイラ種類を示す名前を取得します
パブリック プロパティ WarningLevel コンパイラ警告レベル取得します
プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ ElementProperty  ConfigurationElement オブジェクト自体を表す ConfigurationElementProperty オブジェクト取得します。 ( ConfigurationElement から継承されます。)
プロテクト プロパティ EvaluationContext  ConfigurationElement オブジェクトの ContextInformation オブジェクト取得します。 ( ConfigurationElement から継承されます。)
プロテクト プロパティ Item  オーバーロードされます。 この ConfigurationElement オブジェクトプロパティ属性、または子要素取得または設定します。 ( ConfigurationElement から継承されます。)
プロテクト プロパティ Properties  プロパティコレクション取得します。 ( ConfigurationElement から継承されます。)
参照参照

関連項目

Compiler クラス
System.Web.Configuration 名前空間

Compiler メソッド


Compiler メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
  名前 説明
プロテクト メソッド DeserializeElement  構成ファイルから XML読み取ります。 ( ConfigurationElement から継承されます。)
プロテクト メソッド Finalize  Objectガベージ コレクションにより収集される前に、その Objectリソース解放しその他のクリーンアップ操作実行できるようにします。 ( Object から継承されます。)
プロテクト メソッド Init  ConfigurationElement オブジェクト初期状態設定します。 ( ConfigurationElement から継承されます。)
プロテクト メソッド InitializeDefault  ConfigurationElement オブジェクト既定の値セット初期化するために使用します。 ( ConfigurationElement から継承されます。)
プロテクト メソッド IsModified  派生クラス実装された場合、この構成要素最後保存または読み込み以降変更されたかどうかを示します。 ( ConfigurationElement から継承されます。)
プロテクト メソッド ListErrors  この ConfigurationElement オブジェクトおよびすべてのサブ要素無効なプロパティエラーを、渡されリスト追加します。 ( ConfigurationElement から継承されます。)
プロテクト メソッド MemberwiseClone  現在の Object簡易コピー作成します。 ( Object から継承されます。)
プロテクト メソッド OnDeserializeUnrecognizedAttribute  逆シリカル化中に不明な属性発生したかどうかを示す値を取得します。 ( ConfigurationElement から継承されます。)
プロテクト メソッド OnDeserializeUnrecognizedElement  逆シリカル化中に不明な要素発生したかどうかを示す値を取得します。 ( ConfigurationElement から継承されます。)
プロテクト メソッド OnRequiredPropertyNotFound  必須プロパティが見つからなかったかどうかを示す値を取得します。 ( ConfigurationElement から継承されます。)
プロテクト メソッド PostDeserialize  シリアル化後に呼び出されます。 ( ConfigurationElement から継承されます。)
プロテクト メソッド PreSerialize  シリアル化前に呼び出されます。 ( ConfigurationElement から継承されます。)
プロテクト メソッド Reset  ConfigurationElement オブジェクト内部状態 (ロックプロパティ コレクションなど) をリセットします。 ( ConfigurationElement から継承されます。)
プロテクト メソッド ResetModified  派生クラス実装された場合、IsModified メソッドの値を falseリセットします。 ( ConfigurationElement から継承されます。)
プロテクト メソッド SerializeElement  派生クラス実装されている場合、この構成要素内容構成ファイル書き込みます。 ( ConfigurationElement から継承されます。)
プロテクト メソッド SerializeToXmlElement  派生クラス実装されている場合、この構成要素外側タグ構成ファイル書き込みます。 ( ConfigurationElement から継承されます。)
プロテクト メソッド SetPropertyValue  プロパティ指定した値に設定します。 ( ConfigurationElement から継承されます。)
プロテクト メソッド SetReadOnly  ConfigurationElement オブジェクトおよびすべてのサブ要素に IsReadOnly プロパティ設定します。 ( ConfigurationElement から継承されます。)
プロテクト メソッド Unmerge  保存しないすべての値を削除するには、ConfigurationElement オブジェクト変更します。 ( ConfigurationElement から継承されます。)
参照参照

関連項目

Compiler クラス
System.Web.Configuration 名前空間

Compiler メンバ


Compiler メンバ

Web アプリケーションコンパイル インフラストラクチャサポートするために使用されるコンパイラ定義します。このクラス継承できません。

Compiler データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド Compiler 指定した値に初期化された Compiler のインスタンス作成します
パブリック プロパティパブリック プロパティ
( プロテクト プロパティ参照)
  名前 説明
パブリック プロパティ CompilerOptions コンパイル時に使用されるコンパイラ固有のオプションリスト取得します
パブリック プロパティ ElementInformation  ConfigurationElement オブジェクトカスタマイズできない情報機能格納する ElementInformation オブジェクト取得します。 (ConfigurationElement から継承されます。)
パブリック プロパティ Extension 動的分離コード ファイル使用されるファイル名拡張子リスト指定します
パブリック プロパティ Language 動的コンパイル ファイル使用されるプログラミング言語リスト取得します
パブリック プロパティ LockAllAttributesExcept  ロックされている属性コレクション取得します。(ConfigurationElement から継承されます。)
パブリック プロパティ LockAllElementsExcept  ロックされている要素コレクション取得します。(ConfigurationElement から継承されます。)
パブリック プロパティ LockAttributes  ロックされている属性コレクション取得します。 (ConfigurationElement から継承されます。)
パブリック プロパティ LockElements  ロックされている要素コレクション取得します。(ConfigurationElement から継承されます。)
パブリック プロパティ LockItem  要素ロックされているかどうかを示す値を取得または設定します。(ConfigurationElement から継承されます。)
パブリック プロパティ Type 動的コンパイル ファイル言語プロバイダコンパイラ種類を示す名前を取得します
パブリック プロパティ WarningLevel コンパイラ警告レベル取得します
プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ ElementProperty  ConfigurationElement オブジェクト自体を表す ConfigurationElementProperty オブジェクト取得します。(ConfigurationElement から継承されます。)
プロテクト プロパティ EvaluationContext  ConfigurationElement オブジェクトの ContextInformation オブジェクト取得します。(ConfigurationElement から継承されます。)
プロテクト プロパティ Item  オーバーロードされます。 この ConfigurationElement オブジェクトプロパティ属性、または子要素取得または設定します。(ConfigurationElement から継承されます。)
プロテクト プロパティ Properties  プロパティコレクション取得します。(ConfigurationElement から継承されます。)
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
  名前 説明
プロテクト メソッド DeserializeElement  構成ファイルから XML読み取ります。 (ConfigurationElement から継承されます。)
プロテクト メソッド Finalize  Objectガベージ コレクションにより収集される前に、その Objectリソース解放しその他のクリーンアップ操作実行できるようにします。 (Object から継承されます。)
プロテクト メソッド Init  ConfigurationElement オブジェクト初期状態設定します。 (ConfigurationElement から継承されます。)
プロテクト メソッド InitializeDefault  ConfigurationElement オブジェクト既定の値セット初期化するために使用します。 (ConfigurationElement から継承されます。)
プロテクト メソッド IsModified  派生クラス実装された場合、この構成要素最後保存または読み込み以降変更されたかどうかを示します。 (ConfigurationElement から継承されます。)
プロテクト メソッド ListErrors  この ConfigurationElement オブジェクトおよびすべてのサブ要素無効なプロパティエラーを、渡されリスト追加します。 (ConfigurationElement から継承されます。)
プロテクト メソッド MemberwiseClone  現在の Object簡易コピー作成します。 (Object から継承されます。)
プロテクト メソッド OnDeserializeUnrecognizedAttribute  逆シリカル化中に不明な属性発生したかどうかを示す値を取得します。 (ConfigurationElement から継承されます。)
プロテクト メソッド OnDeserializeUnrecognizedElement  逆シリカル化中に不明な要素発生したかどうかを示す値を取得します。 (ConfigurationElement から継承されます。)
プロテクト メソッド OnRequiredPropertyNotFound  必須プロパティが見つからなかったかどうかを示す値を取得します。 (ConfigurationElement から継承されます。)
プロテクト メソッド PostDeserialize  シリアル化後に呼び出されます。 (ConfigurationElement から継承されます。)
プロテクト メソッド PreSerialize  シリアル化前に呼び出されます。 (ConfigurationElement から継承されます。)
プロテクト メソッド Reset  ConfigurationElement オブジェクト内部状態 (ロックプロパティ コレクションなど) をリセットします。 (ConfigurationElement から継承されます。)
プロテクト メソッド ResetModified  派生クラス実装された場合、IsModified メソッドの値を falseリセットします。 (ConfigurationElement から継承されます。)
プロテクト メソッド SerializeElement  派生クラス実装されている場合、この構成要素内容構成ファイル書き込みます。 (ConfigurationElement から継承されます。)
プロテクト メソッド SerializeToXmlElement  派生クラス実装されている場合、この構成要素外側タグ構成ファイル書き込みます。 (ConfigurationElement から継承されます。)
プロテクト メソッド SetPropertyValue  プロパティ指定した値に設定します。 (ConfigurationElement から継承されます。)
プロテクト メソッド SetReadOnly  ConfigurationElement オブジェクトおよびすべてのサブ要素に IsReadOnly プロパティ設定します。 (ConfigurationElement から継承されます。)
プロテクト メソッド Unmerge  保存しないすべての値を削除するには、ConfigurationElement オブジェクト変更します。 (ConfigurationElement から継承されます。)
参照参照

関連項目

Compiler クラス
System.Web.Configuration 名前空間

Compiler

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/08/11 19:11 UTC 版)

Compiler』(コンパイラ)は、麻宮騎亜による日本漫画。『月刊アフタヌーン』(講談社)に連載されていた。続編に、『アセンブラ0X』(アセンブラゼロエックス)と、読切の『Compiler FINAL(検討中)』があるほか、『ヤングキングアワーズ少年画報社)にて『元祖コンパイラ』が2021年11月号から連載中。




「Compiler」の続きの解説一覧



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「compiler」の関連用語

compilerのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



compilerのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
OSS iPediaOSS iPedia
Copyright © Information-technology Promotion Agency, Japan. All rights reserved 2006-2024
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2024 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリコンパイラの記事を利用しております。
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのCompiler (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS