Добавлено: Пн Окт 17, 2016 11:46
Заголовок сообщения:
Меня интересует парсер варов.
Кстати, да, у меня техническая часть диплома была на Яве, и там парсился хтмл-поток. Было бы интересно посмотреть, как в современной Яве это реализуется, да ещё и от настоящего программиста
Если не секрет, конечно... Лучше, наверно, в личку...
На самом деле вряд ли можно считать код Генератора эталоном, от этого он довольно далёк. Я всё это писал по вечерам после работы, уставший, так что выбирал наиболее простой путь и не заморачивался. Лишь бы работало. Качество моего кода на работе на порядок выше.
Что касается парсера, то он довольно прост. Считываем построчно и реагируем на "смену блока". К примеру, "/" - начало элемента, "Effects:" - начало блока эффектов. Для каждого var-файла есть отдельный "парсер", который наследует свойства общего парсера и учитывает специфические для данного var-файла особенности. Если нужно, могу выложить код, особого секрета тут нет.
Конечно было бы проще, если бы var-файлы были в каком-нибудь популярном формате, вроде JSON, XML или YAML, для которых уже есть парсеры. Зачем нужно было изобретать велосипед, не совсем понятно. В том же OpenXcom используется YAML (я, кстати, для OpenXcom тоже начинал писать генератор уфопедии, но потом интерес как-то затух и я бросил это дело (несколько таблиц он всё же генерирует)).
_________________
Эадоропедия для мода "Новые горизонты"
Генератор миров для мода "Новые горизонты"