Итак, как забавный проект, я решил написать свой собственный синтаксический анализатор XML. Нет, не анализировать конкретный документ и нет, не используя библиотеку XML-анализатора. Я имею в виду написание кода для анализа любого XML-документа в пригодную для использования структуру данных. Просто потому, что мне нравится вызов. :-)Создайте собственный XML-синтаксический анализатор/алгоритм XML-анализа?
С учетом сказанного, до сих пор это оказалось ... интересным. Это не так легко разобрать (особенно, когда вы начинаете принимать во внимание специальные символы, CDATA, пустые теги, комментарии и т. Д.), Поскольку они изначально выглядели.
Есть ли хорошо документированные алгоритмы синтаксического анализа XML или объяснения в любом месте, о котором кто-либо знает? Кажется, что есть хорошо документированные операции Queue, Stack и BTree и т. Д. И т. Д. И т. Д. И т. Д. И т. Д., Но я не уверен, что когда-либо видел простой, хорошо документированный алгоритм XML-анализатора ...
Повторяю: Я не ищет сборную парсерную библиотеку! Я ищу информацию о как создать собственную собственную сборную библиотеку анализатора! Не говорите мне «использовать expat» или «использовать SAX» или что-то еще. Это не то, о чем я прошу.
+1 за предложение генератора синтаксического анализа – kdgregory