ตัววิเคราะห์การกระจาย LR(1)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
การวิเคราะห์ความแปรปรวน แบบหนึ่งทาง
Advertisements

คณิตศาสตร์ประยุกต์ 2 ค่ามัธยฐาน จัดทำโดย อ.เทวี บัวแย้ม.
จุด ส่วนของเส้นตรง เส้นตรง รังสี มุม
ลิมิตและความต่อเนื่อง
โครงสร้างทางคณิตศาสตร์และการให้เหตุผล (Mathematical Structure and Reasoning) Chanon Chuntra.
สับเซตและเพาเวอร์เซต
การจัดหมู่(Combination)
ไวยากรณ์ของภาษาการทำโปรแกรม (2) (Syntax of programming languages)
ความหมายของความสัมพันธ์ (Relation)
บทที่ ๖ หลักการแก้ปัญหาด้วยคอมพิวเตอร์
Ordering and Liveness Analysis ลำดับและการวิเคราะห์บอกความ เป็นอยู่หรือความตาย.
 Chainate, W..  หากเกิด error() ขึ้น แสดงว่า ข้อมูลเข้าไม่เป็นประโยค  คอมไพเลอร์ที่ดี... o ไม่ควรหยุดเมื่อพบความผิดพลาดครั้งแรก o ควรรายงานความผิดพลาด.
FIRST & FOLLOW Parsing Table
ภาควิชาวิศวกรรมคอมพิวเตอร์ มิถุนายน ๒๕๕๒
นางสาวสุพรรษา ธรรมสโรช
ทฤษฏีกราฟเบื้องต้น ชั้นมัธยมศึกษาปีที่ 5.
ความหมายเซต การเขียนเซต ลักษณะของเซต.
จุด เส้น และระนาบ จุดเจาะระหว่างเส้นกับระนาบ
บทที่ 5 การทำงานแบบวนซ้ำ
สับเซต ( Subset ) นิยาม กำหนดให้ A และ B เป็นเซตใด ๆ เรากล่าวว่า A เป็นสับเซต B ก็ต่อเมื่อ สมาชิกทุกตัวของ A เป็นสมาชิกของ B ใช้สัญลักษณ์
การใช้ Icon Start และ Stop
สับเซต ( Subset ) นิยาม กำหนดให้ A และ B เป็นเซตใด ๆ เรากล่าวว่า A เป็นสับเซต B ก็ต่อเมื่อ สมาชิกทุกตัวของ A เป็นสมาชิกของ B ใช้สัญลักษณ์
การดำเนินการของเซต 1. ยูเนียน
อินเตอร์เซกชั่น (Intersection) คอมพลีเมนต์ (Complement)
บทที่ 8 เมตริกซ์และตัวกำหนด.
Asynchronous Transfer Mode
การจำลองความคิด
หน่วยที่ 8 อนุพันธ์ย่อย (partial derivative).
Surachai Wachirahatthapong
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
ระบบจำนวนเต็ม โดย นางสาวบุณฑริกา สูนานนท์
ไวยากรณ์ของภาษาการทำโปรแกรม (1) (Syntax of programming languages)
การฟื้นสภาพและการควบคุมสภาวะพร้อมกัน
การวิเคราะห์การปฏิบัติงาน
การดำเนินการเกี่ยวกับเซต
นิยาม, ทฤษฎี สับเซตและพาวเวอร์เซต
ประโยคเปิดและตัวบ่งปริมาณ
ความสัมพันธ์ดีกรี n และการประยุกต์ใช้งาน
ค31211 คณิตศาสตร์สำหรับ คอมพิวเตอร์ 1
ค31211 คณิตศาสตร์สำหรับ คอมพิวเตอร์ 1
ค32213 คณิตศาสตร์สำหรับคอมพิวเตอร์ 3 โรงเรียนปลวกแดงพิทยาคม
ค31212 คณิตศาสตร์สำหรับ คอมพิวเตอร์ 2
สัปดาห์ที่ 7 การแปลงลาปลาซ The Laplace Transform.
การวัดและประเมินผลผู้เรียน
ฟังก์ชันเอกซ์โพเนนเชียล
พีชคณิตบูลีน และการออกแบบวงจรลอจิก (Boolean Algebra and Design of Logic Circuit)
การออกแบบโปรแกรม ขั้นตอนการแก้ปัญหา การนิยามปัญหา (Problem definition)
บทที่ 7 Deadlock Your company slogan.
Week 12 Engineering Problem 2
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
ตัวประกอบ (Factor) 2 หาร 8 ลงตัว 3 หาร 8 ไม่ลงตัว 4 หาร 8 ลงตัว
หลักการเขียนโปรแกรม ( )
ค32212 คณิตศาสตร์สำหรับ คอมพิวเตอร์ 4
ทบทวนความรู้เดิม (Activate Prior Knowledge)
การเขียนรายงานเพื่อนำเสนอโครงงานวิทยาศาสตร์
ความสัมพันธ์และฟังก์ชัน
องค์ประกอบของวรรณคดี
บทที่ ๗ เรื่องทฤษฎีของเทวินิน
หลักการเขียนโปรแกรม ( )
ความต่อเนื่องของฟังก์ชัน
ค32214 คณิตศาสตร์สำหรับ คอมพิวเตอร์ 4
วิชานิวแมติกส์และไฮดรอลิกส์ ระดับประกาศนียบัตรวิชาชีพ
บทที่ 1 จำนวนเชิงซ้อน.
บทที่ 6 การจัดการโครงการ Project Management ญาลดา พรประเสริฐ.
PHP เบื้องต้น.
Summations and Mathematical Induction Benchaporn Jantarakongkul
โดเมนเละเรนจ์ของความสัมพันธ์
Nested loop.
ค31212 คณิตศาสตร์สำหรับ คอมพิวเตอร์ 2
โครงสร้างของภาษา HTML
ใบสำเนางานนำเสนอ:

