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
Sintaxe
A gramática está definida em Enquanto.g4
Exemplo
a := leia; b := 10; se a <= b entao exiba "Menor" senao exiba "Maior"
Compilação e Execução
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.
Caso seja necessário, você pode usar o sdkman (sdkman.org) para instalar a versão mais nova.
Para compilar use compilar.bat (windows) ou compilar.sh (linux).
O script gera o parser e compila o código Java gerado.
Para executar use while.bat (windows) ou ./while (linux).
Projeto de Paradigmas de Linguagens de Programação
Tarefas:
- Inclua a operações de divisão (
/) e de exponenciação de inteiros (^) - Inclua as operações
ouexorentre 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. Cadasepode 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
exibapassa ser usado com números e com textos.
exiba "Ola Mundo" exiba 2021