งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Chainate, W..  หา FIRST (1)  หาค่า ɛ ว่าเป็นสมาชิกใน FIRST ของ สัญลักษณ์ไม่สิ้นสุดตัวใดได้บ้าง  ɛ  FIRST(A)  ɛ  FIRST(B)

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Chainate, W..  หา FIRST (1)  หาค่า ɛ ว่าเป็นสมาชิกใน FIRST ของ สัญลักษณ์ไม่สิ้นสุดตัวใดได้บ้าง  ɛ  FIRST(A)  ɛ  FIRST(B)"— ใบสำเนางานนำเสนอ:

1 Chainate, W.

2  หา FIRST (1)  หาค่า ɛ ว่าเป็นสมาชิกใน FIRST ของ สัญลักษณ์ไม่สิ้นสุดตัวใดได้บ้าง  ɛ  FIRST(A)  ɛ  FIRST(B)

3  หา FIRST (2) +*()idEATBF + * ( ) E A T B F

4  หา FIRST +*()idEATBF + * ( ) E A T B F

5  หา FOLLOW FOLLOWEATBF

6  เป็นตาราง 2 มิติ ขนาด m คูณ n  m is non-terminal symbols  n is terminal symbols + 1 ($)  สำหรับแต่ละกฏ X   ให้ใส่กฏนี้ใน ช่อง [X, a] เมื่อ a  ɛ  FIRST(  ) และ ถ้า ɛ  FIRST(  ) ใส่กฏนี้ใน ตารางตรงช่อง [X, b] เมื่อ b  FOLLOW(X)

7  ไวยากรณ์ไม่พึ่งบริบท (context free grammar) ที่นำมาสร้างตาราง วิเคราะห์การกระจาย (parsing table) ของตัววิเคราะห์กระจายทำนายไม่ เรียกซ้ำ (nonrecursive predictive parser) แล้วในช่องมีมากกว่า 1 กฏ แสดงว่าตารางนั้นเกิดความขัดแย้ง และไวยากรณ์ดังกล่าวจะไม่เป็น ไวยากรณ์ LL(1)  รวมถึงไวยากรณ์กำกวมด้วย  ลองทำ FIRST & FOLLOW และ parsing table จากไวยากรณ์นี้ดูซิ...  S  iEtAB  B  eA | ɛ  E  b  A  S | a

8  CFG จะเป็นไวยากรณ์ LL(1) ก็ต่อเมื่อ  X   1 |  2 | … |  n แล้วจะได้ว่า FIRST(  i )  FIRST(  j ) =  สำหรับ i  j   i  *  แล้ว FIRST(  j )  FOLLOW(X) =  สำหรับ j  I  ไวยากรณ์ต่อไปนี้เป็นไวยากรณ์ LL(1) หรือไม่  S  iEtSA | a  A  eS |   E  b

9  Non-terminal symbols ใดๆ มีการ เกิดซ้ำซ้าย ถ้า X  + X  ซึ่งเรา สามารถตรวจสอบได้โดยใช้เมทริกซ์ ที่ใช้หา FIRST  CFG ที่มี NT อย่างน้อยหนึ่งตัวมีการ เกิดซ้ำซ้าย จะไม่เป็นไวยากรณ์ LL(1)  ในกรณีที่มีกฏ X  X  เราจะกล่าว ได้ว่ามีการเกิดซ้ำซ้ายทันที และ สามารถขจัดการเกิดซ้ำซ้ายด้วยการ เขียนกฏที่อยู่ในรูป X  X  1 |X  2 |…|X  m |  1 |  2 |…|  n ให้กลายเป็น X   1 Y|  2 Y|…|  n Y Y   1 Y|  2 Y|…|  m Y เมื่อ Y เป็น NT ตัวใหม่

10  จงเปลี่ยนไวยากรณ์ต่อไปนี้ ให้ไม่มี การเกิดซ้ำซ้าย  E  E+T | E-T | T  T  T*F | T/F | F  F  -F | +F | P  P  (E) | id

11  CFG:  X   1 |  2 เมื่อ  จะไม่เป็นไวยากรณ์ LL(1) เพราะ FIRST(  1 )  FIRST(  2 )   เราเรียก  ว่า ตัวประกอบซ้าย (left- factoring)  เราสามารถเขียนกฏซึ่งอยู่ในรูป X   1 |  2 |…|  n เมื่อ  เป็น prefix ที่ยาวที่สุดและ  ดังนี้ X   Y Y   1 |  2 |…|  n เมื่อ Y เป็น NT ตัวใหม่


ดาวน์โหลด ppt Chainate, W..  หา FIRST (1)  หาค่า ɛ ว่าเป็นสมาชิกใน FIRST ของ สัญลักษณ์ไม่สิ้นสุดตัวใดได้บ้าง  ɛ  FIRST(A)  ɛ  FIRST(B)

งานนำเสนอที่คล้ายกัน


Ads by Google