И это всё МОЁ
Задача: написать (на крестах, конечно) парсер, который парсит парсер. Решение на Lean.
Что, собственно, делает код по ссылке:
Получает строку
\\d\\d:\\d\\d \\([AP]M\\)
.Строит по ней парсер.
Полученный парсер парсит следующие строки:
11:24 (PM)
(результат:(inr [1, 1, 2, 4, 'P'])
).12:12 (AM)
(результат:(inr [1, 2, 1, 2, 'A'])
).11:24 test
(результат: ошибка).
Интересно было бы посмотреть на реализации на разных языках от разных людей, а не только от Царя (хотя он, конечно, главный герой этого треда).