1. Trang chủ
  2. » Giáo án - Bài giảng

ÔN tập môn AUTOMAT và TRÌNH BIÊN DỊCH

59 990 0

Đ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

Cấu trúc

  • Slide 1

  • NÔI DUNG ÔN TẬP

  • VĂN PHẠM PHI NGỮ CẢNH

  • CHỨNG MINH CHUỖI SINH RA TỪ VĂN PHẠM

  • CHO BIẾT NGÔN NGỮ SINH RA BỞI VĂN PHẠM

  • THIẾT KẾ VĂN PHẠM

  • THIẾT KẾ VĂN PHẠM

  • {ambn: m≥n}

  • {uavb: u,v ϵ {a,b}* và |u| = |v|}

  • {ambn: m≤2n}

  • BÀI TẬP THÊM

  • CÂY PHÂN TÍCH

  • CÂY PHÂN TÍCH

  • AUTOMAT ĐẨY XUỐNG

  • CHUỖI CHẤP NHẬN BỞI AUTOMAT

  • Slide 16

  • NGÔN NGỮ CHẤP NHẬN BỞI AUTOMAT

  • THIẾT KẾ AUTOMAT CHẤP NHẬN NGÔN NGỮ

  • THIẾT KẾ AUTOMAT CHẤP NHẬN NGÔN NGỮ

  • THIẾT KẾ AUTOMAT CHẤP NHẬN NGÔN NGỮ

  • THIẾT KẾ AUTOMAT CHẤP NHẬN NGÔN NGỮ

  • THIẾT KẾ AUTOMAT CHẤP NHẬN NGÔN NGỮ

  • THIẾT KẾ AUTOMAT CHẤP NHẬN NGÔN NGỮ

  • ĐẠI CƯƠNG VỀ TRÌNH BIÊN DỊCH

  • THỂ PHÂN TÍCH CÚ PHÁP (PARSER)

  • LOẠI BỎ TÍNH ĐA NGHĨA

  • LOẠI BỎ TÍNH ĐA NGHĨA

  • KHỬ ĐÊ QUI TRÁI

  • THUẬT TOÁN KHỬ ĐỆ QUI TRÁI TỔNG QUÁT

  • VÍ DỤ

  • THỪA SỐ HÓA TRÁI

  • THUẬT TOÁN THỪA SỐ TRÁI

  • VÍ DỤ

  • PHÂN TÍCH CÚ PHÁP TOP-DOWN

  • Slide 35

  • PHÂN TÍCH CÚ PHÁP BOTTOM-UP

  • PHÂN TÍCH CÚ PHÁP BOTTOM-UP

  • QUAI NẮM (HANDLE)

  • TỈA QUAI

  • CÀI ĐẶT SỬ DỤNG STACK

  • MINH HỌA

  • CÁC THAO TÁC CHÍNH

  • BÀI TẬP

  • BÀI TẬP

  • BÀI TẬP

  • TẠI SAO CẦN SINH MÃ TRUNG GIAN

  • MÃ BA ĐỊA CHỈ (THREE-ADDRESS CODE)

  • SỰ DỊCH SANG MÃ BA ĐỊA CHỈ

  • SỰ DỊCH SANG MÃ BA ĐỊA CHỈ

  • VÍ DỤ

  • BIỂU THỨC LOGIC

  • ƯỚC LƯỢNG BIỂU THỨC LOGIC

  • Slide 53

  • VÍ DỤ

  • CÁC CÂU LỆNH ĐIỀU KHIỂN LUỒNG

  • Slide 56

  • VÍ DỤ

  • Slide 58

  • VÍ DỤ

Nội dung

