Anlisador Sintático
Por: Eduardo Vansetto • 7/9/2016 • Trabalho acadêmico • 616 Palavras (3 Páginas) • 245 Visualizações
[pic 1] | UNIOESTE – Universidade Estadual do Oeste do Paraná Centro de Ciências Exatas e Tecnológicas Colegiado de Ciência da Computação Curso de Bacharelado em Ciência da Computação |
COMPILADORES
Analisador sintático
Daniel Bortoluzzi
Eduardo Vansetto
Thales Bertaglia
CASCAVEL – PR
2015
1. Descrição Geral
Este trabalho trás as especificações de uma linguagem de programação baseada no paradigma estrutural. A linguagem de programação nomeada "TED" busca auxiliar de maneira didática e intuitiva os iniciantes em programação de software.
Tendo em vista que este trabalho é uma continuação do analisador léxico, já apresentado anteriormente, é abordado a seguir as modificações que foram feitas na estrutura geral da linguagem, necessária para a implementação do analisador sintático. Tudo o que não foi tratado aqui de maneira explicita mantém-se igual a versão anterior.
1.1 Características
Houveram algumas alterações no diagrama de estados em relação a aquela apresentada na primeira versão do trabalho, porém, as alterações não impactaram no formato do programa. A BNF atual da linguagem está especificada abaixo.
Na implementação, a gramática foi construída em formato diferente devido a especificações da linguagem de programação utilizada para a implementação do compilador, neste caso o JAVA, esta está especificada após a gramática BNF.
A tabela SLR não é exibida aqui devido ao tamanho e complexidade da mesma. A tabela pode ser visualizada dentro do sistema por meio do menu "Gerar tabela SLR". e também há um arquivo no formato padrão do Microsoft Office Excel mostrando a mesma tabela de maneira mais clara. Este arquivo está disponível com os arquivos enviados.
1.1.1. Gramática BNF
::= TK_OPARITM TK_IDENTIFICADOR | TK_OPARITM TK_NUMERO | TK_OPARITM TK_IDENTIFICADOR | TK_OPARITM TK_NUMERO
1.1.2. Gramática
#soft programa TK_IDENTIFICADOR ; #declaracao #principal
...