nelua.io
Nelua (ย่อมาจาก n ative e xtensible lua ) เป็นระบบการเขียนโปรแกรมที่มีประสิทธิภาพน้อย, มีประสิทธิภาพ, แบบคงที่และการเขียนโปรแกรมเมตา
หมายเหตุ: ภาษาอยู่ในสถานะอัลฟ่าและยังคงพัฒนาอยู่
#showcase Channel ในเซิร์ฟเวอร์ Discordหลังจากติดตั้งคุณอาจต้องการตรวจสอบตัวอย่างที่โดดเด่นเกมงูใช้ประโยชน์จากห้องสมุด SDL2 ที่มีชื่อเสียง:
nelua examples/snakesdl.neluaNelua เป็นภาษาการเขียนโปรแกรมระบบสำหรับแอพพลิเคชั่นที่ไวต่อประสิทธิภาพซึ่ง LUA จะไม่มีประสิทธิภาพเช่นระบบปฏิบัติการแอปพลิเคชันแบบเรียลไทม์และเครื่องยนต์เกม ในขณะที่มันมีไวยากรณ์และความหมายคล้ายกับ LUA แต่ก็มุ่งเน้นไปที่การสร้างรหัส C ที่มีประสิทธิภาพและให้การสนับสนุนสำหรับการเขียนโปรแกรมระดับต่ำที่เหมาะสมสูง การใช้สำนวน Nelua เช่นบันทึกอาร์เรย์การจัดการหน่วยความจำด้วยตนเองและพอยน์เตอร์ควรส่งผลให้ประสิทธิภาพมีประสิทธิภาพเป็น C บริสุทธิ์ ในทางกลับกันเมื่อใช้สำนวน Lua เช่นตาราง, metatables และตัวแปรที่ไม่ได้รับการควบคุมคอมไพเลอร์จะอบไลบรารีรันไทม์สำหรับฟังก์ชันการทำงานแบบไดนามิกประเภทนี้ลงในโปรแกรมซึ่งอาจทำให้ค่าใช้จ่ายรันไทม์
Nelua สามารถทำการเขียนโปรแกรมเมตาได้ในเวลาที่รวบรวมผ่านตัวประมวลผล preprocessor ที่เขียนใน Lua; เนื่องจากคอมไพเลอร์เองก็ถูกเขียนใน LUA ก็หมายความว่ารหัส preprocessor ที่ผู้ใช้ให้ไว้สามารถโต้ตอบได้ทุกจุดกับ internals ของคอมไพเลอร์และ AST ของซอร์สโค้ด ระบบดังกล่าวช่วยให้การใช้งานแบบ Ad-Hoc ของการสร้างระดับสูงเช่นคลาส, ทั่วไปและ polymorphism ทั้งหมดโดยไม่ต้องเพิ่มเข้าไปในข้อกำหนดหลักจึงทำให้ภาษาง่ายขยายได้และกะทัดรัด แบบเดียวกับที่รูปแบบเชิงวัตถุของ Lua ไม่ได้ถูกสร้างขึ้นในภาษา แต่สามารถทำได้ผ่านทาง metatables ใน Nelua คุณสามารถใช้ฟังก์ชั่นที่คล้ายกันซึ่งได้รับการตัดสินใจอย่างเต็มที่ในเวลาที่รวบรวมหรือส่งแบบไดนามิกที่รันไทม์
Nelua สามารถทำการเขียนโปรแกรมที่ขยายได้เนื่องจากโปรแกรมเมอร์อาจเพิ่มส่วนขยายให้กับภาษาเช่นไวยากรณ์ใหม่คำจำกัดความของ AST ความหมายประเภทหมากฮอสการสร้างรหัสและพฤติกรรมให้กับคอมไพเลอร์ในเวลาคอมไพล์ผ่านตัวประมวลผลล่วงหน้า
Nelua ให้การสนับสนุนสำหรับการจัดการหน่วยความจำที่เก็บรวบรวมและด้วยตนเองในแบบที่นักพัฒนาสามารถเลือกได้อย่างง่ายดายระหว่างการใช้คอลเลกชันขยะหรือปิดการใช้งานคอลเลกชันขยะอย่างสมบูรณ์หรือผสมทั้งสองอย่าง
Nelua รวบรวม First to C จากนั้นจะดำเนินการคอมไพเลอร์ C เพื่อสร้างรหัสดั้งเดิม วิธีนี้สามารถใช้รหัสและไลบรารี C ที่มีอยู่ได้และสามารถสร้างไลบรารี C ใหม่ได้ ประโยชน์อีกประการหนึ่งคือ Nelua สามารถเข้าถึงแพลตฟอร์มเป้าหมายเดียวกันกับคอมไพเลอร์ C99 เช่น GCC หรือ Clang ในขณะที่ยังเพลิดเพลินกับการเพิ่มประสิทธิภาพคอมไพเลอร์ที่ทันสมัย
แรงจูงใจเริ่มต้นสำหรับการสร้างคือการแทนที่ส่วน C/C ++ ของโครงการที่ใช้ LUA ในปัจจุบันด้วยภาษาที่มีไวยากรณ์และความหมายคล้ายกับ LUA แต่ช่วยให้การเพิ่มประสิทธิภาพประสิทธิภาพการทำงานอย่างละเอียดและไม่สูญเสียความสามารถในการไปสู่ระดับต่ำ
คุณสามารถสนับสนุนหรือมีส่วนร่วมใน Nelua ในหลาย ๆ ด้านทำให้โครงการเป็นดาราบน GitHub ทดสอบคุณสมบัติการรายงานข้อบกพร่องพูดคุยเกี่ยวกับความคิดช่วยเหลือผู้ใช้รายอื่นกระจายไปทั่วโลกแบ่งปันโครงการที่ทำกับ GitHub สร้างบทเรียนหรือโพสต์บล็อก
Nelua เป็นโอเพ่นซอร์ส แต่ไม่ได้เปิดให้มีการมีส่วนร่วมในรูปแบบของคำขอดึงหากคุณต้องการบางสิ่งที่ได้รับการแก้ไขหรือนำไปใช้ในภาษาหลักลองส่งรายงานข้อผิดพลาดก่อนหรือเปิดการสนทนาแทนที่จะทำ PR ผู้เขียนชอบด้วยวิธีนี้เพื่อให้มีการจัดหาโซลูชันในอุดมคติเสมอโดยไม่มีผลที่ไม่พึงประสงค์ในโครงการจึงรักษาคุณภาพของซอฟต์แวร์ไว้
อ่านเพิ่มเติมเกี่ยวกับการมีส่วนร่วมในหน้าการบริจาค
ใบอนุญาต MIT