Simple3, como seu nome já diz, tem como foco o minimalismo de seus arquivos fontes, a declaração de uma variável do tipo numérico pode ser dada por:
num smp = 12; str aaa = "AAAAAAAAAAAAAAAAAAAAAAAA";
Note que, semelhante às linguagens derivadas da linguagem C, as diretivas sempre são terminadas com ponto e vírgula.
Este é um projeto para a matéria de Compiladores do curso de Ciência da Computação do Centro Universitário FEI.
Nome | RA |
---|---|
Leon Ferreira Bellini | 22218002-8 |
Pedro Freitas Magalhães Barbosa | 22218013-5 |
Felipe Maciel de Sousa | 22218042-4 |
Guilherme Ormond Sampaio | 22218007-7 |
Consulte o arquivo contido na pasta documentacao
, doc_final. Este contém
exemplos e instruções de como utilizar o compilador.
- [X] Definição dos tokens da linguagem
- [X] Definição da tabela de símbolos
- [X] Construção dos autômatos
- [X] Autômato para string
- [X] Autômato para identificador (var)
- [X] Autômato para números
- [X] Priorização dos autômatos
- [X] Tratamento de comentários e linhas vazias
- [X] Tratamento de erros e casos especiais
- [X] Definição da sintaxe da linguagem
- [X] Implementação do analisador sintático recursivo descendente
- [X] S
- [X] DECVAR
- [X] BOOL
- [X] MATLAB
- [X] OPERADOR
- [X] FLUX
- [X] EXPR
- [X] OPBOOL
- [X] RPT
- [X] RANGE
- [X] Análise semântica
- [X] Checagem de tipos de variáveis
- [X] Checagem sobre operações binárias (tipos)
- [X] Geração de código
O script a seguir realiza a compilação de todos os arquivos para teste do compilador. Estes podem ser achados no diretório documentacao
.
#!/usr/bin/sh
for arq in documentacao/*.sp3; do
out=$(./simple3.sh "$arq")
if [ ${#out} -gt 0 ]; then
echo "Erro ao tentar compilar o arquivo" "$arq"
fi
done