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

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

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

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

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

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

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

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

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


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

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

8   голосов , оценка 4.25 из 5
Похожие ответы