Linguagem "Enquanto" usada como exemplo na disciplina de Paradigmas de Linguagens de Programação
Implementação da linguagem em Scala (~250 linhas de código): whilelang
A gramática está definida em Enquanto.g4
a := leia;
b := 10;
se a <= b entao
exiba "Menor"
senao
exiba "Maior"
- Inclua a operações de divisão (
/
) e de exponenciação de inteiros (^
) - Inclua as operações
ou
exor
entre booleanos - Inclua as relações menor (
<
), maior (>
), maior ou igual (>=
) e diferente (!=
) entre inteiros - Altere a sintaxe para que o
;
ao invés de separar comandos seja usado para finalizar cada comando - Crie o comando
para ID em expressao .. expressao faca comando
. Exemplo
para i em 1 .. 5 faca
escreva i
- Crie o comando
repita expressao vezes comando
. Exemplo
repita 10 vezes
exiba "Funciona"
- Altere o comando
se .. entao .. senao ...
para incluir a cláusula (opcional)senaose
. Cadase
pode ter zero ou mais clausulassenaose
. Exemplo:
se nota >= 6 entao
exiba "Aprovado"
senaose nota >= 3 entao
exiba "Recuperação"
senao
exiba "Reprovado"
- Crie o comando
quando
(switch).
x = leia
quando x
1 : exiba "um"
2 : exiba "dois"
_ : exiba "outro numero"
- Altere a linguagem para permitir atribuições paralelas:
a, b, c := 2, 3, 4
a, b := b, a
- Altere a linguagem para unificar os comandos
exiba
eescreva
.
exiba "Ola Mundo"
exiba 2021