Presentation is loading. Please wait.

Presentation is loading. Please wait.

第6回放送授業.

Similar presentations


Presentation on theme: "第6回放送授業."— Presentation transcript:

1 第6回放送授業

2 「ソフトウェアのしくみ」

3 7 高水準プログラム言語

4 7.1 高水準プログラム言語の種類

5 手続き型プログラム言語 オブジェクト指向プログラム言語 関数型プログラム言語 論理プログラム言語 その他、問い合わせ型言語や スクリプト言語など

6 7.2 手続き型プログラム言語

7 C、Fortran、Basic など もっとも多い
構造化プログラミングとする モジュール化する 大域変数をなるべく使わない モジュール間のやりとりは、引数、戻り値を利用し、明示的に

8 7.3 オブジェクト指向 プログラム言語

9 C++、SmallTalk、Java、Python、Ruby、Perl など
手続き型言語を兼ねるものが多い Object とは Method

10 7.4 関数型プログラム言語

11 Lisp など 参照透明性がある 副作用がない(厳密には守られない ことが多い) 第一級関数である SUM(5, MULTI(3, 2), 1) (SUM 5 (MULTI 3 2) 1)←LISP

12 7.5 論理プログラム言語

13 Prologなど 三段論法 人間 ( ソクラテス ). 死ぬ (X) :- 人間 (X). ?- 死ぬ ( ソクラテス ).

14 その他スクリプトなど Windows のコマンド Web の Java スクリプト PHP など

15 7.6 Web に適合した言語

16 文字列処理を得意とした言語 Perl,Python,Ruby,PHP,Javaなど

17 7.7 コンパイラとインタプリタ

18 コンパイラの仕事 ソースプログラム ↓ コンパイラ(インタプリタ) 目的プログラム(機械語) ↓ ライブラリーのリンク 実行プログラム

19 中間言語 ソースプログラム ↓ 第1フェーズ    トークンへの分離    構文解析(構文木作成) 中間表現 ↓ 第2フェーズ    制御の解析    最適化 目的プログラム

20 トークンへの分離 [’A’-’Z’’a’-’z’][’A’-’Z’’a’-’z’’0’-’9’]*
構文チェック:バッカス・ナウア記法 list ::= ’(’ expression* ’)’ expression ::= atom | list atom ::= number | symbol number ::= [+-]?[’0’-’9’]+ symbol ::= [’A’-’Z’’a’-’z’].*

21 構文木作成 中間表現生成

22 アセンブラー言語生成 ジャンプの解析 簡単な最適化 機械語生成

23 ライブラリーリンク 実行プログラム生成

24 7.8 デバグ

25 bug(虫) debug debugger


Download ppt "第6回放送授業."

Similar presentations


Ads by Google