Estou criando uma linguaguem de progamação do zero (Uranus)
Olá, me chamo Gustavo progamo em Lua(no qual sou mestre) Ontem de ontem tive a ideia de criar uma linguaguem de progamação do zero até agora não pesquisei nada sobre o assunto mas ontem de ontem eu tive resultados consegui fazer meu codigo ler o arquivo e meio que interpretar, ontem eu restruturei todo o código e ja pode chamar funções e bota os parâmetros, ainda tenho que adicionar tipo strings e number, támbem ja tem um sistema de erro que é quando falta um parantese para fechar uma função.
Gif mostrando funcionando
https://github.com/GustavoFatality/Uranus/blob/main/exemplo.gif
Código fonte : https://github.com/GustavoFatality/Uranus/blob/main/main.lua
Como Funciona?
Como eu disse eu to progamando sem nenhuma referência apenas achando como uma linguaguem de progamação funciona, o jeito que fiz é o seguinte:
Algoritimo
- Ele pega a string do arquivo e separa cada linha em uma tabela
- Fazendo dois fors um dentro do outro ele acha as possibilidades
- dentro da tabela da linha temos os seguintes elementos: inFunc(pra saber se esta fazendo uma função), started(Se uma função ja começou), finished(se uma função ja terminou), args(parâmetros/argumentos de uma função), funcIndex(quando inicia uma função indica a index na tabela de funções do sistema), annotation(Quando achar um "--" para parar o for da linha e servir como anotação),
Recursos que ja fiz
- Da para chamar funções, porêm se você de uma olhada no main.lua vera
que o print no caso a função write é em uma table, da pra criar novas funções
e ja tem como usar , pra mais de um parâmetro - Támbem fiz um -- para anotações
Código Fonte: https://github.com/GustavoFatality/Uranus/
To muito feliz aos 15 anos de idade conseguir fazer coisa do tipo progamando desde os 10 anos idade sem fazer nenhum curso algo do tipo apenas observando código(poucas vezes olhava videos para entender algumas coisas mais para termos), planejo adicionar bibliotecas gráficas orientada a objetos ao Uranus.
Em algum momento em breve vou iniciar um canal em https://www.youtube.com/channel/UCCjF3u3eh3NRYOiMdTT7bcQ
E vou falar sobre a linguaguem em algum video.
Você pode deixar sugestões nos comentários.