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

Slides:



Advertisements
Similar presentations
プログラミング言語論 第3回 BNF 記法について(演習付き) 篠埜 功. 構文の記述 プログラミング言語の構文はどのように定式化できるか? 例1 : for ループの中に for ループが書ける。 for (i=0; i
Advertisements

プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
文法と言語 ー字句解析とオートマトンlexー
東京工科大学 コンピュータサイエンス学部 亀田弘之
コンパイラ 2011年10月17日
形式言語とオートマトン2014 ー有限オートマトンー 第3日目
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン2011 ー有限オートマトンー 第3日目
東京工科大学 コンピュータサイエンス学部 亀田弘之
コンパイラ 2012年10月15日
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン2013 ー有限オートマトンー 第5日目
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン Formal Languages and Automata 第4日目
形式言語とオートマトン2008 ー有限オートマトンー
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
プログラミング言語論 第3回 BNF記法について(演習付き)
正則言語 2011/6/27.
文法と言語 ー字句解析とオートマトンlexー
形式言語とオートマトン2012 ー有限オートマトンー 第3日目
文法と言語 ー字句解析とオートマトンlexー
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I 正則表現 火曜3校時 大月 美佳 平成16年6月8日 佐賀大学知能情報システム学科.
計算の理論 I ー 正則表現(今度こそ) ー 月曜3校時 大月 美佳.
計算の理論 I 正則表現 月曜3校時 大月 美佳 平成15年6月9日 佐賀大学知能情報システム学科.
計算の理論 I ー 正則表現 ー 月曜3校時 大月 美佳.
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン Formal Languages and Automata 第4日目
東京工科大学 コンピュータサイエンス学部 亀田弘之
形式言語とオートマトン2017 ー有限オートマトンー 第3日目
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
平成20年10月5日(月) 東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 II 前期の復習 -有限オートマトン-
計算の理論 I ε-動作を含むNFA 月曜3校時 大月 美佳.
計算の理論 I ε-動作を含むNFA 月曜3校時 大月 美佳 平成15年6月2日 佐賀大学知能情報システム学科.
計算の理論 I 正則表現とFAとの等価性 月曜3校時 大月 美佳 平成15年6月16日 佐賀大学知能情報システム学科.
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
2007年度 情報数理学.
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
形式言語とオートマトン 中間試験解答例 2016年11月15実施 中島毅.
平成26年4月22日(火) 東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I ー正則表現とFAの等価性 その1ー
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
形式言語とオートマトン2013 ー有限オートマトンー 第3日目
計算の理論 I 非決定性有限オートマトン(NFA)
計算の理論 I -数学的概念と記法- 火曜 12:50~14:20 大月 美佳 2004年4月20日.
計算の理論 I ー正則表現とFAの等価性ー 月曜3校時 大月 美佳.
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I -数学的概念と記法- 月曜3校時 大月 美佳.
形式言語とオートマトン2015 ー有限オートマトンー 第3日目
文法と言語 ー字句解析とオートマトンlexー
計算の理論 I NFAとDFAの等価性 火曜3校時 大月 美佳 平成16年5月18日 佐賀大学理工学部知能情報システム学科.
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I ー 正則表現 ー 月曜3校時 大月 美佳.
東京工科大学 コンピュータサイエンス学部 亀田弘之
コンパイラ 2012年10月11日
形式言語とオートマトン2016 ー有限オートマトンー 第4日目
計算の理論 I ε-動作を含むNFAと等価なDFA
計算の理論 I ε-動作を含むNFA 火曜3校時 大月 美佳 平成16年5月25日 佐賀大学知能情報システム学科.
形式言語とオートマトン Formal Languages and Automata 第5日目
Presentation transcript:

東京工科大学 コンピュータサイエンス学部 亀田弘之 言語プロセッサ2010 -No.3- 平成22年10月18日 東京工科大学 コンピュータサイエンス学部 亀田弘之

今日の内容 正規表現 (regular expressions; re) オートマトン (automaton, pl. automata) 正規表現とオートマトンとの関係 オートマトンのシミュレータ デモ

1.正規表現 正規表現とは 聞いたことのある人は? 使ったことのある人は? 使い方説明できる人は? どんな時に正規表現を使うのか?

正規表現とは 文字列のパターンを表現するためのもの 例: パターンが見つかりましたか? { a, aa, aaa, aaaa, aaaaa, ...} { 0, 01, 001, 0001, 00001, ...} { aab, bab } { 2, 4, 6, 8, 10, ...} ( = 正の偶数全体の集合 )                                  など パターンが見つかりましたか?

練習 いま current directory に以下のような(名前の)ファイルがあるとする。 問1 proで始まるファイル名のもの program62 procedure71 profileV7 prototype52 parser infile2010 filedummy777 outfile777 file256 fixer8 問1 proで始まるファイル名のもの 問2 fileを含むもの 問3 末尾に数字がありそれが偶数のもの

正規表現(定義) アルファベットVの上の正規表現とは以下の ものである。 εは正規表現 a∈Vならば、aは正規表現 rとsが正規表現ならば rs は正規表現 rとsが正規表現ならば r | s は正規表現 rが正規表現ならば r* は正規表現 以上のものだけが正規表現 アルファベット(字母, alphabet):1つの言語を考えるとき、その言語で使われているすべての文字からなる集合のこと。

正規表現の例 a b ab a|b a* (a|b)* a*|b ab* (ab)*

オートマトンの定義 (前回講義資料参照のこと)

オートマトンの例 ゲーム人工知能 PackMan RPG (Role Playing Games) など

オートマトンと正規表現の関係 (有限)オートマトンと正規表現とは対応関係にある。 つまり、(有限)オートマトンは正規表現で書き表せるとともに、正規表現は(有限)オートマトンで書き表せる。

練習 問 正規表現 b(a|b)a を考える。 この正規表現が表わす文字列をすべて求めよ。 この正規表現の表わす文字列はすべて、かつ、それらだけを受理するオートマトンを作れ。

もっと練習 問 次の正規表現と等価なオートマトンを作れ。 ab a* 01(10|01)*11

オートマトンのシミュレータ s = s0; c = nextChar( ); while( c != eof ) { s = move( s, c ); } if(sがFに含まれる) return “yes”; else return “no”;

字句解析プログラムは、このように自力で作成できるが、オートマトン理論を知っていればもっとスマートに作成できる。

Flexを使った例 正規表現 a(a|b)*c を受理するオートマトンをシミュレートするプログラムの自動生成が可能。

デモ (詳しくは後日)