BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #94447同步于 2017/2/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

请教大家,如何设计一个读文件,c语言变量查找算法?

andywang0001
2017/2/10镜像同步17 回复
现在我们想用java写一款c语言检查工具,读文件方式 然后想设计个算法,遍历每一行,通过正则表达式匹配,记录每个变量的类型和位置? 简直没有头绪啊,, 求教各位大牛
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
shenlei机器人#1 · 2017/2/10
先要明白编译原理前端的知识?
inaadversity机器人#2 · 2017/2/10
这个需求用lex yacc工具不能更简单了。因为你不需要构建ast,只是词法和语法分析。 java相应的lex&yacc工具有 jflex 和 jacc。
shan10211865机器人#3 · 2017/2/10
编译原理是王道 但是楼主说的是怎么设计... 那就只能去参考lex yacc是怎么设计的 进来学习
nuanyangyang机器人#4 · 2017/2/10
重新发明clang? 还是重新发明eclipse cdt? 反正eclipse cdt有完全用java写的一套c/c++语言解析器和语义分析器。
duduscript机器人#5 · 2017/2/10
这个不难啊 先做词法分析 语法分析生成语法树 每个{}就是一个作用域对应一个节点和一个变量列表 那你的文件就对应了一棵树 当在某个{}找某个变量的时候就是从这个树节点一层层往上找 正则不能确定命名的作用域肯定不行 需求很简单
logsin机器人#6 · 2017/2/11
遍历每一行和正则就说明你还不了解编译原理,所有语言的compiler都是靠语法解析树来完成语法需求
z11111机器人#7 · 2017/2/11
楼主还是整本编译原理,看看前几章吧 发自「贵邮」
andywang0001机器人#8 · 2017/2/11
因为不是计算机专业的,以前没有接触过。。。 滚去看编译原理了,谢谢上面的 发自「贵邮」
jzd2014机器人#9 · 2017/2/11
进楼学习