Slide Chương trình dịch (UNIT8) - GV Nguyễn Thị Thu Hương

LI
lienhejb
0 téléchargements
4
0

Contenu du document

Page 1

21/1/2010 Phân cấp các ngôn ngữ phi ngữ cảnh Bài 8. VVăăn phn phạạmm LL(k)LL(k) Ngôn ngữ LL(k) FIRSTk(α) „ Xem trước k ký hiệu trên xâu vào để quyết Định nghĩa : Cho văn phạm G phi ngữ cảnh, số định sản xuất được sử dụng nguyên dương k , a là một xâu bao gồm ký „„ ĐượĐược sinh ra nhc sinh ra nhờờ vvăăn phn phạạm LL(k)m LL(k) hihiệệuu kkếếtt thúcthúc vàvà khôngkhông kkếếtt thúcthúc FIRSTk(α) là tập các xâu x gồm k ký hiệu kết thúc trái nhất của các xâu suy dẫn từ α (Kể cả trường hợp x không có đủ k ký hiệu nhưng α suy dẫn ra x , không còn ký hiệu nào sau x) goupee.com fb.com/groups/goupee 1

Page 2

21/1/2010 FIRSTk(α) FOLLOW (α) k Định nghĩa : Cho văn phạm G = (Σ, Δ, P, S), số k ký hiệu kết thúc đầu tiên tiếp sau xâu được nguyên suy dẫn từ α. dươngg k , α ∈ V* FIRST (α) = { x ∈ Σ* | α xβ và |x| = k hoặc α x và k Đặc biệt , khi A là ký hiệu không kết thúc, S |x| < k} ( Tập các xâu x ∈Σ* có k ký hiệu trái nhất suy dẫn suy dẫn ra bA thì FOLLOW (A) ={ε} 1 từ α ( Kể cả trường hợp x không có đủ k ký hiệu nhưng α x , không còn ký hiệu nào sau x)) FOLLOW (α) Văn phạm LL(k) k FOLLOW (α) = {x ∈ Σ* | S ⇒* βαδ và x∈ FIRST (δ)} Định nghĩa văn phạm phi ngữ cảnh G = (Σ, k k Δ, P, S) là LL(k) với k cho trước nếu với mọọi cặặpp suyy dẫn trái ĐặĐặc bibiệệtt , khikhi α =AA ∈ ΔΔ** , SS ⇒** ββAA thìthì FOLLOW (A) ={ε} S => xAα => xβ α => xZ 1 1 1 S => xAα => xβ α => xZ 2 2 Nếu FIRST (Z ) = FIRST (Z ) thì β = β k 1 k 2 1 2 goupee.com fb.com/groups/goupee 2

Page 3

21/1/2010 Ví dụ Văn phạm LL(1) đơn giản Văn phạm G với các sản xuất : Văn phạm G = (Σ, Δ, P, S) là LL(1) đơn giản nếu S → aAS | b mọi sản xuất của văn phạm có dạng AA →→ bSAbSA || aa A → a α | a α |. . . . a α, a ∈ Σ 1≤ i ≤ n 1 1 2 2 n i là LL(1) Trong đó a ≠ a với i ≠ j i j Điều kiện nhận biết văn phạm LL(1) Điều kiện LL(1) trên sơ đồ cú pháp „ Định lý Văn phạm G = (Σ, Δ, P, S) là LL(1) khi „ Ở mỗi lối rẽ, các nhánh phải bắt đầu bằng và chỉ khi mọi tập A- sản xuất trong P có dạng các ký hiệu khác nhau „ A → α || α || . . . . || α ,, n ≥ 2 thoả mãn „„ NNếếu biu biểểuu đồđồ cócó chchứứaa mmộộtt đườđườngng rrỗỗngng thìthì 11 22 nn FIRST (α) ∩ FIRST (α) = ∅ mọi ký hiệu đứng sau ký hiệu được biểu 1 i 1 j Nếu α ⇒ * ε thì diễn bởi biểu đồ phải khác các ký hiệu „ i đứng đầu các nhánh của sơ đồ FIRST (α) ∩ FOLLOW (A) =∅ , i ≠ j 1 i 1 goupee.com fb.com/groups/goupee 3

Page 4

21/1/2010 Văn phạm KPL là LL(1) A FIRST(A) FOLLOW(A) Block CONST, VAR,TYPE, .,; PROCEDURE,BEGIN Unsignedconst ident, number,’ Constant +,-,’,ident,number TType idident i tt,integer, chhar,array Statement ident, CALL, BEGIN, .,;, END WHILE,FOR Expression +,-,(,ident,number .,;, END,TO,THEN,DO,),- ,.),<,<=,>,>=,=,!= Term ident,number, ( .,;,END,TO,THEN,DO,),- ,<,<=,>,>=,=,!= Factor ident, number, ( .,;,END,TO,THEN, DO, +, -, *,/,) ,<,<=,>,>=,=,!= goupee.com fb.com/groups/goupee 4

Affichage des 4 premières pages. Téléchargez le document pour le voir en entier.

Commentaires (0)

Se connecter pour rejoindre la discussion

Aucun commentaire pour le moment. Soyez le premier !