Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Analisador Léxico #2

Closed
6 of 10 tasks
Tracked by #1
sammid37 opened this issue Dec 6, 2023 · 4 comments
Closed
6 of 10 tasks
Tracked by #1

Analisador Léxico #2

sammid37 opened this issue Dec 6, 2023 · 4 comments
Assignees
Labels
Developing Em desenvolvimento

Comments

@sammid37
Copy link
Owner

sammid37 commented Dec 6, 2023

Especificações do Analisador Léxico

@sammid37

  • Não considerar espaços em branco e formatadores (exemplo: tabulação, quebra de linha e etc), e comentários entre chaves
  • Detectar erros de comentários com chaves { abertas e de símbolos não pertencentes a linguagem
  • Exibir tabela de tokens e sua respectiva classificação e linha correspondente a posição do token

Alguns caracteres especiais servem para realizar a contagem de linhas!

Espeficicações do Autômato Finito Determinístico

@EnthonyMiguel

  • Definir estados iniciais e finais
  • Definir estados de erro
  • Implementação em python
  • Melhorar impressão da tabela para incluir "movimentação" dos estados (semelhante ao exemplo do professor)

Entrada

program teste; {programa exemplo}
var
  valor1: integer;
  valor2: real;
begin
  valor1 := 10;
end.

Entrada alternativa

program teste; {programa exemplo}
var
  valor1: integer;
  valor2A: real; {
  Comentário
  que
  se
  estende
  por
  várias
  linhas
  }
begin
  valor1 := 10;
end.

Requisitos extras

@sammid37 sammid37 mentioned this issue Dec 6, 2023
6 tasks
@sammid37
Copy link
Owner Author

sammid37 commented Dec 7, 2023

@sammid37 sammid37 added this to the Analisador Léxico milestone Dec 8, 2023
@sammid37
Copy link
Owner Author

Pseudocódigo

Inicio
    Abre arquivo fonte
       Enquanto não acabou o arquivo fonte, Faça {
           Trata Comentário e Consome espaços
           Pega Token
           Identifica Token
           Coloca Token na Lista de Tokens
       }
   Fecha arquivo fonte
Fim

@sammid37
Copy link
Owner Author

sammid37 commented Dec 17, 2023

Evidência de desenvolvimento

  • Tratamento de erros sintáticos;
  • Melhoria: saída impressa em um arquivo .csv;
  • Saída semelhante a saída desejada, ainda passará por mais testes.

image

@sammid37 sammid37 added the Developing Em desenvolvimento label Dec 17, 2023
@sammid37
Copy link
Owner Author

Ajustes serão feitos na issue #5.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Developing Em desenvolvimento
Projects
None yet
Development

No branches or pull requests

2 participants