Definir
Selecionar os tokens essenciais da linguagem da equipe.
FGA0003 — Compiladores 1 · Semana 3 · Aula prática
Selecionar os tokens essenciais da linguagem da equipe.
Criar ou adaptar o arquivo scanner.l usando Flex.
Executar entradas válidas, inválidas e casos-limite.
Atualizar README, testes e histórico do repositório.
Abra o repositório, confirme o ambiente e organize o projeto antes de editar o scanner.
Repositório oficial: https://github.com/sergioaafreitas/COMP1
flex --versiongcc --versiongit --versionsrc/scanner.ltests/exemplo.txtREADME.mdSe alguma ferramenta não estiver disponível, corrija o ambiente antes de prosseguir.
Antes de escrever expressões regulares, determine o que a linguagem precisa reconhecer.
Nomes de variáveis, funções e outros elementos nomeados.
Números inteiros e outros valores previstos pela linguagem.
Exemplos: if, while, return e tipos primitivos.
Aritméticos, relacionais e de atribuição.
Parênteses, chaves, vírgulas e ponto e vírgula.
Espaços, comentários e caracteres não reconhecidos.
Crie regras pequenas, compile com frequência e mantenha uma entrada de teste reproduzível.
flex src/scanner.l
gcc -Wall -Wextra -o scanner lex.yy.c -lfl
./scanner
./scanner < tests/exemplo.txt
Valide tokens isolados, pequenos comandos, comentários e entradas inválidas.
x · contador · _flag · x1
0 · 10 · 2048
x = 10 · x1 = x1 + 2
Use if, while, chaves e operadores da linguagem.
Inclua @ ou outro símbolo não previsto.
Evite regras genéricas que silenciem entradas incorretas.
Explique dependências, comandos, tokens e decisões.
Execute git status e confirme arquivos gerados que não devem ser versionados.
git add . · git commit · git push
Mostre uma entrada válida e uma inválida funcionando.
Conclua com código versionado, testes reproduzíveis, README atualizado e demonstração do reconhecimento de tokens. Códigos da disciplina: https://github.com/sergioaafreitas/COMP1