И это всё МОЁ

Задача: написать (на крестах, конечно) парсер, который парсит парсер. Решение на Lean.


Что, собственно, делает код по ссылке:




  1. Получает строку \\d\\d:\\d\\d \\([AP]M\\).




  2. Строит по ней парсер.




  3. Полученный парсер парсит следующие строки:




    1. 11:24 (PM) (результат: (inr [1, 1, 2, 4, 'P'])).




    2. 12:12 (AM) (результат: (inr [1, 2, 1, 2, 'A'])).




    3. 11:24 test (результат: ошибка).






Интересно было бы посмотреть на реализации на разных языках от разных людей, а не только от Царя (хотя он, конечно, главный герой этого треда).









 , , ,