2

我想为用 Python 编写的 REST API 生成有用的文档。

我想它应该是这样的:

'''
/kittens/
This method creates kittens in the browser

HTTP Params:
    format(default=json): The format in which kittens will be generated.
    count(default=10): The number of kittens to generate.

Returns:
    A list of kittens.
'''

我的语法显然是:

program = dict
dict = repeated(name:string | name:dict)

我想解析这种格式并获得(例如)一个 Python 字典,最好不使用正则表达式。

是否已经有针对这种语法的解析器?
如果不是,那么在 Python 中定义和解析 DSL 的最简单方法是什么?

请注意,我希望使用 reStructuredText 或任何不同于我描述的格式。

4

2 回答 2

0

http://sphinx.pocoo.org/

它是一个在线文档工具。它真棒,它会做你想要的。

于 2011-03-29T14:46:50.230 回答
0

我不确定我是否完全理解您想要的内容,但 reStructuredText 可用于捕获示例中的信息:

.. method:: kittens(format="json", count=10)

   Creates kittens in the browser.

   :param format: The format in which kittens will be generated.
   :param count: The number of kittens to generate.
   :return: A list of kittens

Sphinx理解这种语法,它是Docutils定义的基本 reST 标记的扩展。

于 2011-03-29T19:37:31.347 回答