Skip to content
/ while Public template

Linguagem "Enquanto" usada como exemplo na disciplina de Paradigmas de Linguagens de Programação

License

Notifications You must be signed in to change notification settings

lrlucena/while

Repository files navigation

While

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.

$ 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

Projeto de Paradigmas de Linguagens de Programação

Tarefas:

  1. Inclua a operações de divisão (/) e de exponenciação de inteiros (^)
  2. Inclua as operações ou e xor entre booleanos
  3. Inclua as relações menor (<), maior (>), maior ou igual (>=) e diferente (<>) entre inteiros
  4. Altere a sintaxe para que o ; ao invés de separar comandos seja usado para finalizar cada comando
  5. Crie o comando para ID de expressao ate expressao faca comando. Exemplo
    para i de 1 ate 5 faca
      escreva i
  1. Crie o comando repita expressao vezes comando. Exemplo
    repita 10 vezes
      exiba "Funciona"
  1. Altere o comando se .. entao .. senao ... para incluir a cláusula senaose. Cada se pode ter zero ou mais clausulas senaose. Exemplo:
    se nota >= 6 entao
      exiba "Aprovado"
    senaose nota >= 3 entao
      exiba "Recuperação"
    senao
      exiba "Reprovado"
  1. Crie o comando escolha (switch).
    x = leia
    escolha x
      1 : exiba "um"
      2 : exiba "dois"
      _ : exiba "outro numero"
  1. Altere a linguagem para permitir atribuições paralelas:
    a, b, c := 2, 3, 4
    a, b := b, a
  1. Altere a linguagem para que o comando exiba passa ser usado com números e com textos.
  exiba "Ola Mundo"
  exiba 2021

About

Linguagem "Enquanto" usada como exemplo na disciplina de Paradigmas de Linguagens de Programação

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages