16
Parte 1 do Trabalho 2 Criar um Analisador Léxico que tabula a saída código/token para PS com as extensões do grupo AnaLex.jj

Parte 1 do Trabalho 2 - USPwiki.icmc.usp.br/images/b/b9/JavaCC_Parte_1_T2.pdfParte 1 do Trabalho 2 Criar um Analisador Léxico que tabula a saída código/token para PS com as extensões

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Parte 1 do Trabalho 2 - USPwiki.icmc.usp.br/images/b/b9/JavaCC_Parte_1_T2.pdfParte 1 do Trabalho 2 Criar um Analisador Léxico que tabula a saída código/token para PS com as extensões

Parte 1 do Trabalho 2

Criar um Analisador Léxico que tabula a saída código/token para PS com as extensões do grupo

AnaLex.jj

Page 2: Parte 1 do Trabalho 2 - USPwiki.icmc.usp.br/images/b/b9/JavaCC_Parte_1_T2.pdfParte 1 do Trabalho 2 Criar um Analisador Léxico que tabula a saída código/token para PS com as extensões

1. Declaração da classe e de opções

Page 3: Parte 1 do Trabalho 2 - USPwiki.icmc.usp.br/images/b/b9/JavaCC_Parte_1_T2.pdfParte 1 do Trabalho 2 Criar um Analisador Léxico que tabula a saída código/token para PS com as extensões

2. Declarações da Parte Léxica

Page 4: Parte 1 do Trabalho 2 - USPwiki.icmc.usp.br/images/b/b9/JavaCC_Parte_1_T2.pdfParte 1 do Trabalho 2 Criar um Analisador Léxico que tabula a saída código/token para PS com as extensões
Page 5: Parte 1 do Trabalho 2 - USPwiki.icmc.usp.br/images/b/b9/JavaCC_Parte_1_T2.pdfParte 1 do Trabalho 2 Criar um Analisador Léxico que tabula a saída código/token para PS com as extensões
Page 6: Parte 1 do Trabalho 2 - USPwiki.icmc.usp.br/images/b/b9/JavaCC_Parte_1_T2.pdfParte 1 do Trabalho 2 Criar um Analisador Léxico que tabula a saída código/token para PS com as extensões

3. Especificação do parser em EBNF

Como nossa tarefa é criar um Analisador Léxico que tabula a saída código/token para PS com as extensões do grupo,

a parte do parser será composta somente das várias opções de tokens do PS com a impressão.

Page 7: Parte 1 do Trabalho 2 - USPwiki.icmc.usp.br/images/b/b9/JavaCC_Parte_1_T2.pdfParte 1 do Trabalho 2 Criar um Analisador Léxico que tabula a saída código/token para PS com as extensões
Page 8: Parte 1 do Trabalho 2 - USPwiki.icmc.usp.br/images/b/b9/JavaCC_Parte_1_T2.pdfParte 1 do Trabalho 2 Criar um Analisador Léxico que tabula a saída código/token para PS com as extensões
Page 9: Parte 1 do Trabalho 2 - USPwiki.icmc.usp.br/images/b/b9/JavaCC_Parte_1_T2.pdfParte 1 do Trabalho 2 Criar um Analisador Léxico que tabula a saída código/token para PS com as extensões
Page 10: Parte 1 do Trabalho 2 - USPwiki.icmc.usp.br/images/b/b9/JavaCC_Parte_1_T2.pdfParte 1 do Trabalho 2 Criar um Analisador Léxico que tabula a saída código/token para PS com as extensões

Javacc e compilar os arq resultantes

Page 11: Parte 1 do Trabalho 2 - USPwiki.icmc.usp.br/images/b/b9/JavaCC_Parte_1_T2.pdfParte 1 do Trabalho 2 Criar um Analisador Léxico que tabula a saída código/token para PS com as extensões

Programa Teste – corretoprogram teste1;var x: integer;begin

x := 3;if x > 5 then

beginx := 5

end else begin

x := 0end

end.

Page 12: Parte 1 do Trabalho 2 - USPwiki.icmc.usp.br/images/b/b9/JavaCC_Parte_1_T2.pdfParte 1 do Trabalho 2 Criar um Analisador Léxico que tabula a saída código/token para PS com as extensões

Saída AnaLex,programa correto

Page 13: Parte 1 do Trabalho 2 - USPwiki.icmc.usp.br/images/b/b9/JavaCC_Parte_1_T2.pdfParte 1 do Trabalho 2 Criar um Analisador Léxico que tabula a saída código/token para PS com as extensões

Programa teste – abriu comentário e não fechou

Page 14: Parte 1 do Trabalho 2 - USPwiki.icmc.usp.br/images/b/b9/JavaCC_Parte_1_T2.pdfParte 1 do Trabalho 2 Criar um Analisador Léxico que tabula a saída código/token para PS com as extensões

SaídaAnaLex,programa com erro

Page 15: Parte 1 do Trabalho 2 - USPwiki.icmc.usp.br/images/b/b9/JavaCC_Parte_1_T2.pdfParte 1 do Trabalho 2 Criar um Analisador Léxico que tabula a saída código/token para PS com as extensões

Outro programa com erro

Page 16: Parte 1 do Trabalho 2 - USPwiki.icmc.usp.br/images/b/b9/JavaCC_Parte_1_T2.pdfParte 1 do Trabalho 2 Criar um Analisador Léxico que tabula a saída código/token para PS com as extensões

O ideal seria customizar as mensagens de erros

Traduzir seria uma opção