ใครรู้ความหมายของ yy


10

เนื่องจากมีการพิจารณาคำถามในประวัติศาสตร์ในหัวข้อฉันจึงคิดว่าฉันจะถามคำถามที่ถูกดักฟังฉันมาระยะหนึ่งแล้วและไม่มีใครรู้ว่าฉันรู้คำตอบแล้ว ไม่มีใครรู้ว่าสิ่งสำคัญทางประวัติศาสตร์ของคำนำหน้า yy? ตัวแปรและฟังก์ชั่นส่วนใหญ่ที่สร้างโดย lex เริ่มจากมันเช่นyylval, และyylex(). ฉันยังจำการเห็นยูทิลิตี้ชื่อyyrsaที่ไหนสักแห่ง แต่ไม่สามารถหาการอ้างอิงถึงที่ใดก็ได้ในขณะนี้ จิตใจที่อยากรู้อยากรู้อยากเห็น!


5
และฉันคิดว่านี่เป็นคำถามกลุ่ม: P
xenoterracide

คำตอบ:


10

ผมคิดว่ามันมีบางอย่างจะทำอย่างไรกับ yacc ซึ่งมีไฟล์ที่ลงท้ายด้วยและต้องใช้ฟังก์ชั่นที่เรียกว่า.yyylex


6
คำถาม SO นี้ดูเหมือนจะเห็นด้วย
Michael Mrozek

6
Quoting @ peterb การตอบสนองในการโพสต์ SO เชื่อมโยงโดย Michael "ไม่มีความหมายที่ชัดเจนกล่าวถึงเกินกว่าเพียงแค่ต้องการ namespace" yy "ใน lex.yy.c บ่งชี้ว่าการส่งออก lex มีไว้สำหรับการแยกวิเคราะห์ yacc" ขอบคุณเพื่อน!
ทิโมธี

2

อย่างที่คนอื่น ๆ ชี้ไปที่นี่และในStackOverflowมันอาจจะเป็นสองเท่าของyชื่อyaccยูทิลิตี้ที่ใช้สำหรับสร้างพื้นที่ชื่อที่ไม่ซ้ำกัน

POSIX สำรองมาตรฐาน namespaces ที่เริ่มต้นด้วยทั้งสองyyและYYสำหรับyaccกับวรรคต่อไปนี้ :

ชื่อมีความยาวตามอำเภอใจประกอบด้วยตัวอักษรจุด ( .), ขีดล่าง ( _) และตัวเลขที่ไม่ใช่ตัวอักษรเริ่มต้น ตัวพิมพ์ใหญ่และตัวพิมพ์เล็กจะแตกต่างกัน การใช้งานที่สอดคล้องต้องไม่ใช้ชื่อในการเริ่มต้นyyหรือYYตั้งแต่yaccparser ใช้ชื่อดังกล่าว ชื่อจำนวนมากปรากฏในผลลัพธ์สุดท้ายของyaccและดังนั้นควรเลือกให้สอดคล้องกับกฎเพิ่มเติมใด ๆ ที่สร้างโดยคอมไพเลอร์ C ที่จะใช้ โดยเฉพาะอย่างยิ่งพวกเขาปรากฏใน#defineงบ

น่าเสียดายที่ POSIX docs นั้นแย่มากที่เกี่ยวข้องกับรูปแบบประวัติศาสตร์ใด ๆ ว่าทำไมสิ่งต่าง ๆ ถึงเป็นอย่างที่พวกเขาเป็นอยู่ในปัจจุบัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.