nelua.io
Nelua (steht für N achssible lua ) ist eine minimale, effiziente, statisch-type und meta-programmierbare Programmiersprache, die stark von Lua inspiriert ist und die zu C und nativem Code kompiliert.
Hinweis: Die Sprache befindet sich im Alpha -Zustand und entwickelt sich immer noch weiter.
#showcase -Kanal auf dem Discord -Server.Nach der Installation möchten Sie sich vielleicht das vorgestellte Beispiel ansehen, ein Schlangenspiel, das die berühmte SDL2 -Bibliothek nutzt:
nelua examples/snakesdl.neluaNelua ist eine Systemprogrammiersprache für leistungsempfindliche Anwendungen, bei denen LUA nicht effizient wäre, z. B. Betriebssysteme, Echtzeit-Anwendungen und Game-Engines. Während es Syntax und Semantik ähnlich wie LUA hat, konzentriert es sich hauptsächlich auf die Erzeugung eines effizienten C-Codes und bietet Unterstützung für hochoptimierbare Programme auf niedriger Ebene. Unter Verwendung von Nelua -Idiomen wie Datensätzen, Arrays, manueller Speicherverwaltung und Zeiger sollten zu einer Leistung führen, die so effizient wie reines C ist. Bei Verwendung von Lua -Idiomen wie Tabellen, Metatables und nicht typed Variablen backt der Compiler hingegen eine Laufzeitbibliothek für diese Art von dynamischen Funktionalität in das Programm, das einen Laufstättenaufwand aufregen könnte.
Nelua kann durch Präprozessorkonstrukte in Lua zur Kompilierung von Preprozessorkonstrukten Meta -Programmierung durchführen. Da der Compiler selbst auch in Lua geschrieben ist, bedeutet dies, dass der von Benutzer bereitgestellte Präprozessorcode an jedem Punkt mit den Interna des Compilers und dem AST des Quellcodes interagieren kann. Ein solches System ermöglicht eine AD-hoc-Implementierung von Konstrukten auf hohem Niveau wie Klassen, Generika und Polymorphismus, ohne sie in die Kernspezifikation aufzunehmen, wodurch die Sprache einfach, erweiterbar und kompakt bleibt. Genauso wie Luas objektorientierte Muster nicht in die Sprache integriert werden, sondern dennoch durch Metatables erreicht werden können, können Sie in Nelua selbst eine ähnliche Funktionalität implementieren, die zur Kompilierungszeit vollständig entschieden oder zur Laufzeit dynamisch entsandt wird.
Nelua kann eine erweiterbare Programmierung durchführen, da der Programmierer die Sprache wie neue Grammatiken, AST -Definitionen, Semantik, Typ Checkers, Codegenerierung und Verhalten an den Compiler zur Kompilierzeit über den Vorprozessor hinzufügen kann.
NELUA unterstützt sowohl die müllgesammelte als auch die manuelle Speicherverwaltung in einer Weise, die der Entwickler leicht zwischen der Verwendung von Müllabfuhr oder der vollständigen Deaktivierung der Müllsammlung oder der Mischung von Müll oder beides wählen kann.
Nelua kompiliert zuerst zu c und führt dann einen C -Compiler aus, um native Code zu erstellen. Auf diese Weise können vorhandene C -Code und Bibliotheken genutzt werden und neue C -Bibliotheken erstellt werden. Ein weiterer Vorteil ist, dass Nelua dieselben Zielplattformen wie C99-Compiler wie GCC oder Clang erreichen und gleichzeitig hochmoderne Compiler-Optimierungen, die von ihnen bereitgestellt werden, genießen.
Die anfängliche Motivation für die Erstellung bestand darin, C/C ++-Teile von Projekten zu ersetzen, die derzeit Lua mit einer Sprache mit ähnlicher Syntax und Semantik verwenden, aber feinkörnige Leistungsoptimierungen ermöglichen und nicht die Fähigkeit verlieren, ein niedriges Niveau zu erreichen, wodurch die Syntax und die Semantik sowohl über kompilierte als auch dynamische Sprachen übereinstimmt.
Sie können in vielerlei Hinsicht zu Nelua unterstützen oder einen Beitrag leisten, dem Projekt einen Stern auf Github geben, seine Funktionen testen, Fehler melden, Ideen diskutieren, anderen Benutzern helfen, sie auf die Welt verteilen, Projekte mit ihm auf Github geteilt, Tutorials oder Blog -Beiträge erstellen, ihre Dokumentation oder eine Spende oder Sponsoring verbessern.
Nelua ist Open Source, aber nicht sehr offen für Beiträge in Form von Pull -Anfragen, wenn Sie etwas, das in der Kernsprache festgelegt oder implementiert wird, zuerst einen Fehlerbericht oder die Öffnung einer Diskussion anstatt einen PR zu erstellen möchten. Die Autoren bevorzugen es so, so dass die ideale Lösung immer ohne unerwünschte Konsequenzen für das Projekt bereitgestellt wird, wodurch die Qualität der Software beibehalten wird.
Lesen Sie mehr über den Beitrag zur beitragenden Seite.
MIT -Lizenz