วางจำหน่ายวันอังคารที่ 19 พฤศจิกายน รีทูซี – ตัวสร้างตัววิเคราะห์คำศัพท์ (รวมถึงคอมไพเลอร์ของนิพจน์ทั่วไปเป็นโค้ดในภาษาการเขียนโปรแกรมเป้าหมาย) re2c เชี่ยวชาญในการสร้าง lexers แบบอินไลน์ที่รวดเร็วและง่ายดาย มันแตกต่างจากเฟล็กซ์อะนาล็อกที่รู้จักกันดีกว่าในอินเทอร์เฟซที่ยืดหยุ่น การสร้าง lexers ที่ไม่ใช่แบบตารางที่ได้รับการปรับปรุงให้เหมาะสม และการสนับสนุนสำหรับการแยกการจับคู่ย่อยตามเครื่องสถานะจำกัดที่กำหนดด้วยแท็ก (ทีดีเอฟเอ- re2c ใช้ในโครงการที่ความเร็วของ lexer มีความสำคัญ เช่น ใน Ninja และ PHP
ในรีลีส 4.0 ระบบย่อยการสร้างโค้ดได้รับการออกแบบใหม่อย่างสิ้นเชิง ซึ่งทำให้สามารถเพิ่มการรองรับสำหรับแปดภาษาใหม่ (D, Haskell, Java, JavaScript, OCaml, Python, V, Zig) นอกเหนือจากภาษาที่รองรับแล้ว (C /C++, Go, Rust) รวมถึงกลไกทั่วไปในการเพิ่มภาษาใหม่ผ่านไฟล์กำหนดค่า ตัวสร้างโค้ดมีหน้าที่ในการแปลเครื่องสถานะไฟไนต์ที่สร้างขึ้นและปรับให้เหมาะสมแล้วให้เป็นโค้ด ซึ่งก็คือ หน้าที่ของมันคือการเลือกโครงสร้างการควบคุม ชนิดข้อมูล โมเดลโปรแกรมทั่วไป ฯลฯ ที่เหมาะกับภาษาเป้าหมาย ก่อนหน้านี้ ตรรกะทั้งหมดนี้เป็นส่วนหนึ่งของซอร์สโค้ด re2c และเพื่อที่จะเปลี่ยนหรือเพิ่มภาษาใหม่ คุณต้องแพตช์ซอร์สโค้ดและสร้าง re2c ใหม่ โปรแกรมแก้ไขดังกล่าวไม่ได้รับการยอมรับในพื้นที่เก็บข้อมูลหลักหากไม่มีชุดตัวอย่างและการทดสอบมาตรฐาน ซึ่งทำให้กระบวนการทั้งหมดซับซ้อนยิ่งขึ้น ตอนนี้ตรรกะทั้งหมดนี้ได้ถูกถ่ายโอนไปยังแล้ว ไฟล์ไวยากรณ์ – ไฟล์การกำหนดค่าข้อความที่ผู้ใช้สามารถจัดเตรียมได้ (re2c ใช้ไฟล์มาตรฐานตามค่าเริ่มต้น) ซอร์สโค้ด re2c ไม่มีรายละเอียดเฉพาะภาษาโดยสมบูรณ์ และอาศัยเฉพาะไฟล์ไวยากรณ์เท่านั้น ผู้ใช้สามารถแทนที่ไฟล์ไวยากรณ์ที่มีอยู่บางส่วนหรือเขียนไฟล์ใหม่ตั้งแต่ต้นได้ สำหรับภาษาที่รองรับอย่างเป็นทางการทั้งหมดก็มี เอกสารครบถ้วนพร้อมตัวอย่าง.
อย่างไรก็ตามแนวคิดเรื่องไฟล์ไวยากรณ์ก็เกิดขึ้นด้วย ความคิดเห็นหนึ่งเกี่ยวกับ ENTขอบคุณสำหรับสิ่งนั้น
the_coder.
เวอร์ชันนี้มีการเปลี่ยนแปลงอื่นๆ มากมายเพื่อทำให้อินเทอร์เฟซผู้ใช้ง่ายขึ้น ปรับปรุงการทำงานกับการจับกลุ่ม และยังเพิ่มสภาพแวดล้อมออนไลน์สำหรับการแก้ไขและรวบรวมตัวอย่าง: http://re2c.org/playground.
ที่มา: linux.org.ru
