Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2008, 13:49   #1
JazonDinAlt
Новичок
Джуниор
 
Регистрация: 04.05.2008
Сообщений: 2
По умолчанию Задание на анализ и разбор xml файла

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

Собственно реализовал через конечные автоматы. Интересует вот одна ситуация:

Проблема возникает при "неправильной" вложенности тегов.

Предположим если при ситуации когда имя тега у меня не имело бы значение:

1) < > < > ...... </ ></ >

парсер бы выдавал ОК.

но при:

2) <a> <b> .....</a> </b> - абсурд, но парсер этого не увидит.

он тоже выдаст ОК, поскольку алгоритм реализованный через конечный автомат считывает по 1 символу и не обладает памятью.

Как реализовать запоминание имени открывающего тега и помещения его в стек (для последующего сравнения с закрывающим тегов) ?

Нужен совет "как лучше сделать". Или ссылки на полезные материалы с подобными проблемами.

Имеет ли смысл, когда обнаруживается открывающий тег, и следующее состоянии после него не является "/" то посимвольно считывать имя тега в буфферную строку, эту строку в стек, освобожать память буфферной строки и т.д. ?
JazonDinAlt вне форума Ответить с цитированием
Старый 04.05.2008, 15:27   #2
Vedrus
ИСККОНный хакер
Форумчанин
 
Аватар для Vedrus
 
Регистрация: 08.11.2007
Сообщений: 195
По умолчанию

Посмотрите теорию по машине Тьюринга.
Это автомат с магазинной памятью.
#define QUESTION bb || !bb
Vedrus вне форума Ответить с цитированием
Старый 04.05.2008, 15:58   #3
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

реализовать список и push/pop его
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 04.05.2008, 16:08   #4
JazonDinAlt
Новичок
Джуниор
 
Регистрация: 04.05.2008
Сообщений: 2
По умолчанию

спасибо, так и предполагал
JazonDinAlt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбор файла OBJ_TEST russian-stalker Общие вопросы Delphi 11 25.08.2008 11:37
Разбор XML-документов Aiorosu БД в Delphi 0 19.07.2008 20:25
Анализ словосочетаний. PUH Помощь студентам 19 11.06.2008 01:53
Разбор dll PanGolin Фриланс 13 26.05.2008 01:56