1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Văn phạm và ngôn ngữ sinh văn phạm docx

36 685 10
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Văn phạm và ngôn ngữ sinh văn phạm
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Ngôn ngữ lập trình
Thể loại Tài liệu
Định dạng
Số trang 36
Dung lượng 230,22 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Quy tắc của văn phạm ngữ cấu được gọi là quy tắc ngữ cấu.. Ngôn ngữ do văn phạm ngữ cấuVPNC sinh ra gọi là ngônngữ ngữ cấu NNNC... Quy tắc của văn phạm cảm ngữ cảnh được gọi là quy tắc c

Trang 1

Văn phạm và ngôn ngữ sinh văn

Trang 2

Định nghĩa ngôn ngữ hình thức

• Bảng chữ cái

• Xâu ký tự

• Ngôn ngữ

Trang 4

Xâu ký tự

• Là một dãy các ký tự trong bảng chữ cái ∑được viết liền nhau

• Độ dài xâu: là số ký tự trong xâu đó

• Ví dụ ∑={a,b,c} s= “baccba” là một xâu

trên bảng chữ cái ∑ Xâu s có độ dài bằng6

• Xâu rỗng: là xâu không có ký tự nào, độ

Trang 6

Một số vấn đề cần quan tâm

• Với một xâu w ∈ ∑* bất kỳ cho trước, mộtvấn đề đặt ra là xâu w có thuộc ngôn ngữ

L cho trước hay không? (L ∈ ∑* )

• Với một xâu w trong L làm thế nào để sinhw

Trang 7

Văn phạm và ngôn ngữ sinh bởi

» V= (∑U∆)* được gọi là từ điển đầy đủ

• I € ∆ được gọi là ký hiệu ban đầu

• R là tập các quy tắc mà mỗi phần tủ của nó có

Trang 8

Văn phạm và ngôn ngữ sinh bởi

văn phạm

• Định nghĩa văn phạm:

– Định nghĩa 2: Cho G= < ∑,∆,I,R > là một văn phạm, một xâu x= αaβ S = αbβ được gọi là dẫn xuất trực tiếp từ xâu x nếu ta áp dụng

quy tắc (luật) aÆb Ký hiệu là x╞ s.

Trang 9

Ngôn ngữ sinh bởi văn phạm

• Định nghĩa: Cho văn phạm G= < ∑,∆,I,R >

và D = (w0,w1,….,wk) là một dẫn xuất củaxâu wk từ w0 trong văn phạm G Nếu w0=I

và wk ∈ ∑* thì ta gọi xâu wk được sinh bởivăn phạm G

• Ngôn ngữ sinh ra bởi văn phạm G được

ký hiệu là L(G) và được định nghĩa như

sau: L(G)= {w| w €∑* và I |- w}

Trang 10

Ngôn ngữ sinh bởi văn phạm

Trang 11

Văn phạm

Ví dụ

• Cho G=< ∑,∆,I,R > trong đó ∑={a,b},

∆={A,B,I}, I là ký hiệu xuất phát và

R={IÆAba, AÆ BB, BÆab,ABÆb}

Trang 12

Phân loại văn phạm

• Nhóm 0: Văn phạm ngữ cấu

• Nhóm 1: Văn phạm cảm ngữ cảnh

• Nhóm 2: Văn phạm phi ngữ cảnh

• Nhóm 3: Văn phạm chính quy

Trang 13

Phân loại văn phạm Văn phạm ngữ cấu

• Văn phạm G=< ∑,∆,I,R > được gọi là vănphạm ngữ cấu nếu mọi quy tắc r €R đều

có dạng r= αÆβ, trong đó α ∈ V+, β ∈ V* Quy tắc của văn phạm ngữ cấu được gọi

là quy tắc ngữ cấu Ngôn ngữ do văn

phạm ngữ cấu(VPNC) sinh ra gọi là ngônngữ ngữ cấu (NNNC)

Trang 14

Phân loại văn phạm Văn phạm ngữ cảnh

• Văn phạm G=< ∑,∆,I,R > được gọi là vănphạm cảm ngữ cảnh nếu mọi quy tắc r €R đều có dạng r= αÆβ, trong đó α ∈ V+, β

∈ V* và |α|≤|β| Quy tắc của văn phạm

cảm ngữ cảnh được gọi là quy tắc cảm

ngữ cảnh Ngôn ngữ do văn phạm cảm

ngữ cảnh(VPCNC) sinh ra gọi là ngôn ngữcảm ngữ cảnh(NNCNC)

Trang 15

Văn phạm cảm ngữ cảnh

Ví dụ

• Ví dụ 1: Cho G=< ∑,∆,I,R > trong đó ∑={a,b},

∆={I}, I là ký hiệu xuất phát và

R={IÆaIb,IÆII,IÆab} là một văn phạm cảm ngữ cảnh.

• Ví dụ 2: Cho G=< ∑,∆,I,R > trong đó ∑={a,b,c},

∆={I,A,B}, I là ký hiệu xuất phát và R={

IÆabc,IÆaAbc,AbÆBa,AcÆBbc,bBÆBb,

aBÆaaB,aBÆaa} Khi đó G là một văn phạm cảm ngữ cảnh.

Trang 16

Phân loại văn phạm Văn phạm phi ngữ cảnh

• Văn phạm G=< ∑,∆,I,R > được gọi là văn

phạm phi ngữ cảnh nếu mọi quy tắc r ∈ R đều có dạng r= AÆβ, trong đó A ∈ ∆,β ∈V* Quy tắc của văn phạm phi ngữ cảnh

