Написать парсер тектстового файла на Haskell и рассказать как работает
1 000 руб. за проект
•
безналичный расчёт, электронные деньги
У меня есть несколько текстовых файлов, которые нужно распарсить в структуры данных. Задача имеет своё бизнес применение, но сейчас мне чисто интересно посмотреть как она решается на Haskell.
Я прочитал про библиотеку Parsec: http://book.realworldhaskell.org/read/using-parsec...
Но самому сходу решить свою задачу, думаю, уйдёт много времени и лишних сил в борьбе с типовыми граблями.
Мне нужен учитель/гуру/мастер, который вместе со мной решит эту задачу на Haskell, обсуждая по ходу дела по Skype + online редактор для совместной правки кода.
Готов оплатить ваше время на этот мастер-класс!
Собственно сама задача: в приложении вы найдёте несколько текстовых файлов примеров.
Первая строка - всегда заголовок, её пропускаем.
Далее идут блоки из 20 или 21 строк, назовём эти блоки "структурами".
Итак, первые 20 строк - это некая "структура", а 21-я строка, если она содержит слово "Flag:" - то она также принадлежит к текущей структуре, иначе - это начало нового блока с новой структурой.
Внутри блока из 20 (или 21) строк каждая строка соответствует определённому полю/свойству структуры. Некоторые строки надо дополнительно распарить, сконвертировав в числа или какие-то ключевые слова (enum).
В итоге хотелось бы иметь программу, которая принимает в stdin текст и возвращает в stdout текст в формате json с найденными структурами.
Я прочитал про библиотеку Parsec: http://book.realworldhaskell.org/read/using-parsec...
Но самому сходу решить свою задачу, думаю, уйдёт много времени и лишних сил в борьбе с типовыми граблями.
Мне нужен учитель/гуру/мастер, который вместе со мной решит эту задачу на Haskell, обсуждая по ходу дела по Skype + online редактор для совместной правки кода.
Готов оплатить ваше время на этот мастер-класс!
Собственно сама задача: в приложении вы найдёте несколько текстовых файлов примеров.
Первая строка - всегда заголовок, её пропускаем.
Далее идут блоки из 20 или 21 строк, назовём эти блоки "структурами".
Итак, первые 20 строк - это некая "структура", а 21-я строка, если она содержит слово "Flag:" - то она также принадлежит к текущей структуре, иначе - это начало нового блока с новой структурой.
Внутри блока из 20 (или 21) строк каждая строка соответствует определённому полю/свойству структуры. Некоторые строки надо дополнительно распарить, сконвертировав в числа или какие-то ключевые слова (enum).
В итоге хотелось бы иметь программу, которая принимает в stdin текст и возвращает в stdout текст в формате json с найденными структурами.
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.