Skip to content

Latest commit

 

History

History
75 lines (56 loc) · 2.27 KB

README.md

File metadata and controls

75 lines (56 loc) · 2.27 KB

C CI

  • Lexer
  • Parser 😶‍🌫️
  • Tabela de simbolos
  • Analise Semantica

swag

diagram

uso

  • Compilar com:

./build.sh

  • ou:

gcc -g ./main.c ./lexer/*.c ./parser/*.c -o croc

  • Executar com:

./croc <codigo>

  • Executar com arquivo exemplo:

./croc ./doc/examples/code.proc

  • Em um so comando:

gcc -g ./main.c ./lexer/*.c ./parser/*.c -o croc && ./croc ./doc/examples/code.proc

  • Testes automatizados:

gcc -g ./test/*.c ./lexer/*.c ./parser/*.c -o croc && ./croc

problemas

  • Descartar metodo descendente recursivo? Utilizar metodo de tabela descrevendo as regras de sintaxe? PDA/EFSM?
  • Output colorido em testes
  • Todo ID deve ser checado pelo parser se é reservado?
  • Refactor indispensável no parser: remover erros que não serão usados nos .h e .c
  • Refatorar testes: setup e teardown
  • Remover enums erros desnecessarias do parser
  • Objeto parser com seu proprio estado (token, file, line)
  • Contador de linha esta funcionando no analisador sintatico?
  • Parser testes unitarios + integracao
  • Adicionar especificacao da linguagem proc e manter atualizada
  • Refactor: remover transition.h e transition.c
  • Refactor: organizar melhor as enums...
  • Setup GitHub Actions para testes
  • automato nao funciona
  • funciona corretamente
    • id
    • intcon
    • realcon
    • charcon
    • stringcon
    • sinais
    • comentario
  • \n processado corretamente
  • \n, \0 nao e reconhecido como charcon independente: tem que refazer o automato 😰
  • sem tratamento de erro: tokens malformados
  • nao retorna palavras reservadas
  • nao lida com lexemas maiores que o tamanho limite
  • mudar valor false de outro para enum para maior legibilidade
  • contador de linha: retornado pelo erro com sucesso
  • refatorar codigo de print de tag token (sinal)
  • imprimir charcon corretamente?
  • refatorar tratamento de erros?
  • refatorar codigo palavras reservadas
  • melhorar logica categorias de transicao: precisa de um campo especifico pra outro?