Поскольку на Lua можно сделать Brainfuck, это доказывает его полноту по Тьюрингу. Так что нам мешает создать свой язык на Lua?
Для создания языка нам надо сделать лексер и парсер. Лексер будет преобразовывать наш код в токены, например:
int Variable=2;
Получим:
TYPE: INT
NAME: Variable
OPER: EQUALS
VALUE: 2
END
Теория есть, а практики нет :)
Вот пример пару языков на Lua
https://github.com/pi-pi3/asm.lua
https://github.com/Trystan-C/CC-ASM