copyright© 2007 school of computer science, tokyo university of technology 言語プロセッサ...

28
Copyright© 2007 School of Computer Science, Tokyo University of T 言言言言言言言 2007 言言 19 言 26 言 言言 () 言言言言言言 言言言言言言言言言言言言言 言言言言

Upload: elwin-armstrong

Post on 13-Dec-2015

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

言語プロセッサ 2007平成 19 年9月 26 日(水)

東京工科大学コンピュータサイエンス学部

亀田弘之

Page 2: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

Page 3: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

情報システム

Page 4: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

Page 5: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

セキュリティネットワーク

モバイル

複雑だなぁ複雑だなぁ

Page 6: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

Divide and Conquer

(困難は分割し、しかる後に統合せよ!)

Page 7: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

何が基本なのかなぁ?何が基本なのかなぁ?

Page 8: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

ディスプレイ

キーボード

本体

Page 9: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

出力 (Output)

入力 (Input)

処理

Page 10: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

• 本体内部が大切!

Page 11: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

Page 12: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

Page 13: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

Page 14: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

Page 15: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

Page 16: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

高水準言語 ー> 論理回路

main( ){

int a;

a = 1;

printf(“%d”,a);

}

??

高 水 準 言 語

論 理 回 路

Page 17: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

論理回路

Page 18: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

言語プロセッサとは高水準言語によるプログラム  (処理手順の記述 , 命令群)  -> 論理回路制御指令群        

(注)・命令: command   ・指令: instruction

Page 19: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

言語プロセッサとは高水準言語によるプログラム  (処理手順の記述 , 命令群)  -> 論理回路制御指令群        

(注)・命令: command   ・指令: instruction

言語プロセッサ

Page 20: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

C言語・ Java 言語アセンブリ言語

Page 21: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

main(){

}

Page 22: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

$ cat p01.s .file "p01.c" .def ___main; .scl 2; .type 32; .endef .text.globl _main .def _main; .scl 2; .type 32; .endef_main: pushl %ebp movl %esp, %ebp subl $8, %esp andl $-16, %esp movl $0, %eax movl %eax, -4(%ebp) movl -4(%ebp), %eax call __alloca call ___main leave ret

Page 23: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

main(){

int a;

a = 20;

a = a + 30;

a = 100 - a;

a = a*7;

}

Page 24: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

$ cat p01.s .file "p01.c" .def ___main; .scl 2; .type

32; .endef .text.globl _main .def _main; .scl 2; .type 32;

.endef_main: pushl %ebp movl %esp, %ebp subl $8, %esp andl $-16, %esp movl $0, %eax movl %eax, -8(%ebp) movl -8(%ebp), %eax call __alloca call ___main

movl $20, -4(%ebp) leal -4(%ebp), %eax addl $30, (%eax) movl $100, %eax subl -4(%ebp), %eax movl %eax, -4(%ebp) movl -4(%ebp), %edx movl %edx, %eax sall $3, %eax subl %edx, %eax movl %eax, -4(%ebp) leave ret

Page 25: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

• $ gcc -S filename.c

• $ ls

• $ cat filename.s

Page 26: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

ソース言語

読み込み

字句解析

構文解析

中間語生成

コード生成

目的言語

Page 27: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

言語プロセッサの種類1. インタープリタ ( interpreter )2. コンパイラ (compiler)

Page 28: Copyright© 2007 School of Computer Science, Tokyo University of Technology 言語プロセッサ 2007 平成 19 年9月 26 日(水) 東京工科大学 コンピュータサイエンス学部

Copyright© 2007 School of Computer Science, Tokyo University of Technology

コンパイラの処理(例)• X = Y*3.14 + X/Y

• A = (A + B)*C + B