ตัววิเคราะห์การกระจาย LR(1) Warattapop Chainate

LR(1) Parsing LR(1) parsing มีองค์ประกอบและขั้นตอนวิธีเหมือนกับ SLR(1) parsing ต่างกันเพียงวิธีการสร้าง action และ goto tables เท่านั้น แต่... ก่อนจะไปสร้างตาราง เราต้องรู้จัก item LR(1) closure set goto set และ กลุ่มคาโนนิคอล LR(1)

Item LR(1) และ Closure ไอเท็ม LR(1) ประกอบด้วยสองส่วน ส่วนแรกเหมือนกับไอเท็ม LR(0) และส่วนที่สองเป็น terminal sym หรือ $ โดยจะเขียนอยู่ในรูป [ส่วนแรก, ส่วนที่สอง] เช่น [X, a] Closure(I) สำหรับ LR(1) เพิ่มสมาชิกทุกตัวใน I เข้าไปเป็นสมาชิกของ closure(I) พิจารณาไอเท็ม LR(1) ที่เป็นสมาชิกใน closure(I) ถ้ามี  อยู่หน้า non-terminal sym สมมติว่าคือ [XB, a] และ B มีกฎ B ให้เพิ่มไอเท็ม LR(1) คือ [B, b] เมื่อ b  FIRST(a) เข้าไปเป็นสมาชิกของ closure(I) ** หากมี $ ให้มอง $ เป็น terminal sym ตัวหนึ่ง FIRST($)={$} ทำข้อ b ซ้ำๆ จนกว่าจะไม่มีไอเท็ม LR(1) ใหม่เพิ่มเข้าไปใน closure(I) จงหา closure({[S’S, $]})

goto for LR(1) goto(I, X) เมื่อ I เป็นเซตของไอเท็ม LR(1) และ X เป็น non-terminal หรือ terminal sym จะมีวิธีการหาสมาชิกดังนี้ นำไอเท็ม LR(1) ใน I ที่มี  ติดอยู่ข้างหน้า X มารวมกันเป็นเซต เลื่อน  ไปไว้หลัง X แล้วหา closure ของเซตดังกล่าว จาก กำหนดให้ I3={[SbA, $], [Sbda, $], [Ad, $], [A, $]} จงหาเซตของ goto (0) S’  S (1-4) S  Aa | bA | bda |  (5-6) A  d | 

กลุ่มคาโนนิคอล LR(1) สำหรับไวยากรณ์ G=(N, T, S, P) และ Ag (N{S’}, T, S’, P{S’S}) กำหนดให้ C เป็นเซตของ ไอเท็ม LR(1) ของ Ag G’ ซึ่งเรียกว่า “กลุ่มคาโนนิคอล LR(0) ของ Ag G’” C := {closure({[S’S, $]})}; ทำซ้ำๆ จนกว่าจะไม่มีสมาชิกใหม่เพิ่มเข้าไปใน C ดังนี้ สำหรับ (สมาชิก I แต่ละตัวใน C) สำหรับ (สัญลักษณ์สิ้นสุด และสัญลักษณ์ไม่สิ้นสุด X แต่ละตัว) ถ้า (goto(I, X) และ goto(I, X)C) แล้ว เพิ่ม goto(I, X) เข้าไปในสมาชิกตัวใหม่ใน C;

I0={[S’S, $], [SAa, $], [SbA, $], [Sbda, $], [S, $], [Ad, a], [A, a]}