Skip to content

BrianMath/Goianinha_Compiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Compilador para a linguagem Goianinha

Descrição

Esse compilador está sendo desenvolvido para a disciplina de Compiladores do curso de Ciência da Computação da Universidade Federal de Goiás.

A linguagem Goianinha é uma linguagem de programação simples (um subconjunto de C e em português), criada para fins didáticos. O compilador está sendo desenvolvido em C++.

Progresso

O compilador consiste em 3 partes:

  • ✅ Analisador Léxico e Tabela de Símbolos
  • ✅ Analisador Sintático e Tratamento de Erros
  • 🔁 Analisador Semântico e Geração de Código
    • ✅ Criação da árvore sintática abstrata (AST)
    • ⬜️ Análise semântica
    • ⬜️ Geração de código

Como compilar

Para compilar o compilador, você precisa ter o make instalado. Execute algum dos comandos abaixo no terminal:

# Comando para compilar os arquivos do compilador
make all

# Comando para rodar a main do compilador
make run

# Comando para criar a (AST) para um programa Goianinha de teste (tests/goianinha.g)
make printer

# Comando para imprimir a AST de um programa Goianinha de teste (tests/goianinha.g)
make print

# Comando para limpar os arquivos compilados
make clean

Exemplo de código em Goianinha

int fatorial(int n){
	se (n==0)
	entao
		retorne 1;
	senao
		retorne n * fatorial(n-1);
}

programa {
	int n;
	n = 1-0;
	
	enquanto (n<0) execute {
    	escreva "digite um numero";
    	novalinha;
    	leia n;    
	}	

	escreva "O fatorial de ";
	escreva n;
	escreva " e: ";
	escreva fatorial(n);
	novalinha;
}
Legenda:
  • ⬜️: Ainda não implementado
  • 🔁: Em progresso
  • ✅: Implementado

About

Compilador para a linguagem Goianinha da disciplina de Compiladores - Ciência da Computação - INF/UFG

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors