流gdb mi解析器

时间:2014-01-07 17:13:43

标签: parsing gdb saxparser

我编写了一个简单的gdb / mi解析器,它可以将gdb / mi值解析为树。但是现在我想构建一个流解析器,这样我就可以将部分gdb / mi输出丢给解析器,或类似sax-parser。

我只知道如何实现递归解析器来解析值,而不是整个mi输出。此外,我不知道如何使解析器暂停并按需继续。

有人能给我一些想法吗?

1 个答案:

答案 0 :(得分:0)

一些一般性说明。

首先,手册中的MI语法在某些地方是错误的。由于向后兼容性,没有人修复代码。由于我不知道...懒惰或缺乏快乐,也没有人修复手册。详细信息要么是在bugzilla中的封闭(叹气)错误中,要么是在邮件列表档案中。

其次,方法是将gdb的每一行输出视为要解析的文本。

第三,已经有其他几种现有的MI解析器。您可能更愿意从现有的开始。

第四,或者您可能只想在gdb中用Python编写代码并避免整个解析混乱。目前还不完全清楚Python涵盖了MI所暴露的所有功能,但它可能非常接近。