Skip to content

Repositório destinado para atividade A3 da UC teoria da computação e compiladores

Notifications You must be signed in to change notification settings

joaopedrobarbosa/tcca3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tcca3

Repositório destinado para atividade A3 da UC teoria da computação e compiladores

Participantes

Joao Pedro Barbosa Santos - RA: 1272121747 Raphael de Freitas Oliveira - RA: 1272211685 Manoel Cendon Duran - RA: 1272214667 Tereza Muniz Ferreira - RA: 1272122249 Renan Santos Abreu de Barros - RA: 1272121819

Rodando o projeto

Para criar um ambiente virtual e instalar as dependências:

./setup.sh

Para compilar e executar um arquivo .bahia

python main.py ./caminho/para/arquivo.bahia

O arquivo será compilado e executado. O resultado será exibido no terminal. A saída estará disponível em ./output.py

Para rodar o servidor interativo (interface de usuário)

uvicorn main:app

Acesse a aplicação em http://localhost:8000

Sobre o projeto

Implementada com a ajuda da biblioteca Ply, a linguagem Bahia é uma linguagem de programação de alto nível expressiva e de fácil compreensão. As palavras chave da linguagem são derivadas da cultura baiana, refletindo a expressividade do povo baiano.

Um exemplo de código em Bahia:

x = 0;
y = 2 * 3 + 4 * (5 - x);

se (x > 5) {
    amostre("x is greater than 5");
} senao {
    amostre("x is less than or equal to 5");
}

vai_de i (0 ate 10) {
    amostre(i);
    amostre("MANOWELL");
    se (x == i) {
        amostre("x == i");
    }
}

se (eh_mermo) {
    amostre(migue);
}

z = 5;
enquanto (z < 10) {
  amostre("RAPHAWELL");
  z = z + 1;
}

Palavras chave da linguagem: se (if) senao (else) vai_de (for) eh_mermo (True) migue (False) amostre (print) enquanto (while)

About

Repositório destinado para atividade A3 da UC teoria da computação e compiladores

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published