Este repositório é destinado ao desenvolvimento de um verificador de datas válidas em flex para a disciplina de Compiladores.
Dado um arquivo que pode conter datas no formato DD/MM/YYYY, o programa deve identificar quantas destas datas são, de fato, datas válidas, atendendo aos seguintes requisitos:
- Deve ser escrito em um único arquivo Flex
- A validação das datas deve ser feita usando os recursos do Flex, e não por meio de funções customizadas
- Quaisquer espaços em branco (espaços em branco, quebra de linhas, tabulações) devem ser ignorados
Para execução do código, é necessário instalar o flex. Para isso, usa-se o comando sudo apt-get install flex
flex lex.l && gcc -o prog lex.yy.c
./prog < entrada.txt
, considerando que o arquivo com as datas seja entrada.txt
Um arquivo que contenha as seguintes informações:
1 14/06/2023 31/06/2023
2 29/02/2000
3 29/02/2022
4
5 12/34/5678
6 abcd 12345 ? FIM
Deve retornar o valor 2, pois neste arquivo de exemplo contém apenas 2 datas válidas (14/06/2023 e 29/02/2000)
- O arquivo geradorTeste.py gera um arquivo .txt com 100.000 datas para teste
- O arquivo verificaValidade.py conta a quantidade de datas válidas presentes no arquivo em questão. Ele tem função de verificação do funcionamento do arquivo Flex
- A pasta inputs contém diversos tipos de entrada diferentes com seus respectivos valores esperados