วีดีโอ: เครื่องวิเคราะห์คำศัพท์ทำอะไร?
2024 ผู้เขียน: Edward Hancock | [email protected]. แก้ไขล่าสุด: 2023-12-16 01:36
การวิเคราะห์ศัพท์คือ เฟสแรกของคอมไพเลอร์ ใช้ซอร์สโค้ดที่แก้ไขจากตัวประมวลผลภาษาที่ เป็น ที่เขียนเป็นประโยค NS เครื่องวิเคราะห์คำศัพท์ แบ่งไวยากรณ์เหล่านี้เป็นชุดของโทเค็น โดยลบช่องว่างหรือความคิดเห็นในซอร์สโค้ด
ดังนั้น lexical analyzer มีหน้าที่อะไร?
บทบาทของ Lexical Analyzer ทำงานต่อไปนี้: อ่านโปรแกรมต้นทาง สแกนอักขระอินพุต จัดกลุ่มเป็น lexemes และสร้างโทเค็นเป็นเอาต์พุต การสแกน: ดำเนินการอ่านอักขระที่ป้อน ลบช่องว่างและความคิดเห็น การวิเคราะห์คำศัพท์ : ผลิตโทเค็นเป็นเอาต์พุต
คอมไพเลอร์ตัวใดที่ใช้ในการวิเคราะห์ศัพท์เหมือนกัน? JavaCC เป็นมาตรฐาน Java คอมไพเลอร์-คอมไพเลอร์ ต่างจากเครื่องมืออื่นๆ ที่นำเสนอในบทนี้ JavaCC เป็นเครื่องมือแยกวิเคราะห์และตัวสร้างสแกนเนอร์ (เล็กเซอร์) ในที่เดียว JavaCC รับไฟล์อินพุตเพียงไฟล์เดียว (เรียกว่าไฟล์ไวยากรณ์) ซึ่งจากนั้นใช้เพื่อสร้างทั้งสองคลาสสำหรับการวิเคราะห์คำศัพท์ เช่นเดียวกับพาร์เซอร์
ในทำนองเดียวกันอาจมีคนถามว่าผลลัพธ์ของ lexical analyzer คืออะไร?
(I) ดิ ผลผลิต ของ เครื่องวิเคราะห์คำศัพท์ คือโทเค็น (II) จำนวนโทเค็นทั้งหมดใน printf("i=%d, &i=%x", i, &i); คือ 10 (III) ตารางสัญลักษณ์สามารถนำไปใช้ได้โดยใช้อาร์เรย์ ตารางแฮช ต้นไม้ และรายการที่เชื่อมโยง
อะไรคือประเด็นในการวิเคราะห์คำศัพท์?
ประเด็นในการวิเคราะห์ศัพท์ 1) การออกแบบที่เรียบง่ายคือการพิจารณาที่สำคัญที่สุด การแยกจาก การวิเคราะห์คำศัพท์ จากไวยากรณ์ การวิเคราะห์ มักจะช่วยให้เราลดความซับซ้อนของขั้นตอนเหล่านี้ได้ 2) ปรับปรุงประสิทธิภาพของคอมไพเลอร์ 3) การพกพาคอมไพเลอร์ได้รับการปรับปรุง