NeoBIRL: Reimplementando a linguagem do BAMBAM! 💪
Vocês lembram da linguagem do BAMBAM?
Em meados de 2016, uma linguagem recursiva inspirada no meme do Bam Bam surgia, a tal da "BIRL Language". Ela acabou ficando bem popular na época, muito provavelmente pelo hype do meme, mas também pela sua sintaxe, que era "exótica", se assim podemos dizer.
Escrever código BIRL era relativamente simples pois o compilador da linguagem rodava num servidor escrito em Node.js, então podíamos inserir o código no site, enviá-lo ao servidor e receber uma resposta logo em seguida. Entretanto, algo triste aconteceu.
O servidor da BIRL Language está fora do ar!
Aparentemente o servidor não está mais em produção. Percebi isso há uns meses atrás, quando acessei o site para visitar a linguagem novamente. Na época nem programava, então a vontade de mexer naquilo era grande.
Lá fui eu fuçar o código fonte do servidor. Depois de olhar por um tempo, percebi que o fluxo era relativamente simples. O servidor recebia o conteúdo do código por um JSON, convertia o código BIRL para C através de expressões regulares (é, isso mesmo KKKKK) e logo em seguida compilava, executava, e enviava o output para o cliente.
O plano era remover a lógica do servidor para ficar somente com a lógica necessária para a execução do código.
NeoBIRL: BIRL Language numa CLI (e com alguns recursos a mais)
A minha solução foi criar uma CLI para a linguagem, desse modo, podemos executar código BIRL sem a necessidade de um servidor, esteja ele em produção ou rodando localmente. Vocês podem acessar a CLI e testar por aqui: https://github.com/neobirl/cli. Também pretendo botar a mão na massa com uma documentação no gitbook, que já pode ser acessada.
Não é inovador, nem complexo, mas é muito divertido. Se você tiver um tempinho livre e gosta de projetos cômicos, recomendo dar uma olhada (ou até mesmo contribuir). Obrigado pela leitura! =)
Padilha, RCzera, se algum de vocês estiver lendo isso. Obrigado por essa pérola.