คำถามติดแท็ก lr-k

2
มีวิธีการแยกความแตกต่างระหว่างไวยากรณ์ LL (k) และ LR (k) หรือไม่?
ฉันเพิ่งเรียนเกี่ยวกับคอมไพเลอร์ออกแบบ ฉันได้รู้เกี่ยวกับไวยากรณ์สองประเภทประเภทที่หนึ่งคือ LL ไวยากรณ์และอื่น ๆ คือไวยากรณ์ LR เรารู้ถึงความจริงที่ว่า LL ไวยากรณ์ทุกตัวเป็น LR ซึ่งก็คือ LL ไวยากรณ์นั้นเป็นเซตย่อยที่เหมาะสมของไวยากรณ์ LR อันแรกใช้ในการแยกวิเคราะห์จากบนลงล่างและอันที่สองใช้ในการแยกวิเคราะห์จากล่างขึ้นบน แต่มีวิธีใดบ้างที่เราสามารถพูดได้ว่าไวยากรณ์ที่กำหนดคือ LL หรือ LR?

2
ออโตเมชั่น LR (1) สำหรับภาษาหนึ่ง ๆ จะใหญ่กว่าเทอร์มอนิน LR (0) ที่เท่ากันได้อย่างไร?
ในตัวแยกวิเคราะห์ LR (0) แต่ละรัฐประกอบด้วยชุดของรายการ LR (0) ซึ่งเป็นการผลิตคำอธิบายประกอบพร้อมตำแหน่ง ในตัวแยกวิเคราะห์ LR (1) แต่ละรัฐประกอบด้วยชุดของรายการ LR (1) ซึ่งเป็นโปรดักชั่นที่มีคำอธิบายประกอบพร้อมตำแหน่งและตัวอักษร lookahead เป็นที่ทราบกันดีว่าเมื่อกำหนดสถานะในออโตเมต LR (1) ชุดการกำหนดค่าที่เกิดขึ้นจากการโยนโทเค็น lookahead จากแต่ละรายการ LR (1) ให้ชุดการกำหนดค่าที่สอดคล้องกับสถานะบางอย่างในออโต้ LR (0) ในแง่นั้นความแตกต่างที่สำคัญระหว่างหุ่นยนต์ LR (1) และหุ่นยนต์ LR (0) คือหุ่นยนต์ LR (1) มีสำเนาของสถานะต่าง ๆ ในหุ่นยนต์ LR (0) ซึ่งแต่ละอันมีหมายเหตุประกอบกับ lookahead ข้อมูล. ด้วยเหตุผลนี้ LR (1) ออโตมาตะสำหรับ CFG ที่กำหนดมักจะมีขนาดใหญ่กว่าตัวแยกวิเคราะห์ LR …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.