2015 Language Processors 2015 27 928 28 120
- Slides: 87
言語プロセッサ 2015 Language Processors 2015 平成 27年 9月28日(月)~ 平成 28年 1月20日(木) 東京 科大学 コンピュータサイエンス学部 亀田弘之 url: kameken. clique. jp/Lectures 2015/Compiler 2015/
まずはイントロから… • なぜ言語プロセッサを学ぶのか? (Why do we study a course 言語プロセッサ ? ) Copyright© 2015 School of Computer Science, Tokyo University of Technology 2
Copyright© 2015 School of Computer Science, Tokyo University of Technology 3
(参考)これからはIo. Tの時代 1. Io. T Japan 2014 (10月15日~ 17日開催) http: //itpro. nikkeibp. co. jp/expo/2014/iot/ 2. Io. Tの概要図 (出典)http: //tocos-wireless. com/jp/tech/Internet_of_Things. html Copyright© 2015 School of Computer Science, Tokyo University of Technology 4
情報システム Copyright© 2015 School of Computer Science, Tokyo University of Technology 5
Copyright© 2015 School of Computer Science, Tokyo University of Technology 6
複雑だなぁ セキュリティ ネットワーク クラウドコンピューティング モバイル Copyright© 2015 School of Computer Science, Tokyo University of Technology 7
Divide and Conquer (困難は分割し、しかる後に統合せよ!) Copyright© 2015 School of Computer Science, Tokyo University of Technology 8
何が基本な のかなぁ? Copyright© 2015 School of Computer Science, Tokyo University of Technology 9
ディスプレイ 本体 キーボード Copyright© 2015 School of Computer Science, Tokyo University of Technology 10
出力 (Output) 処理 入力 (Input) Copyright© 2015 School of Computer Science, Tokyo University of Technology 11
• 本体内部 が大切! Copyright© 2015 School of Computer Science, Tokyo University of Technology 12
Copyright© 2015 School of Computer Science, Tokyo University of Technology 14
コンピュータの階層化モデル Examples Application Software Program Operating System Device Driver Instr. Set Architecture Instruction set & Register Micro Architecture Data Bus, Controller Logic Module Adder, Register Digital Circuit AND Gate, OR Gate Analog Circuit Amplifier, Filter Devices (elements) Diode, Transistor Physics (Electron etc. ) Electron, Photon Copyright© 2015 School of Computer Science, Tokyo University of Technology 15
Copyright© 2015 School of Computer Science, Tokyo University of Technology 16
Copyright© 2015 School of Computer Science, Tokyo University of Technology 17
Copyright© 2015 School of Computer Science, Tokyo University of Technology 18
高水準言語 main( ){ int a; a = 1; printf(“%d”, a); } ー> 論理回路 ? 高水準言語 論理回路 Copyright© 2015 School of Computer Science, Tokyo University of Technology 19
論理回路 Copyright© 2015 School of Computer Science, Tokyo University of Technology 20
C言語・Java言語 アセンブリ言語 Copyright© 2015 School of Computer Science, Tokyo University of Technology 23
main(){ } Copyright© 2015 School of Computer Science, Tokyo University of Technology 24
$ cat p 01. s. file "p 01. 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 Copyright© 2015 School of Computer Science, Tokyo University of Technology 25
main(){ int a; a = 20; a = a + 30; a = 100 - a; a = a*7; } Copyright© 2015 School of Computer Science, Tokyo University of Technology 26
$ cat p 01. s. file "p 01. 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 Copyright© 2015 School of Computer Science, Tokyo University of Technology 27
• $ gcc -S filename. c • $ ls • $ cat filename. s Copyright© 2015 School of Computer Science, Tokyo University of Technology 28
言語プロセッサの種類 1. インタープリタ (interpreter) 2. コンパイラ (compiler) Copyright© 2015 School of Computer Science, Tokyo University of Technology 30
数式の例 • A = B*3. 14 + C/A • Area = 2*3. 14*R*R Copyright© 2015 School of Computer Science, Tokyo University of Technology 32
数式の解析 • kingaku = teika + teika * shouhizei Copyright© 2015 School of Computer Science, Tokyo University of Technology 33
数式の解析 1. 読み込み(文字列として) “kingaku = teika + teika * shouhizei” 2. 要素(token)の切り出し “kingaku”, “=“, “teika”, “+”, “*”, “shouhizei” 3. 要素の相互関係の分析 = kingaku + teika * teika shouhizei Copyright© 2015 School of Computer Science, Tokyo University of Technology 34
ソース言語 読み込み 字句解析 分析 構文解析 中間語生成 合成 コード生成 目的言語 Copyright© 2015 School of Computer Science, Tokyo University of Technology 35
数式の解析 1. 読み込み(文字列として) “kingaku = teika + teika * shouhizei” 2. 要素(token)の切り出し “kingaku”, “=“, “teika”, “+”, “*”, “shouhizei” 3. 要素の相互関係の分析 = kingaku + teika * teika of Technology shouhizei Copyright© 2015 School of Computer Science, Tokyo University 36
数式の解析 1. 読み込み(文字列として) “kingaku = teika + teika * shouhizei” 2. 要素(token)の切り出し “kingaku”, “=“, “teika”, “+”, “*”, “shouhizei” 3. 要素の相互関係の分析 = kingaku + teika * teika of Technology shouhizei Copyright© 2015 School of Computer Science, Tokyo University 37
数式の解析 1. 読み込み(文字列として) “kingaku = teika + teika * shouhizei” 2. 要素(token)の切り出し “kingaku”, “=“, “teika”, “+”, “*”, “shouhizei” 3. 要素の相互関係の分析 = kingaku + teika * teika of Technology shouhizei Copyright© 2015 School of Computer Science, Tokyo University 38
数式の解析 1. 読み込み(文字列として) 読み込み “kingaku = teika + teika * shouhizei” 2. 要素(token)の切り出し 字句解析 “kingaku”, “=“, “teika”, “+”, “*”, “shouhizei” 3. 要素の相互関係の分析 構文解析 = kingaku + teika * teika of Technology shouhizei Copyright© 2015 School of Computer Science, Tokyo University 39
もう一度具体例で確認 program daikei(input, output); var abc, xyz, t: integer; begin write('abc xyz = '); read(abc, xyz); abc : = xyz + abc * 123; writeln('result = ', abc) end. 言語プロセッサ 2015 東京 科大学CS学部 (担当 亀田弘之) 46
- Auto dealership compliance training
- Language and processors for requirement
- 120px x 120px
- 100+80+40
- Programming massively parallel processors
- Linear vs nonlinear pipelining
- Interrupt handling in arm processors
- The history of cpu
- Handlers classification in parallel computing
- Digital camera processors
- Advantages and disadvantages of intel processors
- Embeded processors
- Embedded innovator winter 2010
- Comparison of word processors
- Characteristics of query processor
- Parallel processors from client to cloud
- Programming massively parallel processors
- Massively parallel processing ppt
- Gas processors association
- Gstreamer architecture
- Network systems design using network processors
- Macro expansion in system software
- Superscalar machine
- Macro instruction arguments
- What is telecommunication network
- Programming massively parallel processors, kirk et al.
- öklit bağıntıları
- 80 nin yüzde 80'i kaçtır
- A caterer charges $120 to cater a party
- Site characterization hazwoper
- Kov-21 error
- Seorang peternak memelihara 120 ekor ayam
- Common factors of 72 and 120
- 120 prime factorization
- Salmo 120
- Etops 120 map
- Knb-120
- Nia 120
- 75 15 90 üçgeni
- 120 prime factorization
- Ac 120-51
- En una fiesta donde había 120 personas a 30 hombres
- Orac spice reflusso
- 120/240 open delta
- Acq 120 answers
- Mstb 120
- 120/80 prehypertension
- Hurley phantom 120
- Insulina basal valores normales
- Ece 220 wiki
- Decreto 120/98
- Moivre's theorem complex numbers
- 350-170-120
- Cmpt 120
- Ac 120-16
- Hretic
- 150+90+120
- Magic triangle trigonometry
- 29 cfr 1910 120
- кут 120
- How is 120 700 written in scientific notation
- Aynı doğrultulu ve zıt yönlü iki vektörün
- Diretamente proporcional
- Bir otobüsteki 120 yolcunun 34 tanesi 1 durakta
- Birds 120 m.y.a
- Deus te guarda na partida e na chegada
- Iptorent
- Tc 120
- 24 km/jam berapa dam/menit
- Ece 120
- Cosinusoida
- Flight operational quality assurance foqa program
- Ac 120-76
- Dtx 1800 m 120
- 245 prime factors
- 649 hangi yüzlüğe yuvarlanır
- Cwe 120
- Miles tugo and ben
- Pvifad
- An asset was purchased for $120 000 on january 1
- Scomposizione in fattori primi di 12
- Act 120 certification
- Pct 120
- Sfu cmpt 120
- Separations afi
- 1be16=
- 1400000/120
- Noé pregou durante 120 anos