teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

修正

2016/10/17 18:09

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -39,7 +39,7 @@
39
39
  > コンパイラ型はコンパイルによってソースコードとは別の「実行ファイル」を作成するのに対して
40
40
  インタプリタ型はコンパイルしないので、ソースコードを解釈することによってそのソースコード自体が「実行ファイル」となる、という解釈で合っていますか?
41
41
 
42
- インタプリタは、「実行ファイル」を作成しない代わりに、ソースコードを翻訳してOSに対して実行指示と結果をやり取りしますので、ソースコード自体が実行ファイルとは言えます。「実行ファイル」ではありますが、スクリプトと呼ばれた方が良いと思われます。(誤解されない)
42
+ インタプリタは、「実行ファイル」を作成しない代わりに、ソースコードを翻訳してOSに対して実行指示と結果をやり取りしますので、ソースコード自体が実行ファイルとは言えます。「実行ファイル」ではありますが、スクリプトと呼ばれた方が良いと思われます。(誤解されない)
43
43
 
44
44
 
45
45
  > スクリプト言語は「逐次(1行ずつ)コンパイル」しながら実行する、ということですが

2

追加

2016/10/17 18:09

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -29,4 +29,27 @@
29
29
  この翻訳工程は実行する度に行うのでコンパイラの一回に比べると遅くなる要因です。
30
30
 
31
31
  例え話ばかりで失礼しました。
32
- ```
32
+ ```
33
+
34
+ > 「コンパイラは、プログラム言語で書かれているものを翻訳して機械言語本を作成します。」
35
+ この「機械言語本」は「実行ファイル」ということで良いですか?
36
+
37
+ そう考えて良いと思います。WindowsOSの場合の.exeです。
38
+
39
+ > コンパイラ型はコンパイルによってソースコードとは別の「実行ファイル」を作成するのに対して
40
+ インタプリタ型はコンパイルしないので、ソースコードを解釈することによってそのソースコード自体が「実行ファイル」となる、という解釈で合っていますか?
41
+
42
+ インタプリタは、「実行ファイル」を作成しない代わりに、ソースコードを翻訳してOSに対して実行指示と結果をやり取りしますので、ソースコード自体が実行ファイルとは言えます。「実行ファイル」ではありますが、スクリプトと呼ばれた方が良いと思われます。(誤解されにない)
43
+
44
+
45
+ > スクリプト言語は「逐次(1行ずつ)コンパイル」しながら実行する、ということですが
46
+
47
+ 「1行づつ」と有ります。見方としてスクリプト言語の多くは、「実行文づつ」する見方もお薦めです。
48
+ 内側の実行文(コマンド、関数、ルーチン)から実行される結果が外側へと伝わるイメージです。
49
+
50
+ ```
51
+ イメージです
52
+ 実行文A(実行文B(実行文C)));
53
+ ```
54
+
55
+

1

変更

2016/10/17 18:05

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -17,7 +17,7 @@
17
17
  この翻訳の役目をしているのがコンパイラ、インタプリタ(スクリプト言語)です。
18
18
  まず、コンパイラは、プログラム言語で書かれているものを翻訳して機械言語本を作成します。
19
19
  インタプリタは、プログラムソース本を見ながら機械語でコンピュータと話ます。
20
- (余談ですが、StarWARsの3POもバイナリが話せると言ってました)
20
+ (余談ですが、StarWARsのC3POもバイナリが話せると言ってました)
21
21
 
22
22
  ◆C言語、PHP言語
23
23
  c言語で言うとコンパイラは、c言語ソースから機械言語の実行形式を作成します。後はコンピュータ自身が読込み実行します。