Mercurial > hg > Members > masakoha > seminar
annotate 2015/0512.html @ 25:ef709768b9cf
add image
author | Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 12 May 2015 19:06:48 +0900 |
parents | 14d14dcb8219 |
children |
rev | line source |
---|---|
10 | 1 <!DOCTYPE html> |
2 <html> | |
3 <head> | |
4 <meta http-equiv="content-type" content="text/html;charset=utf-8"> | |
5 <title>seminar</title> | |
6 | |
7 <!-- | |
8 Notes on CSS media types used: | |
9 | |
10 1) projection -> slideshow mode (display one slide at-a-time; hide all others) | |
11 2) screen -> outline mode (display all slides-at-once on screen) | |
12 3) print -> print (and print preview) | |
13 | |
14 Note: toggle between projection/screen (that is, slideshow/outline) mode using t-key | |
15 | |
16 Questions, comments? | |
17 - send them along to the mailinglist/forum online @ http://groups.google.com/group/webslideshow | |
18 --> | |
19 | |
20 <!-- styles --> | |
21 <style media="screen,projection"> | |
22 | |
23 html, | |
24 body, | |
25 .presentation { margin: 0; padding: 0; } | |
26 | |
27 .slide { display: none; | |
28 position: absolute; | |
29 top: 0; left: 0; | |
30 margin: 0; | |
31 border: none; | |
32 padding: 2% 4% 0% 4%; /* css note: order is => top right bottom left */ | |
33 -moz-box-sizing: border-box; | |
34 -webkit-box-sizing: border-box; | |
35 box-sizing: border-box; | |
36 width: 100%; height: 100%; /* css note: lets use border-box; no need to add padding+border to get to 100% */ | |
37 overflow-x: hidden; overflow-y: auto; | |
38 z-index: 2; | |
39 } | |
40 | |
41 .slide.current { display: block; } /* only display current slide in projection mode */ | |
42 | |
43 .slide .stepcurrent { color: black; } | |
44 .slide .step { color: silver; } /* or hide next steps e.g. .step { visibility: hidden; } */ | |
45 | |
46 .slide { | |
47 /* | |
48 background-image: -webkit-linear-gradient(top, blue, aqua, blue, aqua); | |
49 background-image: -moz-linear-gradient(top, blue, aqua, blue, aqua); | |
50 */ | |
51 } | |
52 </style> | |
53 | |
54 <style media="screen"> | |
55 .slide { border-top: 1px solid #888; } | |
56 .slide:first-child { border: none; } | |
57 </style> | |
58 | |
59 <style media="print"> | |
60 .slide { page-break-inside: avoid; } | |
61 .slide h1 { page-break-after: avoid; } | |
62 .slide ul { page-break-inside: avoid; } | |
63 </style> | |
64 | |
65 | |
66 <!-- add js lib (jquery) --> | |
67 <script src="js/jquery-1.7.min.js"></script> | |
68 | |
69 <!-- S6 JS --> | |
70 <script src="js/jquery.slideshow.js"></script> | |
71 <script src="js/jquery.slideshow.counter.js"></script> | |
72 <script src="js/jquery.slideshow.controls.js"></script> | |
73 <script> | |
74 $(document).ready( function() { | |
75 Slideshow.init(); | |
76 | |
77 // Example 2: Start Off in Outline Mode | |
78 // Slideshow.init( { mode: 'outline' } ); | |
79 | |
80 // Example 3: Use Custom Transition | |
81 // Slideshow.transition = transitionScrollUp; | |
82 // Slideshow.init(); | |
83 | |
84 // Example 4: Start Off in Autoplay Mode with Custom Transition | |
85 // Slideshow.transition = transitionScrollUp; | |
86 // Slideshow.init( { mode: 'autoplay' } ); | |
87 } ); | |
88 </script> | |
89 | |
90 </head> | |
91 <body> | |
92 | |
93 <div class="presentation"> | |
94 | |
95 <div class='slide cover'> | |
96 <table width="90%" height="90%" border="0" align="center"> | |
97 <tr> | |
98 <td><div align="center"> | |
21
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
99 <h1>Cerium での正規表現の実装</h1> |
10 | 100 </div> |
101 </td> | |
102 </tr> | |
103 <tr> | |
104 <td><div align="right"> | |
25 | 105 <name>Masataka Kohagura 12th, May , 2015</name> |
10 | 106 </div></td> |
107 </tr> | |
108 </tr> | |
109 </table> | |
110 </div> | |
19 | 111 |
10 | 112 <div id="cover"> |
113 <h1>研究目的</h1> | |
114 <ul> | |
115 <li> | |
19 | 116 当研究室では並列プログラミングフレームワーク Cerium Task Manager でプログラミングを行っている。 |
10 | 117 </li> |
118 <li> | |
21
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
119 |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
120 </li> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
121 <li> |
10 | 122 </li> |
123 <li> | |
21
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
124 </li> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
125 </ul> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
126 </div> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
127 |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
128 <div id="cover"> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
129 <h1>正規表現について</h1> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
130 <ul> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
131 <li> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
132 文字列の一部をパターン化して表現する手法 |
19 | 133 </li> |
134 <li> | |
21
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
135 文章からあるパターン文字列を検索したいときに使用する <br> |
25 | 136 (e.g. 「ed」が末尾に含まれる英単語を検索する場合 : .*ed)<br> |
137 . (ピリオド) : 改行コード以外の任意の1文字<br> | |
138 * : 直前の文字の 0 回以上の繰返し | |
21
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
139 </li> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
140 </ul> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
141 </div> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
142 |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
143 <div id="cover"> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
144 <h1>オートマトンについて</h1> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
145 <ul> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
146 <li> |
24
14d14dcb8219
write image in Omnigraffle
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
23
diff
changeset
|
147 入力に対して内部の状況に応じた処理を行う結果を出力する仮想的な自動機械の概念 |
10 | 148 </li> |
25 | 149 <li> |
150 正規表現はオートマトンで表現することができる。 | |
151 </li> | |
152 <li> | |
153 非決定性有限オートマトン NFA(Non-deterministic Finite Automaton)と、非決定性有限オートマトンDFA(Deterministic Finite Automaton)が存在する。 | |
154 </li> | |
155 <li> | |
156 非決定性有限オートマトン : 1つの入力に対して複数の遷移先が存在する | |
157 </li> | |
158 <object data="images/vector/nfa.svg" type="image/svg+xml"></object> | |
159 <li> | |
160 決定性有限オートマトン : 1つの入力に対して遷移先が1つだけ | |
161 </li> | |
162 <object data="images/vector/dfa.svg" type="image/svg+xml"></object> | |
163 | |
10 | 164 </ul> |
165 </div> | |
166 | |
167 <div id="cover"> | |
21
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
168 <h1>正規表現の基本三演算</h1> |
10 | 169 <ul> |
170 <li> | |
25 | 171 正規表現は「連接」「選択」「繰返し」の演算が備えられている<br> |
21
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
172 R,S という 2 つの正規表現が存在すると仮定する。<br> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
173 <b>連接 「RS」</b>: R の直後に S が続くパターン<br> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
174 <ul>(e.g.) RS, RRS, RSS, RRSS, ...<br></ul> |
25 | 175 <object data="images/vector/rensetsu.svg" type="image/svg+xml"></object><br> |
21
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
176 <b>選択 「R|S」</b>: R もしくは S が出現するパターン<br> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
177 <ul>(e.g.) R, S, RS, ...<br></ul> |
25 | 178 <object data="images/vector/sentaku.svg" type="image/svg+xml"></object><br> |
21
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
179 <b>繰返し 「R*S」</b>: 「*」の直前(R)が 0 回以上出現するパターン<br> |
25 | 180 <ul>(e.g.) S, RS, RRS, RRRS, ...</ul><br> |
181 <object data="images/vector/star.svg" type="image/svg+xml"></object><br> | |
10 | 182 </li> |
183 <li> | |
21
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
184 基本三演算は結合順位が存在する<br> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
185 <ul>繰返し > 連接 > 選択</ul> |
10 | 186 </li> |
187 </ul> | |
188 </div> | |
189 | |
190 <div id="cover"> | |
21
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
191 <h1>正規表現の他の演算</h1> |
10 | 192 <ul> |
193 <li> | |
21
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
194 <b>「R+S」</b>: 「+」の直前のパターンが 1 回以上出現するパターン<br> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
195 <ul>(e.g.) RS, RRS, RRRS, ...</ul> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
196 <ul>R+S ≡ R(R*)S</ul> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
197 </li> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
198 <li> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
199 <li> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
200 <b>「R?S」</b>: 「?」の直前のパターンが 0 or 1 回出現するパターン<br> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
201 <ul>(e.g.) S, RS</ul> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
202 </li> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
203 <li> |
25 | 204 <b>「R{1,3}」</b>: 「{}」の直前のパターンが 1 〜 3 回出現するパターン<br> |
21
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
205 <ul>(e.g.) R, RR, RRR</ul> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
206 </li> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
207 <li> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
208 <b>「R{1,}」</b>: 「{}」の直前のパターンが 1 回以上出現するパターン<br> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
209 <ul>(e.g.) R, RR, RRR, ...</ul> |
a4227cbaa7b3
remove some files
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
20
diff
changeset
|
210 <ul>R+S ≡ R(R*)S ≡ R{1,}S</ul> |
10 | 211 </li> |
212 </ul> | |
213 </div> | |
214 | |
25 | 215 <div id="cover"> |
216 <h1>実装について</h1> | |
217 まずは基本三演算を実装していく。 | |
218 <ul> | |
219 <li> | |
220 R*(T|S)U をオートマトンで表現してみる | |
221 </li> | |
222 <object data="images/vector/rtsu-automaton.svg" type="image/svg+xml"></object> | |
223 <li> | |
224 状態と入力に対する遷移先、遷移したかどうかフラグで管理する。 | |
225 </li> | |
226 <pre> | |
227 <code> | |
228 typedef struct Automaton { | |
229 int state; | |
230 unsigned char input_char; | |
231 int next_state; | |
232 bool next_state; | |
233 }; | |
234 </code> | |
235 </pre> | |
236 <object data="images/vector/rtsu-automatondata.svg" type="image/svg+xml"></object> | |
237 </ul> | |
238 </div> | |
239 | |
10 | 240 <!-- |
241 <div id="cover"> | |
242 <h1>prog</h1> | |
243 <ul> | |
244 <li> | |
245 | |
246 </li> | |
247 | |
248 <pre> | |
249 <code> | |
250 typedef struct SDL_AudioSpec { | |
251 int freq; /** DSP frequency samples per second */ | |
252 Uint16 format; /** Audio data format */ | |
253 Uint8 channels; /** Number of channels: 1 mono, 2 stereo */ | |
254 Uint8 silence; /** Audio buffer silence value (calculated) */ | |
255 Uint16 samples; /** Audio buffer size in samples (power of 2) */ | |
256 Uint16 padding; /** Necessary for some compile environments */ | |
257 Uint32 size; /** Audio buffer size in bytes (calculated) */ | |
258 void (SDLCALL *callback)(void *userdata, Uint8 *stream, int len); | |
259 void *userdata; | |
260 } SDL_AudioSpec; | |
261 </code> | |
262 </ul> | |
263 </pre> | |
264 <img src="./images/sqrWave.png" width="50%" height=""> | |
265 </div> | |
266 | |
267 --> | |
268 | |
269 </div> <!-- presentation --> | |
270 </body> | |
271 </html> |