Написать парсер тектстового файла на Haskell и рассказать как работает

1 000 руб. за проект • безналичный расчёт, электронные деньги
28 августа 2014, 15:28 • 3 отклика • 48 просмотров
У меня есть несколько текстовых файлов, которые нужно распарсить в структуры данных. Задача имеет своё бизнес применение, но сейчас мне чисто интересно посмотреть как она решается на Haskell.

Я прочитал про библиотеку Parsec: http://book.realworldhaskell.org/read/using-parsec...
Но самому сходу решить свою задачу, думаю, уйдёт много времени и лишних сил в борьбе с типовыми граблями.

Мне нужен учитель/гуру/мастер, который вместе со мной решит эту задачу на Haskell, обсуждая по ходу дела по Skype + online редактор для совместной правки кода.

Готов оплатить ваше время на этот мастер-класс!

Собственно сама задача: в приложении вы найдёте несколько текстовых файлов примеров.
Первая строка - всегда заголовок, её пропускаем.
Далее идут блоки из 20 или 21 строк, назовём эти блоки "структурами".
Итак, первые 20 строк - это некая "структура", а 21-я строка, если она содержит слово "Flag:" - то она также принадлежит к текущей структуре, иначе - это начало нового блока с новой структурой.

Внутри блока из 20 (или 21) строк каждая строка соответствует определённому полю/свойству структуры. Некоторые строки надо дополнительно распарить, сконвертировав в числа или какие-то ключевые слова (enum).

В итоге хотелось бы иметь программу, которая принимает в stdin текст и возвращает в stdout текст в формате json с найденными структурами.

Файлы