Как получить AST строки регулярного выражения?

Как получить абстрактное синтаксическое дерево (AST) регулярного выражения (в C ++)?

Например,

 (XYZ)|(123)

должен дать дерево:

        |
      /   \
    .       .
   / \     / \
  .   Z   .   3    
 / \     / \   
X  Y     1 2

Существует ли boost :: spirit грамматика для анализа шаблонов регулярных выражений? В библиотеке boost :: regex он должен быть, но я его не нашел. Существуют ли какие-либо другие инструменты с открытым исходным кодом, которые дали бы мне абстрактное представление регулярного выражения?

16
задан Frank 5 October 2011 в 05:42
поделиться