Реализация основных функций высокоуровневого языка программирования с дальнейшем преобразованием их в язык Lua

Скриптовый язык программирования Lua широко используется в видеоиграх и серверной веб-разработке благодаря простоте встраивания и простому синтаксису. Однако использование Lua в проектах среднего и большого размера становится затруднительным из-за отсутствия статической типизации, маленькой стандартной библиотеки и недостатка функционала синтаксиса. В данной работе создано расширение для Lua в виде языка программирования, который компилируется в необработанный код Lua 5.2. В язык была добавлена возможность объявлять и описывать тип любой переменной. Была создана система проверки типов. Эта система работает во время компиляции и позволяет разработчикам избежать ошибок, когда во время исполнения программы переменная не была ожидаемого типа. В язык также были добавлены классы с возможностью наследования от класса, таблицы или типа таблицы. Далее, в язык был добавлен синтаксический сахар для создания лямбда-функций, быстрой проверки существования объекта, а так же удобного импортирования объектов из других файлов. Наконец, на основе классов были созданы вспомогательные типы данных, такие как список и словарь. В результате был построен прототип языка программирования с высокоуровневыми функциями, который преобразуется в код Lua.

Implementing the main features of a high-level programming language with further transformation into the Lua language

The Lua scripting language is widely used in video games and server-side web development due to the ease of embedding and simple syntax. However, using Lua in middle to large size projects becomes difficult due to lack of static typing, a small standard library and lack of syntax features. In this work, an extension for Lua is created in the form of a programming language, which compiles to raw Lua 5.2 code. The language has been added the ability to declare and describe the type of any variable. A type checking system was created. This system works at compile time and allows developers to avoid mistakes where a variable was not of the expected type during program execution. Classes have also been added to the language with the ability to inherit from a class, table or table type. Furthermore, syntactic sugar was added to the language for creating anonymous functions, quickly checking the existence of an object, as well as convenient import of objects from other files. Finally, auxiliary data types such as list and dictionary were created using the new classes. As a result, a prototype of a programming language with high-level functions was built, which compiles to Lua code.

Авторы
Издательство
Российский университет дружбы народов (РУДН)
Язык
Русский
Страницы
232-236
Статус
Опубликовано
Год
2021
Организации
  • 1 Российский университет дружбы народов
Ключевые слова
computer Science; information technologies; conference proceedings; programming languages; компьютерные науки; информационные технологии; проведение конференции; языки программирования
Цитировать
Поделиться

Другие записи

Протасова О.Н., Тё О.Ю., Мамонова В.И.
Тренды социально-экономического развития в условиях реального и виртуального мира. Калмыцкий государственный университет имени Б.Б. Городовикова. 2021. С. 23-24