NGÔN NGỮ CHÍNH QUY VÀ VĂN PHẠM CHÍNH QUYDr.. Regular Languages & Grammars L is regular iff L = LM for some DFA M Trong chương này, ta sẽ nghiên cứu những cách khác để biểu diễn ngôn ng
Trang 1NGÔN NGỮ CHÍNH QUY VÀ VĂN PHẠM CHÍNH QUY
Dr Huỳnh Trung Hiếu Faculty of Information Technology
Trang 2Regular Languages & Grammars
L is regular iff L = L(M) for some DFA M
Trong chương này, ta sẽ nghiên cứu những cách khác để biểu diễn ngôn ngữ chính quy.
Trang 3Regular Languages & Grammars
Way of representing Way of thinking
Trang 4Regular Expressions
L = value of E
Trang 5Regular Expressions
Alphabet Σ
1 ∅ , λ và a ∈ ∑ là các biểu thức chính quy Những biểu thức
này gọi là các biểu thức chính qui nguyên tố.
2. Nếu r1 và r2 là các biểu thức chính quy thì r1 + r2, r1 r2,
r1* và (r1) cũng là các biểu thức chính quy.
3 Một chuỗi gọi là biểu thức chính quy nếu và chỉ nếu nó có
thể được xây dựng từ các biểu thức chính quy nguyên tố bởi
áp dụng một số hữu hạn lần các quy tắc trong mục 2.
Trang 6Ngôn ngữ liên kết với biểu thức chính quy
Biểu thức chính quy được dùng để
mô tả ngôn ngữ chính qui Tổng quát,
nếu r là biểu thức chính quy thì ta
nói L(r) là ngôn ngữ được sinh ra từ
r.
Trang 7Ngôn ngữ liên kết với biểu thức chính quy
Ngôn ngữ L(r) được biểu thị bởi bất kì một biểu thức chính quy r nào,
thì được định nghĩa bởi các quy tắc sau.
Trang 8= {λ, a, aa, aaa, }{a, b}
= {a, aa, aaa, , b, ab, aab, }
Trang 9= ({λ, a, aa, aaa, }{a})∪{b}
= {a, aa, aaa, , b}
Trang 10Example 2
r = (a + b)* (a + bb)
L(r) = ?
Trang 11Example 3
r = (aa)* (bb)* b
L(r) = ?
Trang 12Example 4
L(r) = {w ∈ {0, 1} * | w có ít nhất 1 cặp số 0 liên tiếp}
r = ?
Trang 13Example 4
L(r) = {w ∈ {0, 1} * | w has at least one pair of consecutive zeros}
r = (0 + 1) * 00 (0 + 1) *
Trang 14Example 5
L(r) = {w ∈ {0, 1} * | w has no pair of consecutive zeros}
r = ?
Trang 15Example 5
L(r) = {w ∈ {0, 1} * | w has no pair of consecutive zeros}
r = (1 + 01) * (0 + λ )
Trang 16Equivalent Regular Expressions
r1 and r2 are equivalent iff L(r1) = L(r2)
Trang 17Example 6
r1 = a (b + c) r2 = a b + a c
L(r1) = L(r2) = {ab, ac}
Trang 18Homework
Exercises: 1, 4, 5, 6, 7, 13, 23 of Section 3.1 -
Linz’s book
Trang 19Regular Expressions & Languages
Given a regular expression r, there exists an NFA
that accepts L(r)
Trang 20Regular Expressions & Languages
Trang 21Regular Expressions & Languages
NFA that accepts L(r1 + r2)
M(r1)
M(r2) λ
λ
Trang 22Regular Expressions & Languages
NFA that accepts L(r1.r2)
Trang 23Regular Expressions & Languages
NFA that accepts L(r1*)
M(r1)
λ λ