Пожалуйста, предложите хороший проект обработки текста - PullRequest
2 голосов
/ 04 июня 2010

В последнее время я понял, что нужно хорошо разбираться (анализировать) текст. Это может быть как простая интерпретация ответа HTTP или чтение файла настроек (* .ini или * .xml или * .json), так и сложная задача написания компилятора или механизма регулярных выражений.

Я согласен, что теперь у нас есть библиотечные функции / методы для интерпретации популярных форматов текста. Но использование функций заставляет меня чувствовать, что чего-то не хватает. Я не знаю, что мне не хватает, но я определенно теряю уверенность, используя функцию для всего.

Чтобы укрепить уверенность, я хочу попробовать обработать текст в C.

Кто-нибудь может предложить какой-нибудь промежуточный уровень, но хороший проект? Если вы можете предложить какой-нибудь полезный проект, то немного более сложным также приветствуется.

Ответы [ 2 ]

1 голос
/ 04 июня 2010

начинающих, но потенциально полезных проектов:

  • Учитывая текстовый файл, который содержит комментарии в стиле C (/* ... */), напишите процессор, который удаляет комментарии из файла.
    • Расширьте это для обработки вложенных комментариев.
  • Попробуйте проанализировать строку в стиле C, обработав команды обратной косой черты.

Для более промежуточного проекта подумайте о функциональной области, которая вас интересует, и попытайтесь написать для нее простой предметно-ориентированный язык. Работайте только над интерфейсной частью синтаксического анализа языка и одновременно занимайтесь небольшими частями языка.

Я думаю, вы быстро обнаружите, что для более сложной обработки текста вам нужно начать искать библиотеки, которые помогут вам выполнить синтаксический анализ. Я думаю, что это может довольно неплохо привести к изучению регулярных выражений, lex / yacc, Antlr и, возможно, даже Haskell / Parsec, если вы действительно верите в подобные вещи. В любом случае, вы больше не будете полагаться только на текстовые процессоры других людей.

Надеюсь, это поможет!

1 голос
/ 04 июня 2010

Не слишком сложно, но вы могли бы реализовать хороший парсер CSV?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...