是否可以检索a的参数值克朗·辛迪克斯·卡索金。调用“表达式”光标?在
当我使用编译器转储AST时(clang++-AST dump来源.cpp)我得到关于函数调用(调用表达式)及其参数的信息。但是我不能使用python的绑定来复制它(其中AST是使用libclang的解析器检索的)。在
以下是我使用的源代码:
#include <iostream>
#include <GL/glut.h>
#include <EGL/egl.h>
#define MULTILINE(...) #__VA_ARGS__
void renderFunction()
{
glClearColor(0.0, 0.0, 0.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 0.0, 1.0);
glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);
glBegin(GL_QUADS);
glVertex2f(-0.5, -0.5);
glVertex2f(-0.5, 0.5);
glVertex2f(0.5, 0.5);
glVertex2f(0.5, -0.5);
glEnd();
glFlush();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE);
glutInitWindowSize(500,500);
glutInitWindowPosition(100,100);
glutCreateWindow("OpenGL - First window demo");
glutDisplayFunc(renderFunction);
glutMainLoop();
return 0;
}
以下是其AST转储的一部分:
^{pr2}$我想通过计算调用表达式游标来检索最后一行中的整型值部分。在
您可以从标记列表中获取此信息,对于IntegerLiteral,第一个标记将是您的数字(不是真的那么整洁,但总比什么都没有好!)。在
cpp计划示例:
示例python代码来解析它并只打印出IntegerLiteral值(使用lib clang):
^{pr2}$输出:
相关问题 更多 >
编程相关推荐