pyparsing:逐字解析嵌套的C风格注释

时间:2018-02-28 13:35:32

标签: pyparsing

我正在为一个简单的命令语言(Visual TrueType)开发一个解析器/代码转换器。它使用C风格的注释,但接受嵌套它们。 pyparsing.cStyleComment对此嗤之以鼻,所以我正在寻找别的东西。

输入看起来像(注意所有内容都已注释掉):

/* VTTTalk glyph 1023, char 0xffff */
/* GUI generated Tue Jul 08 15:52:37 2014 */

/* Y direction 
YAnchor(255)
YDist(305,433,>=)
[...]

/* X direction */

Smooth()
*/

我想在注释中使用间距/换行获得以下解析后的输出:

["/* VTTTalk glyph 1023, char 0xffff */",
 "/* GUI generated Tue Jul 08 15:52:37 2014 */",
 "/* Y direction\nYAnchor(255)\nYDist(305,433,>=)\n[...]\n\n/* X direction */\n\nSmooth()\n*/"]

到目前为止,我至少可以使用nestedExpr(opener="/*", closer="*/")保留一般结构并附加一个解析动作(递归地)生成一个C风格的注释字符串,但是会丢失注释的格式。有没有规范的方法呢?

0 个答案:

没有答案