多个LEX和YACC配合的问题
我正在编一个程序流程是这样的
先用LEX和YACC编写预处理程序处理C代码
再运用LEX和YACC一遍分析处理完的C代码以创建语法树
也就是说要运用两遍LEX和YACC,但现在不能简单的将两次得到的.c放在一起因为两次生成的文件很多变量是重复的
有什么办法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
把变量改名字就行了
打个比方:
1.l 1.y为一组
2.l 2.y为一组
生成C文件和H文件的Makefile可以这样写
复制代码
里面引用变量
比如extern char yytext[];
依然这样写,
不用写成extern char yy1text[];
因为编译的时候会被改掉的
[ 本帖最后由 cjaizss 于 2008-7-6 23:55 编辑 ]
Makefile可以再做点改动:
假设一个目录里,xxx.l和xxx.y是一组
有很多组,都是除去后缀就是相同名字的才会相互引用
复制代码
[ 本帖最后由 cjaizss 于 2008-7-6 23:55 编辑 ]
我用的是parse generator这个软件,没有markfile这个文件,还有别的办法吗?
一个IDE?
我最讨厌IDE了,不到万不得已绝不用它。
[ 本帖最后由 a02123230 于 2008-7-10 19:29 编辑 ]