| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Парсер на Си |
| Автор: oleg200095 10.7.2012, 22:48 |
| Доброго времени суток. Мне понадобилось написать парсер html/xml на чистом Си. Хотелось бы узнать, какие алгоритмы/теории нужно знать что бы эффективно выполнить эту работу? Заранее спасибо за ответ |
| Автор: boostcoder 10.7.2012, 22:49 |
| flex/bison |
| Автор: math64 11.7.2012, 08:03 |
| Есть готовые парсеры xml на чистом C - поищи в инете. Если писать самому - да, flex/bison, но писать полный парсер это работа не для новичка. |
| Автор: baldina 11.7.2012, 10:56 |
синтаксический анализ |
| Автор: EvilsInterrupt 11.7.2012, 11:04 |
| oleg200095, Лучше воспользуйся готовыми решениями, а так есть книга Ахо про компиляторы. Но прежде чем хоть что-то вменяемое напишешь пройдет достаточно много времени, имеет ли смысл? |
| Автор: oleg200095 11.7.2012, 14:38 |
| Мне и шашечки и ехать, с одной стороны его нужно использовать в проекте, а с другой хотелось бы и научиться. |
| Автор: baldina 11.7.2012, 17:39 | ||||
да, его http://www.opennet.ru/docs/RUS/XML/ всего-то 1000 с небольшим строк. Добавлено через 3 минуты и 8 секунд а http://mailman.ic.ac.uk/pipermail/xml-dev/1997-March/000143.html порядка 200 занимает, с пустыми строками. Добавлено через 5 минут и 59 секунд
разделите это на две задачи научиться цель благородная, но сильно затормозит Ваш проект. так что почитайте про лексический и синтаксический анализ вобщем, поймите как устроен построитель компиляторов типа flex/bison, а для проекта возьмите специализированную библиотеку |
| Автор: xvr 11.7.2012, 22:12 | ||
Это не значит, что и парсер на 1000 строк будет А не надо в одном bnf смешивать лексику и семантику. Да и DTD ТС видимо не нужен (я так подозреваю) Чистый bnf на семантику там будет строк на 20 максимум. И требование к совпадению открывающих и закрывающих тегов, а так же к уникальности атрибутов вообще в bnf не выражается
Это всегда полезно, но для парсинга XML это из пушки по воробьям (хотя flex можно задействовать) |
| Автор: magesi 11.7.2012, 22:22 |
| oleg200095, да не надо всякие Бауэра и Замельзона или Рутисхаузера учить по разбору выражений, ты сразу генетические алгоритмы бери |