我想使用MI为gdb编写GUI前端。目前我可以通过管道与gdb进行通信,但GUI调试器应该能够显示源代码并允许用户使用鼠标检查/修改数据。
问题是,为了知道用户指向的变量,我想我需要编写一个解析器。但是,我不想实现整个词法分析器和解析器的东西。如何在源代码中获取这些标识符的位置?
[编辑]
简而言之,我希望用户能够通过鼠标悬停在变量上来检查变量的值,因此我必须解析代码以了解每个变量的出现位置。我想实现这样的功能:
答案 0 :(得分:0)
如何在源代码中获取这些标识符的位置?
...无需编写解析器。
你做不到。您需要编写自己的(对于GUI将支持的所有编程语言),或者挂钩其中一个现有编程语言。
Clang使得将C / C ++解析器合并到GUI中相对容易,但是......