olekzonder / Calendar-BNF

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Форма Бэкуса-Наура календаря

календарь = событие ";" календарь | событие

image

событие = дата ":" время описание

image

дата = день месяц год

image

день = цифра цифра

image

месяц = "января" | "февраля" | "марта" | "апреля" | "мая" | "июня" | "июля" | "августа" | "сентября" | "октября" | "ноября" | "декабря"

год = цифра цифра цифра цифра

image

время = час ":" минута

image

час = цифра цифра

image

минута = цифра цифра

image

описание = текст

image

цифра = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"

image

текст = [буква | цифра]...[буква | цифра]

image

буква = "А" | "Б" | "В" | ... | "Я" | "а" | "б" | "в" | ... | "я" | "a" | "b" | "c" | ... | "z"

image

Примеры программ

Программа 1

07 мая 2023: 14:20 обед

Результат работы синтаксического анализатора:

image

image

Программа 2

14 марта 2023: 01:59 День числа Пи;
01 января 2023: 00:00 Новый Год;
02 мая 2023: 18:00 Семинар

Результат работы синтаксического анализатора:

image

image

Программа 3

    02 мая 2023: 14:20 Лекция;
    09 мая 2023: 10:00 Парад победы    

Результат работы синтаксического анализатора:

image

image

About


Languages

Language:Python 100.0%