/teste-codespace-adorilson

teste-codespace-adorilson created by GitHub Classroom

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

Open in Visual Studio Code 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"

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 em expressao .. expressao faca comando. Exemplo
    para i em 1 .. 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 (opcional) 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 quando (switch).
    x = leia
    quando 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 unificar os comandos exiba e escreva.
  exiba "Ola Mundo"
  exiba 2021