Парсинг выражений xpath

Я хочу разобрать выражения XPath Я ищу реализацию лексера / парсера в C++ или Python

Вот вся информация о парсерах XPath, которые мне удалось собрать:

Кто-нибудь знает другие реализации? в С ++?

PS: я не хочу оценивать выражения XPath, но ставить их на токены

3 ответа

На основании комментария ОП,

Я работаю над переписыванием и эквивалентностью запросов XPath

ему нужен синтаксический анализатор, который строит абстрактные синтаксические деревья и способы их анализа и преобразования. Анализаторы и "переписывание" могут быть затем выполнены процедурно путем ходьбы / изменения AST; это традиционный способ сделать это.

Но похоже, что в центре внимания должны быть цели ОП. Для этого ему нужен анализ и переписывание. Но это не должно быть полностью сделано традиционным, процедурным способом. Скорее, было бы неплохо, если бы анализ / переписывание можно было выполнить напрямую с использованием нотации XPath.

Я предлагаю ему взглянуть на наш DMS Software Reengineering Toolkit, который анализирует, создает AST, но, в частности, позволяет "переписывать" AST с использованием поверхностного синтаксиса. Тогда XPath "переписывает" может быть написано непосредственно как эквивалент по выражениям XPath. Мотивирующий пример того, как это работает, можно рассматривать как переписывание уравнений алгебры с использованием DMS. Из этого примера должно быть очевидно, что грамматика для XPath легко определяется.

У Xerces есть ответвление, xalan-c, для этого:

http://xml.apache.org/xalan-c/overview.html

Оформить заказ XQilla http://xqilla.sourceforge.net/HomePage

Другие вопросы по тегам