formal grammars formal languages 2 Copyright 2011 School

  • Slides: 28
Download presentation

形式文法と形式言語 • 形式文法(formal grammars) • 形式言語(formal languages) 2 Copyright© 2011 School of Computer Science,

形式文法と形式言語 • 形式文法(formal grammars) • 形式言語(formal languages) 2 Copyright© 2011 School of Computer Science, Tokyo University of Technology

例えば、“これは何?”の答え これは本です。 u This is a book. u Das ist ein Buch. u C’est

例えば、“これは何?”の答え これは本です。 u This is a book. u Das ist ein Buch. u C’est un livre. u Ειναι ενα βιβλιο. u �是一本�。 u Ini buku. u (英語) (独語) (仏語) (希語) (中国語) (マレー語) 7 Copyright© 2011 School of Computer Science, Tokyo University of Technology

u その知識は、「文法」という形で獲得される。 u Chomskyはそのように考えた。 u それでは彼の考えを見てみよう。 11 Copyright© 2011 School of Computer Science, Tokyo

u その知識は、「文法」という形で獲得される。 u Chomskyはそのように考えた。 u それでは彼の考えを見てみよう。 11 Copyright© 2011 School of Computer Science, Tokyo University of Technology

文法の定義 u 文法G=( Vn, Vt, P, S ): v ただし、 u u Vn: Vt:

文法の定義 u 文法G=( Vn, Vt, P, S ): v ただし、 u u Vn: Vt: P: S: 非終端記号の集合 書き換え規則の集合 開始記号 13 Copyright© 2011 School of Computer Science, Tokyo University of Technology

例1 -1 u G=(Vn, Vt, P, S) Vn = { S, NPs, NPo, VP,

例1 -1 u G=(Vn, Vt, P, S) Vn = { S, NPs, NPo, VP, PN, DET, N } v Vt = { I, You, have, throw, a, the, book, ball } v P = { ①:S → NPs VP, ②:NPs → PN, ③:PN → I, ④:PN → You, ⑤:NPo → DET N, ⑥:VP → V NPo, ⑦:DET → a, ⑧:DET → the, ⑨:N → book, ⑩:N → ball, ⑪:V → have, ⑫:V → throw } v 15 Copyright© 2011 School of Computer Science, Tokyo University of Technology

言語の定義 u 言語Lとは、文法Gにより生成される あらゆる文の集合のこと。 u つまり、L=L(G)。 16 Copyright© 2011 School of Computer Science, Tokyo

言語の定義 u 言語Lとは、文法Gにより生成される あらゆる文の集合のこと。 u つまり、L=L(G)。 16 Copyright© 2011 School of Computer Science, Tokyo University of Technology

例1 19 Copyright© 2010 School of Computer Science, Tokyo University of Technology

例1 19 Copyright© 2010 School of Computer Science, Tokyo University of Technology

例1 • 文法 : G=( Vn, Vt, P, S ): – ただし、 • •

例1 • 文法 : G=( Vn, Vt, P, S ): – ただし、 • • Vn={ A, B } Vt={ 0, 1, # } P={ A→ 0 A 1, A →B, B →# } S={ A } • 言語 :L=L(G)は具体的にどうなる? 20 Copyright© 2010 School of Computer Science, Tokyo University of Technology

A ⇒ 0 A 1 ⇒ 00 A 11 ⇒ 000 A 111 ⇒

A ⇒ 0 A 1 ⇒ 00 A 11 ⇒ 000 A 111 ⇒ 000 B 111 ⇒ 000#111 21 Copyright© 2010 School of Computer Science, Tokyo University of Technology

言語の構成要素(=文)の例 • a boy sees • the boy sees a flower • a girl

言語の構成要素(=文)の例 • a boy sees • the boy sees a flower • a girl with a flower likes the boy など 問:これらの導出過程を示せ。 文⇒名詞句 動詞句 ⇒… 24 Copyright© 2010 School of Computer Science, Tokyo University of Technology

例3 • 文法 : G=( Vn, Vt, P, S ): – ただし、 • Vn={

例3 • 文法 : G=( Vn, Vt, P, S ): – ただし、 • Vn={ E, T, F } • Vt={ a, +, ×, (, ) } • P={ E→E+T | T T →T×F | F F →( E ) | a } • S={ E } • 言語 :L=L(G)は具体的にどうなる? 25 Copyright© 2010 School of Computer Science, Tokyo University of Technology

問 • a+a×a の導出木を示せ。 • (a+a)×a の導出木を示せ。 26 Copyright© 2010 School of Computer Science,

問 • a+a×a の導出木を示せ。 • (a+a)×a の導出木を示せ。 26 Copyright© 2010 School of Computer Science, Tokyo University of Technology

例4 • P={ E → E+E | E×E | ( E ) | a

例4 • P={ E → E+E | E×E | ( E ) | a } 曖昧な文法 27 Copyright© 2010 School of Computer Science, Tokyo University of Technology