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"
Este projeto usa alguns recursos da versão 14 de Java. Por isso é necessário verificar a versão instalada e, se for necessário, atualizar a versão.
$ java -version
Caso seja necessário, você pode usar o sdkman (sdkman.org) para instalar a versão mais nova.
$ sdk i java
Para compilar use compilar.bat
(windows) ou compilar.sh
(linux).
$ ./compilar.sh
O script gera o parser e compila o código Java gerado.
Para executar use while.bat
(windows) ou ./while
(linux).
$ ./while olamundo.while
- 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 de expressao ate expressao faca comando
. Exemplo
para i de 1 ate 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áusulasenaose
. 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
escolha
(switch).
x = leia
escolha 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 que o comando
exiba
passa ser usado com números e com textos.
exiba "Ola Mundo"
exiba 2021