我正在使用Eclipse gdb来调试c ++代码。当进入yyparse()时,它实际上是通过flex和bison发生的
在“eqv_yacc.tab.c”找不到源文件找到该文件或进行编辑 包含其位置的源查找路径。
然而thr不再是文件eqv__yacc.tab.c只有eqv_yacc.c.我的makefile中的名称已被更改。我如何解决这个问题指向eqv_yacc.c而不需要调试器来查找eqv_yacc .tab.c?之前有人面临同样的问题吗?
Makefile code:
eqv_yacc.C:
eqv_yacc.y $(YACC) $(YFLAGS) eqv_yacc.y
sed s/yy/eqvyy/g eqv_yacc.tab.c > eqv_yacc.C
sed s/yy/eqvyy/g eqv_yacc.tab.h > eqvy.tab.H
$(RM) eqv_yacc.tab.h
$(RM) eqv_yacc.tab.c
答案 0 :(得分:1)
这些sed
命令用于将yy
的所有实例替换为eqvyy
。你可以添加它来替换源文件中的名称:
sed s/yy/eqvyy/g eqv_yacc.tab.c | sed s/eqv_yacc\.tab\.c/eqv_yacc.c/g > eqv_yacc.C