được gọi là quy tắc phi ngữ cảnh Ngôn ngữ

do văn phạm phi ngữ cảnh(VPPNC) sinh ragọi là ngôn ngữ phi ngữ cảnh(NNPNC)

Trang 17

Văn phạm phi ngữ cảnh

Ví dụ

• Ví dụ 1: Cho G=< ∑,∆,I,R > trong đó

∑={a,b}, ∆={I}, I là ký hiệu xuất phát và

R={IÆλ,IÆaIa,IÆbIb,IÆaa,IÆbb} là một

văn phạm phi ngữ cảnh

Trang 18

Phân loại văn phạm Văn phạm chính quy

• Văn phạm G=< ∑,∆,I,R > được gọi là vănphạm chính quy nếu mọi quy tắc r €R đều

có dạng AÆaB,AÆa, A ∈ ∆, B ∈ ∆,a ∈

∑ Quy tắc của văn phạm chính quy đượcgọi là quy tắc chính quy Ngôn ngữ do vănphạm chính quy(VPCQ) sinh ra gọi là

ngôn ngữ chính quy(NNCQ)

Trang 19

Nhận xét

• NNCQ NNPNC NCCNC NNNC

• Ngôn ngữ ngữ cấu là tổng quát nhất Æ

lớp văn phạm rộng nhất

• Văn phạm chính quy đơn giản hơn cả và

có nhiều ứng dụng trong thiết kế các ngônngữ lập trình và trong lĩnh vực nghiên cứu

về chương trình dịch

Trang 20

Tính chất của văn phạm

• Lớp ngôn ngữ sinh ra bởi văn phạm là

đóng đối với các phép hợp, giao và phépnhân ngôn ngữ

• Giả sử L1,L2 là hai ngôn ngữ được sinh rabởi văn phạm G1 =< ∑1,∆1,I1,R1> và G2 =<

∑2,∆2,I2,R2> thì hợp của hai ngôn ngữ L1

và L2 là một ngôn ngữ ký hiệu là L1 ∪ L2 được sinh ra bởi văn phạm sau:

Trang 22

Nhân hai ngôn ngữ

Trang 23

Ôtômat hữu hạn đoán nhận biểu

thức chính quy

• Automat hữu hạn

• Ngôn ngữ chính quy và biểu thức chính

quy

Trang 25

Automat hữu hạn

• δ: Q*∑ Æ Q: Khi đó M được gọi là một Automat đơn định(Deterministic Finite Automat)

• δ: Q*∑ Æ2 Q : Khi đó M được gọi là một

Automat không đơn định(None Deterministic

Finite Automat)

Trang 26

• Mô tả các bước làm việc của Automat M=<

sau:

» q0 Æ

– Tập L(M)={w / w ∈ ∑* mà δ(q0,w ) ∈F} được gọi là ngôn ngữ được đoán nhận với automat M Tập trạng thái Q trong quá trình tính toán được xem như bộ nhớ của một Automat Vì Q hữu hạn trạng thái nên M

Trang 27

Phương pháp biểu diễn Automat

• Phương pháp cho M bằng bảng chuyển

• Phương pháp cho M bằng đồ thị chuyển

Trang 29

Phương pháp cho M bằng đồ thị

chuyển

• Cho automat M=< ∑,Q,δ,q0,F > Hàm

chuyển δ có thể cho bằng đồ thị chuyển

có hướng theo nguyên tắc sau: Mỗi trangthái q ∈Q là một đỉnh của đồ thị

• Nếu a ∈ ∑ và từ trạng thái qi chuyển sang trạng thái qj theo hàm chuyển δ(qi,a)= qj

sẽ có một cung từ đỉnh qi tới đỉnh qj

Trang 30

Thuật toán Thompson

• Bài toán: cho một biểu thức chính quy

Hãy xây dựng automat không đơn định

đoán nhận ngôn ngữ chính quy từ biểu

thức chính quy đã cho

• Thuật toán

– Input: Một biểu thức chính quy r trên bộ ∑ – Output: một automat N đoán nhận ngôn ngữ chính L(r)

Trang 31

Thuật toán thompson

• Trước hết tách biểu thức chính quy r

thành các biểu thức chính quy thành phầnr1,r2,….rk Sau đó áp dụng luật 1 và luật 2

để xây dựng automat không đơn định N1,

N2, N3,… , Nk Cuối cùng xây dựng

Automat không đơn định N để đoán nhậnL(r)

Trang 32

Thuật toán thompson

Luật 1

• Đối với ký hiệu λ, xây dựng automat

không đơn định N đoán nhận ngôn ngữ {λ} như sau:

f

Start

Trang 33

Thuật toán Thompson

Trang 34

Thuật toán Thompson

Luật 3

• Đối với biểu thức chính quy sUr ta xây

dựng automat không đơn định đoán nhậnnhư sau:

f i

Start

λ λ

N(r) N(s)

Trang 35

Thuật toán Thompson

• Đối với biểu thức chính quy r.s ta xây

dựng automat không đơn định đoán nhậnnhư sau:

f Start

Trang 36

Thuật toán thompson

• Đối với biểu thức chính quy (r)+ biểu diễnngôn ngữ chính quy R+ ta xây dựng

automat không đơn định N đoán nhận R+

Ngày đăng: 12/12/2013, 11:16

HÌNH ẢNH LIÊN QUAN

Bảng chữ cái - Tài liệu Văn phạm và ngôn ngữ sinh văn phạm docx
Bảng ch ữ cái (Trang 3)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w