Напишите LEX-программу для подсчета количества календарных дат в текстовом файле. - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Очень нужна помощь в написании лекс-программы для С. Задание:Напишите LEX-программу для подсчета количества календарных дат в текстовом файле. Спасибо за внимание.

Решение задачи: «Напишите LEX-программу для подсчета количества календарных дат в текстовом файле.»

textual
Листинг программы
  1. %{
  2. #include <stdio.h>
  3.  
  4. static int ndates = 0;
  5. %}
  6. %%
  7.     /* DD-MM-YYYY and DD/MM/YYYY */
  8. (0[1-9]|[12][0-9]|3[01])[\-/ ](0[1-9]|1[012])[\-/ ](19|20)[0-9][0-9]    {
  9.         printf("found date: \"%s\".\n", yytext);
  10.         ndates++;
  11.     }
  12. .|\n {}
  13. %%
  14. int main(void)
  15. {
  16.   yylex();
  17.   printf("ndates=%d\n", ndates);
  18.   return 0;
  19. }

Объяснение кода листинга программы

  1. Подключение стандартной библиотеки файлов C.
  2. Объявление статической переменной ndates типа int, которая будет использоваться для подсчета количества найденных дат.
  3. Определение правил для работы с датами в формате DD-MM-YYYY и DD/MM/YYYY.
  4. Увеличение счётчика ndates на единицу при каждой встрече с датой.
  5. Вывод количества найденных дат на экран.
  6. Ввод исходных данных в стандартный ввод (обычно с клавиатуры).
  7. Запуск лексического анализатора (сканера) для разбора введённых данных.
  8. Вывод результата работы программы (количество найденных дат).
  9. Возврат нуля для успешного завершения программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы