Напишите 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. Возврат нуля для успешного завершения программы.

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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