C++ 哪个Wiki解析器?

C++ 哪个Wiki解析器?,c++,c,wiki,mediawiki,parsing,C++,C,Wiki,Mediawiki,Parsing,有谁知道一个解析器可以将Wiki格式的文本作为输入并生成实体树,就像XML解析器生成实体树一样?为了澄清这一点,我正在寻找一些需要文本的东西,比如: -Intro- Textual stuff in ''italics'' --Subhead-- Yet more text 并生成一个根在Intro的树,该树有三个子节点,其中一个子节点(子标题)本身有一个子节点。我正在寻找能够理解上所述的“简单”wiki格式的内容 我知道有几个用于Wiki文本的lexer,但没有树解析器。我正在寻找一

有谁知道一个解析器可以将Wiki格式的文本作为输入并生成实体树,就像XML解析器生成实体树一样?为了澄清这一点,我正在寻找一些需要文本的东西,比如:

 -Intro-
 Textual stuff in ''italics''
 --Subhead--
 Yet more text
并生成一个根在Intro的树,该树有三个子节点,其中一个子节点(子标题)本身有一个子节点。我正在寻找能够理解上所述的“简单”wiki格式的内容


我知道有几个用于Wiki文本的lexer,但没有树解析器。我正在寻找一些开源的,用C或C++编写的。

,不能直接从wiki格式的页面上做,因为wiki格式没有完整的信息。取而代之的是,wiki格式的文本基本上是通过一组正则表达式规则进行翻译,并以HTML或XHTML格式插入到预定义的页面框架中


最简单的方法是为一些轻量级文本格式(如textile或creole)找到一个合适的格式化程序,通过它生成XHTML,然后使用任何常规解析器解析XHTML。

您可以从这个Perl模块中获得一些想法:

我知道你在找C/C++,但嘿,你可能会得到一些好处。

我要做的是

  • 为该wiki语言编写BNF语法。因为它很简单,BNF也将很简单
  • 用于为其创建解析器。它非常简单(对于那些简单的事情),BNF语法自然地转换成C++。

  • 我编写了一个解析器,它在Java中内部创建了这样一个树:

    也许你可以为C或C++实现找到一些想法?
    使用内部节点树将其转换为HTML标记。

    您可能需要查看,它是一个解析器,使用生成器设计模式将wiki标记转换为各种XML格式。它与HTML、Eclipse帮助、DITA和DocBook的构建器一起提供。您可以使用自己的生成器自定义输出

    解析器可以处理Textile、MediaWiki、TracWiki、TWiki和Confluence标记。它是可扩展的,因此如果您愿意,可以添加新的语言

    图书馆是Java