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

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

  • Upload
    jorryn

  • View
    157

  • Download
    0

Embed Size (px)

DESCRIPTION

言語プロセッサ 2007 平成 19 年9月 26 日(水). 東京工科大学 コンピュータサイエンス学部 亀田弘之. 情報システム. 複雑だなぁ. セキュリティ. ネットワーク. モバイル. Divide and Conquer (困難は分割し、しかる後に統合せよ!). 何が基本なのかなぁ?. ディスプレイ. 本体. キーボード. 出力 (Output). 処理. 入力 (Input). 本体内部が大切!. main( ){ int a; a = 1; printf(“%d”,a); }. 高水準言語 ー> 論理回路. ?. - PowerPoint PPT Presentation

Citation preview

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

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

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

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

亀田弘之

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

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

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

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

情報システム

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

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

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

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

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

モバイル

複雑だなぁ複雑だなぁ

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

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

Divide and Conquer

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

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

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

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

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

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

ディスプレイ

キーボード

本体

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

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

出力 (Output)

入力 (Input)

処理

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

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

• 本体内部が大切!

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

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

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

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

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

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

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

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

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

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

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

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

高水準言語 ー> 論理回路

main( ){

int a;

a = 1;

printf(“%d”,a);

}

??

高 水 準 言 語

論 理 回 路

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

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

論理回路

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

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

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

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

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

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

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

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

言語プロセッサ

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

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

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

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

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

main(){

}

Page 22: 言語プロセッサ 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: 言語プロセッサ 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: 言語プロセッサ 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: 言語プロセッサ 2007 平成 19 年9月 26 日(水)

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

• $ gcc -S filename.c

• $ ls

• $ cat filename.s

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

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

ソース言語

読み込み

字句解析

構文解析

中間語生成

コード生成

目的言語

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

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

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

Page 28: 言語プロセッサ 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