Как получить абстрактное синтаксическое дерево (AST) регулярного выражения (в С++)?
Например,
(XYZ)|(123)
должно выводить дерево:
|
/ \
. .
/ \ / \
. Z . 3
/ \ / \
X Y 1 2
Существует ли грамматика boost::spirit
для анализа шаблонов регулярных выражений? Библиотека boost::regex
должна иметь это, но я ее не нашел. Существуют ли какие-либо другие доступные инструменты с открытым исходным кодом, которые дадут мне абстрактное представление регулярного выражения?