ÔN TẬP MÔN AUTOMAT VÀ TRÌNH BIÊN DỊCH Tiến sĩ: Lê Minh Trung Khoa CNTT, Đại học Sư phạm Tp HCM NÔI DUNG ÔN TẬP  Ngôn ngữ và văn phạm phi ngữ cảnh  Automat đẩy xuống  Đại cương về trình biên dịch  Thể phân tích cú pháp (parser)  Sinh mã trung gian VĂN PHẠM PHI NGỮ CẢNH  Là bộ bốn G = (V, Σ, R, S)  V là tập tất cả các kí hiệu  Σ là tập các kí hiệu tận (terminal)  R là tập các luật Aα  S ϵ V\ Σ là kí hiệu bắt đầu  Văn phạm phi ngữ cảnh G có thể sinh ra ngôn ngữ phi ngữ cảnh L = L(G) CHỨNG MINH CHUỖI SINH RA TỪ VĂN PHẠM  Cho văn phạm:  S  aAa | bAb| e, ASS  Trình bày quá trình suy diễn ra chuỗi baabbb  S  bAb  bSSb  baAaSb  baaSb  baabSbb baabbb CHO BIẾT NGÔN NGỮ SINH RA BỞI VĂN PHẠM  Cho văn phạm G  S aSa | bSb | aSb | bSa |e  Cho biết văn phạm này sinh ra ngôn ngữ nào?  S a1Sb1  a1a2Sb2b1  … a1a2…akSbk…b2b1  a1a2… akbk…b2b1 với a1,a2, ,ak,bk, ,b2,b1 ϵ {a,b} L(G) = {w ϵ {a,b}*: w có một số chẵn kí tự} = (aa ᴗ ab ᴗ ba ᴗ bb)* THIẾT KẾ VĂN PHẠM  Thiết kế các văn phạm sinh ra các ngôn ngữ sau  {wcwR: w ϵ {a,b}*}  {wwR: w ϵ {a,b}*}  {w ϵ {a,b}*: w=wR}  S  aSa | bSb | c  S  aSa | bSb | e  S  aSa | bSb | a | b | e THIẾT KẾ VĂN PHẠM  Thiết kế các văn phạm sinh ra các ngôn ngữ sau a) {ambn: m≥n} b) {uavb: u,v ϵ {a,b}* và |u| = |v|} c) {ambn: m≤2n} {ambn: m≥n}  S aSb | aS |e {uavb: u,v ϵ {a,b}* và |u| = |v|}  SAb  AaAb | aAa| bAa| bAb | a {ambn: m≤2n}  SaSbb | aSb | e [...]... THIẾT KẾ AUTOMAT CHẤP NHẬN NGÔN NGỮ  Thiết kế automat chấp nhận ngôn ngữ  L = {ambncpdq: m+n = p+q}  L = {w ϵ {a,b}*: số chữ a = số chữ b}  L = {w = uavb: u,v ϵ {a,b}* và |u| = |v|} ĐẠI CƯƠNG VỀ TRÌNH BIÊN DỊCH 1 2 3 4 5 6 Thể phân tích từ vựng Thể phân tích cú pháp Thể phân tích ngữ nghĩa Sinh mã trung gian Tối ưu hóa mã trung gian Sinh ra mã máy Cần phân biệt trình biên dịch và trình thông dịch THỂ... M=(K,Σ,Γ,Δ,s,F)  K tập các trạng thái  Σ tập các kí hiệu trên vùng đệm nguyên liệu  Γ tập các kí hiệu trên ngăn xếp  s trạng thái bắt đầu  F tập các trạng thái kết thúc  Δ là các quan hệ chuyển có dạng ((p,a,α),(q,β)) CHUỖI CHẤP NHẬN BỞI AUTOMAT  Cho automat có tập quan hệ chuyển sau  ((s,a,e),(s,a)), ((s,e,e),(f,e)), ((f,b,a),(f,e))  F = {f}  Chuỗi aaabbb có được chấp nhận bởi automat không?  Ngôn ngữ... KẾ AUTOMAT CHẤP NHẬN NGÔN NGỮ  Thiết kế automat chấp nhận ngôn ngữ  L= {w ϵ {a,b}*: số chữ a trong w bằng hai lần số b trong w}  ((s,b,e),(s,bb)), ((s,b,b),(s,bbb)), ((s,a,b),(s,e)), ((s,a,e), (s,a)), ((s,a,a),(s,aa)), ((s,b,aa),(s,e)), ((s,b,a),(s,b)), ((s,e,e),(f,e))  b vùng đệm = 2 b ngăn xếp = 2 a vùng đệm = 2 a ngăn xếp THIẾT KẾ AUTOMAT CHẤP NHẬN NGÔN NGỮ  Thiết kế automat chấp nhận ngôn... nhận bởi automat trên là ngôn ngữ nào? Trạng thái Chuỗi nguyên liệu Ngăn xếp s aaabbb s aabbb a s abbb aa s bbb aaa f bbb aaa f bb aa f b b f e e Hoạt động của automat này như sau: - Đẩy các chữ a đầu tiên vào ngăn xếp - Tự động chuyển sang trạng thái f - Gỡ các chữ b trong vùng đệm nguyên liệu nếu gặp a ở đỉnh ngăn xếp Ngôn ngữ chấp nhận bởi automat: L(M) = {anbn: n ≥ 0} NGÔN NGỮ CHẤP NHẬN BỞI AUTOMAT. .. automat: L(M) = {anbn: n ≥ 0} NGÔN NGỮ CHẤP NHẬN BỞI AUTOMAT  Cho automat có tập quan hệ chuyển sau:  ((s,a,e),(s,a)), ((s,b,e),(s,b)), ((s,a,e),(f,e)), ((f,b,a),(f,e)), ((f,b,b),(f,e)), ((f,a,a),(f,e)), ((f,a,b),(f,e)) và F ={f}  Cho biết ngôn ngữ chấp nhận bởi automat trên? Hoạt động của automat này như sau: - Đầu tiên, đẩy các chữ a,b vào ngăn xếp - Tự động chuyển sang trạng thái f khi gặp một a nào... sang trạng thái f khi gặp một a nào đó - Khi ở trạng thái f, gỡ các chữ b,a trong ngăn xếp nếu gặp các chữ b,a trong vùng đệm Ngôn ngữ chấp nhận bởi automat: L(M) = {uav: u,v ϵ {a,b}* và |u| = |v|} THIẾT KẾ AUTOMAT CHẤP NHẬN NGÔN NGỮ  Thiết kế các automat chấp nhận các ngôn ngữ sau a) L = {wcwR: w ϵ {a,b}*} b) L = {w ϵ {a,b}*: w=wR} a) ((s,a,e),(s,a)), ((s,b,e),(s,b)), ((s,c,e),(f,e)), ((f,a,a),(f,a)),...BÀI TẬP THÊM  Thiết kế văn phạm chấp nhận ngôn ngữ  {ambncp:m+n = p}  {ambncpdq:m+n = p+q}  {uav: u,v ϵ{a,b}* và |u| = |v|} CÂY PHÂN TÍCH  Tóm tắt nhiều sự suy diễn cho ra cùng một chuỗi kết quả  SSS | (S) | e  S SS(S)S()S()(S)()() (suy diễn cực trái)  SSSS(S)S()(S)()()() (suy diễn cực phải) CÂY PHÂN TÍCH  Vẽ cây phân tích cho một chuỗi đầu vào id * (id + id) AUTOMAT ĐẨY... ngăn xếp = 2 a vùng đệm = 2 a ngăn xếp THIẾT KẾ AUTOMAT CHẤP NHẬN NGÔN NGỮ  Thiết kế automat chấp nhận ngôn ngữ  L= {w ϵ {a,b}*: số chữ b trong w bằng hai lần số a trong w}  ((s,e,e),(s,c)), ((s,b,c),(p,**c)), ((p,b,*),(p,***)), ((p,a,**),(p,*)), ((p,a,*c),(s,c)), ((s,a,c), (q,*c)), ((q,a,*),(q,**)), ((q,b,***),(q,*)), ((q,b,**c),(s,c)) ,((q,b,*c),(p,*c)) và F={s}  b vùng đệm = 2 *  a vùng đệm = *... ((s,e,e),(f,e)), ((s,a,e),(f,a)), ((s,b,e),(f,b)) , ((f,a,a),(f,e)), ((f,b,b),(f,e)) F = {f} THIẾT KẾ AUTOMAT CHẤP NHẬN NGÔN NGỮ  Thiết kế các automat chấp nhận các ngôn ngữ sau  L = {w =ambn: m≤n≤2m}  ((s,a,e),(s,aa)), ((s,e,e),(f,e)), ((f,b,a),(f,e)), ((f,b,aa),(f,e))  Nguyên tắc hoạt động:  Thêm 2m chữ b vào ngăn xếp  Tự động chuyển sang trạng thái f (khi tiêu thụ hết a)  Ở trạng thái f, gặp b trong... phạm bị mơ hồ hay đa nghĩa vì câu lệnh có hai cây phân tích if E1then if E2 then S1 else S2 LOẠI BỎ TÍNH ĐA NGHĨA  Không có thuật toán tổng quát để loại bỏ tính đa nghĩa Thông thường chỉ dựa vào kinh nghiệm  Với văn phạm trên, có thể loại bỏ tính đa nghĩa bằng cách phân biệt matched_stmt và open_stmt if E1then if E2 then S1 else S2 sẽ chỉ có một cách hiểu duy nhất KHỬ ĐÊ QUI TRÁI  Một văn phạm được . ÔN TẬP MÔN AUTOMAT VÀ TRÌNH BIÊN DỊCH Tiến sĩ: Lê Minh Trung Khoa CNTT, Đại học Sư phạm Tp HCM NÔI DUNG ÔN TẬP  Ngôn ngữ và văn phạm phi ngữ cảnh  Automat đẩy xuống  Đại cương về trình biên. b,a trong vùng đệm Ngôn ngữ chấp nhận bởi automat: L(M) = {uav: u,v ϵ {a,b}* và |u| = |v|} THIẾT KẾ AUTOMAT CHẤP NHẬN NGÔN NGỮ  Thiết kế các automat chấp nhận các ngôn ngữ sau a) L = {wcwR:. ((s,e,e),(f,e)), ((f,b,a),(f,e))  F = {f}  Chuỗi aaabbb có được chấp nhận bởi automat không?  Ngôn ngữ chấp nhận bởi automat trên là ngôn ngữ nào? Trạng thái Chuỗi nguyên liệu Ngăn xếp s aaabbb s aabbb

Ngày đăng: 26/01/2015, 17:19

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w