@manoelcarvalho/brazis
v1.0.1
Published
**Brazis** é uma linguagem de programação criada por **Manoel Carvalho** para fins didáticos. Inspirada na cultura brasileira, seu objetivo é ensinar lógica de programação para iniciantes usando uma sintaxe simples e em português.
Downloads
303
Readme
Brazis
Brazis é uma linguagem de programação criada por Manoel Carvalho para fins didáticos. Inspirada na cultura brasileira, seu objetivo é ensinar lógica de programação para iniciantes usando uma sintaxe simples e em português.
Filosofia
- Comandos em português claro (
se,entao,senao,fim,imprimir) - Parênteses apenas quando necessário para agrupar expressões
- Funções são valores de primeira classe
- Sintaxe mínima e consistente
Instalação
npm install -g brazisUso
brazis run arquivo.bzsComandos
Comentários
Use # para comentários de linha.
# Isto é um comentário
nome = "Brazis" # comentário no final da linhaVariáveis e tipos
nome = "Brazis" # texto (string)
idade = 30 # número inteiro
ativo = verdadeiro # booleano
inativo = falso # booleanoOperadores aritméticos
soma = 10 + 5 # adição
sub = 10 - 5 # subtração
mult = 10 * 5 # multiplicação
div = 10 / 5 # divisão
resto = 10 % 3 # móduloOperadores de comparação
> # maior que
>= # maior ou igual
< # menor que
<= # menor ou igual
== # igual
!= # diferenteOs operadores de comparação retornam verdadeiro ou falso.
Condicional (se / entao / senao / fim)
idade = 18
se idade >= 18 entao
imprimir "Maior de idade"
senao
imprimir "Menor de idade"
fimFunções
Função de um parâmetro:
dobro = fn x -> x * 2
imprimir (dobro 5) # 10Função de múltiplos parâmetros:
somar = fn a b -> a + b
resultado = somar 10 20
imprimir resultado # 30Listas
numeros = [1, 2, 3, 4, 5]
imprimir numeros # [1, 2, 3, 4, 5]
imprimir (tamanho numeros) # 5
imprimir (primeiro numeros) # 1
imprimir (resto numeros) # [2, 3, 4, 5]Funções nativas de lista
numeros = [1, 2, 3, 4, 5]
dobro = fn x -> x * 2
par = fn x -> (x % 2) == 0
somar = fn acc x -> acc + x
# mapa: aplica uma função a cada elemento
mapa dobro numeros # [2, 4, 6, 8, 10]
# filtro: mantém elementos que satisfazem a condição
filtro par numeros # [2, 4]
# reduzir: acumula os elementos com uma função
reduzir somar 0 numeros # 15Operador pipeline (|>)
Passa o resultado de uma expressão como último argumento da próxima função.
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
dobro = fn x -> x * 2
maiorQueCinco = fn x -> x > 5
resultado = numeros |> mapa dobro |> filtro maiorQueCinco
imprimir resultado # [6, 8, 10, 12, 14, 16, 18, 20]Equivalente a:
resultado = filtro maiorQueCinco (mapa dobro numeros)Chamadas aninhadas com parênteses
Use parênteses para agrupar chamadas:
numeros = [1, 2, 3, 4]
imprimir (tamanho numeros) # 4
imprimir (primeiro numeros) # 1
imprimir (dobro 5) # 10
imprimir (somar 10 20) # 30Sem parênteses, imprimir tamanho numeros seria interpretado como imprimir(tamanho, numeros) — dois argumentos separados.
Exemplo completo
# Programa: analisar números
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
dobro = fn x -> x * 2
par = fn x -> (x % 2) == 0
somar = fn acc x -> acc + x
paresDobrados = numeros |> filtro par |> mapa dobro
total = reduzir somar 0 paresDobrados
imprimir "Pares dobrados:"
imprimir paresDobrados
imprimir "Soma total:"
imprimir totalSaída:
Pares dobrados:
[4, 8, 12, 16, 20]
Soma total:
60Licença
MIT
