Uma implementação em Go (Golang) da linguagem BIRL (Bambam's "It's show time" Recursive Language). Siga a filosofia "TREZE PORRA!" e "AQUI É BODYBUILDER" diretamente no seu terminal.
Este projeto foi inspirado na linguagem original BIRL.
Esta implementação suporta a maioria das funcionalidades da especificação original com adições regionais (acentuação) e recursos como ponteiros e arrays.
- Go 1.21 ou superior instalado.
Windows: Baixar executável (v0.0.4)
Via Código (Linux/macOS):
git clone https://github.com/gabrielalmir/birl-go.git
cd birl-go
go build -o birl main.goPara rodar um arquivo .birl:
./birl tests/scripts/soma.birl| BIRL | C / Equivalente | Descrição |
|---|---|---|
HORA DO SHOW |
int main() { |
Início do programa principal |
BIRL |
} |
Fim de qualquer bloco |
| BIRL | Tipo |
|---|---|
MONSTRO |
Inteiro (int64) |
TRAPÉZIO |
Ponto flutuante (float64) |
FRANGO |
Caractere / String |
| BIRL | Função |
|---|---|
CE QUER VER ESSA PORRA?(exp); |
printf (Saída) |
QUE QUE CE QUER MONSTRÃO?(var); |
scanf (Entrada) |
| BIRL | Equivalente |
|---|---|
ELE QUE A GENTE QUER? (cond) |
if |
QUE NUM VAI DAR O QUE? (cond) |
else if |
NÃO VAI DAR NÃO |
else |
NEGATIVA BAMBAM (cond) |
while |
MAIS QUERO MAIS (init; cond; inc) |
for |
SAI FILHO DA PUTA |
break |
VAMO MONSTRO |
continue |
BORA DIVIDIR O PESO [call] |
go routine |
&&(AND lógico)||(OR lógico)
- Declaração:
OH O HOMEM AI PO [tipo] [nome]([params]) - Chamada:
AJUDA O MALUCO TA DOENTE [nome]([args]) - Retorno:
BORA CUMPADE [valor]; - Funções Nativas (Builtins):
TAMANHO(obj),CONVERTE_MONSTRO(str),IMC(peso, altura),DESCANSO(ms).
- Ponteiros:
&variavel(endereço) e*ponteiro(desreferência) - Arrays:
MONSTRO lista = [1, 2, 3];elista[0] - Dicionários (Fibras):
MONSTRO ficha = {"musculo": "Peito", "series": 4};eficha["musculo"]
//para comentários de linha/* */para comentários de bloco
HORA DO SHOW
MAIS QUERO MAIS (MONSTRO i = 0; i < 10; i = i + 1)
ELE QUE A GENTE QUER? (i == 5)
CE QUER VER ESSA PORRA?("Fadigou, parando na 5!");
SAI FILHO DA PUTA; // Break
BIRL
CE QUER VER ESSA PORRA?(i);
BIRL
BIRL
OH O HOMEM AI PO MONSTRO DOBRO(MONSTRO n)
BORA CUMPADE n * 2;
BIRL
HORA DO SHOW
MONSTRO x = AJUDA O MALUCO TA DOENTE DOBRO(7);
CE QUER VER ESSA PORRA?(x); // Imprime 14
BIRL
HORA DO SHOW
MONSTRO x = 13;
MONSTRO p = &x;
CE QUER VER ESSA PORRA?(*p); // Imprime 13
BIRL
A documentação detalhada está disponível em: https://gabrielalmir.github.io/birl-go/
- Faça um Fork do projeto
- Crie uma Branch para sua Feature (
git checkout -b feature/TreinoPesado) - Commit suas mudanças (
git commit -m 'Add: Novo Exercício') - Push para a Branch (
git push origin feature/TreinoPesado) - Abra um Pull Request
"É 13 PORRA! SAÍ DAQUI QUE É HORA DO SHOW!" 🦍