คำถามติดแท็ก lark-parser

2
วิธีการตั้งค่าไวยากรณ์ที่สามารถจัดการกับความกำกวม
ฉันกำลังพยายามสร้างไวยากรณ์เพื่อแยกสูตรคล้าย Excel ที่ฉันคิดขึ้นมาโดยที่อักขระพิเศษในตอนต้นของสตริงแสดงถึงแหล่งที่มาที่แตกต่างกัน ยกตัวอย่างเช่น$สามารถมีความหมายสตริงดังนั้น " $This is text" จะได้รับการปฏิบัติเป็นสัญญาณเข้าสตริงในโปรแกรมและ&สามารถมีความหมายฟังก์ชั่นเพื่อให้สามารถจะถือว่าเป็นการเรียกร้องให้ฟังก์ชั่นภายใน&foo()foo ปัญหาที่ฉันเผชิญคือการสร้างไวยากรณ์อย่างถูกต้อง ตัวอย่างเช่นนี่เป็นเวอร์ชั่นย่อที่มีชื่อว่า MWE: grammar = r'''start: instruction ?instruction: simple | func STARTSYMBOL: "!"|"#"|"$"|"&"|"~" SINGLESTR: (LETTER+|DIGIT+|"_"|" ")* simple: STARTSYMBOL [SINGLESTR] (WORDSEP SINGLESTR)* ARGSEP: ",," // argument separator WORDSEP: "," // word separator CONDSEP: ";;" // condition separator STAR: "*" func: STARTSYMBOL SINGLESTR …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.