Achei interessante sua iniciativa, mas acho que falta um pouco de base no seu código. Lembre-se que sempre que você for fazer algo, muito provavelmente alguém já fez aquilo antes, e o que eu quero dizer com isso, é que o mais sensato seria pesquisar sobre pra achar dicas sobre boas práticas, arquitetura, design patterns e tudo mais. Assim você evitaria frustrações futuras com seu código, por ter feito de um jeito e depois ter que refatorar tudo.
Minha recomendação é você estudar um pouco sobre compiladores e interpretadores, a diferença entra cada um, e como eles funcionam. Ter conhecimentos sobre Linux também ajudaria muito nesse processo.
A sua lógica precisa de muitos aprimoramentos, mas levando em consideração que você não é gênio da programação, isso é completamente normal. Mas para criar uma linguagem realmente relevante você precisa de algoritmos e estruturas de dados muito mais complexas, como por exemplo árvores binárias. Senti a falta de orientação a objetos no seu código também, que são muito importantes pra você conseguir escalar a aplicação e não desistir do projeto.
Recomendo pra você o vídeo do Fábio Akita sobre compiladores e interpretadores, vai dar uma visão muito maior pra você do que esse comentário. Do mais creio que se você continuar estudando e principalmente fazendo auto-críticas a si mesmo, imagino que você terá uma visível evolução. Não conheço de Lua mas talvez futuramente eu tente contribuir com algo no projeto. E é isso, espero que o comentário seja de alguma forma motivador pra você.
Bons estudos!🚀