LINUX.ORG.RU

История изменений

Исправление pathfinder, (текущая версия) :

в текущем варианте эти функции сильно завязаны на реализацию в проекте X

Это вроде очевидно, надо переделать так, что бы парсер оперировал исключительно понятиями разбираемого файла и в коде никак бы ни фигурировало то, что надо делать с разобранными элементами. Коллбеки могут иметь вид:

foundSomeItem1()
foundSomeItem2()
foundSomeItem3()

а последней функцией возвращать в X (или в другой проект, если Y стал независимым) заполненную структуру, значения которой Y распарсил из файла

Тут таже самая ситуация, что с парсерами XML. Тебе надо определиться, что тебе надо: SAX или DOM.

Исходная версия pathfinder, :

в текущем варианте эти функции сильно завязаны на реализацию в проекте X

Это вроде очевидно, надо переделать так, что бы парсер оперировал исключительно понятиями разбираемого файла и в коде никак бы ни фигурировало то, что надо делать с разобранными элементами. Коллбеки могут иметь вид:

foundSomeItem1()
foundSomeItem2()
foundSomeItem3()

а последней функцией возвращать в X (или в другой проект, если Y стал независимым) заполненную структуру, значения которой Y распарсил из файла

Тут таже самая ситуация, что с парсерами XML. Тебе надо определиться, что тебе надо SAX или DOM.