TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Anlisador Sintático

Por:   •  7/9/2016  •  Trabalho acadêmico  •  616 Palavras (3 Páginas)  •  234 Visualizações

Página 1 de 3

[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

::= "programa" TK_IDENTIFICADOR;

::= "variaveis"

::= |

::= TK_TIPO TK_IDENTIFICADOR; | TK_TIPO TK_IDENTIFICADOR = TK_IDENTIFICADOR; | TK_TIPO TK_IDENTIFICADOR = TK_NUMERO; | TK_TIPO TK_IDENTIFICADOR = TK_TEXTO;

::= “boate“ “azul.”

::= | | | |

::= TK_IDENTIFICADOR "=" “;”

::= TK_IDENTIFICADOR | TK_NUMERO | TK_TEXTO | TK_IDENTIFICADOR | TK_NUMERO #sub

::= TK_OPARITM TK_IDENTIFICADOR | TK_OPARITM TK_NUMERO | TK_OPARITM TK_IDENTIFICADOR | TK_OPARITM TK_NUMERO

::= | | | | |

::= “se (” “) entao {” “}” | “se (“ “) entao” “} senao {” “}”

::=   TK_OPLOG

::= TK_OPLOG | $

::= “escolha” TK_IDENTIFICADOR “:”

::= “{ caso” TK_NUMERO “faca {“ “} pare }”

::=“{ caso” TK_NUMERO “faca {“ “} pare }” | $

::= “enquanto (““) faca {“ “}”

::= “para” TK_IDENTIFICAR “de” “ate” “faca {“ “}”

::= “leia” TK_IDENTIFICADOR “;”

::= “escreva” TK_IDENTIFICADOR “;” | "escreva" TK_TEXTO ";"

1.1.2. Gramática

#soft programa TK_IDENTIFICADOR ; #declaracao #principal

...

Baixar como (para membros premium)  txt (5 Kb)   pdf (202.2 Kb)   docx (21.1 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com