Doxygen用于多语言API

问题描述 投票:8回答:3

我公司开发了工程程序API。它是用C ++开发的,但我们为以下语言创建了包装器:

  • 一种类似于VB的专有语言
  • MATLAB
  • 和Python。

目前,文档是由一堆脚本生成的,并且开始耗费时间来保持100%。我想知道是否有办法让doxygen / sphinx或其他程序一次性生成C / C ++,VB和MATLAB的文档。 Python部分由SWIG完成。目前的输出是这样的:

  • NameOfFunction
  • VB:
  • 函数NameOfFunction(ByVal a As Long,ByRef b()As Long,ByVal c As Long)As Long
  • MATLAB:
  • value = NameOfFunction(a,b(),c)
  • C / C ++:
  • value * NameOfFunction(objtype1 * a,objecttype2 * b [],int c)
  • +说明
  • +例子
c++ matlab vb6 doxygen python-sphinx
3个回答
3
投票

doxygen支持多种语言,

要在多个项目或文件夹和语言中使用它,您只需指向要在配置中检查的每个文件夹。

我最喜欢的编程语言是X.我还能使用doxygen吗?

不,不是这样; doxygen需要了解它所读取的结构。如果你不介意花一些时间,有几种选择:

是否支持语言X?

如果X的语法接近C或C ++,那么调整src / scanner.l可能并不太难以支持语言。这是为doxygen直接支持的所有其他语言(即Java,IDL,C#,PHP)完成的。如果X的语法有些不同,你可以编写一个输入过滤器,将X转换为类似于C / C ++的东西,供doxygen理解(这种方法适用于VB,Object Pascal和Javascript,请参阅http://www.doxygen.nl/download.html#helpers)。如果语法完全不同,可以为X编写解析器并编写后端,生成与src / scanner.l(以及读取标记文件时src / tagreader.cpp)相似的语法树。

但是,由于你使用像专有的VB,如果你只是将文件扩展名更改为.vb的文件扩展名,它可能会选择这种语言

这是如何使用它与matlab

已经支持python和c ++

看看FAQ页面


2
投票

我想知道是否有办法让doxygen / sphinx或其他程序一次性生成c / c ++,VB和matlab的文档。

Zeus编辑器有一个doxygen feature,允许您为Zeus工作区中的所有项创建doxygen文档。


2
投票

Doxygen站点有一个页面,其中包含指向各种语言的第三方帮助程序的链接,您可以对其进行调整:

http://www.doxygen.nl/helpers.html

那里提到了VB和MatLab过滤器。

© www.soinside.com 2019 - 2024. All rights reserved.