关于编译器的问题,急救!!

nickkitty 2008-05-12 05:36:42
最近摸索着写一个简易的c编译器,遇到一些困难,希望能够得到大家的指点。(主要就是思路不清晰啦,编译当年就没学好,现在很艰难啊。)
1.语法分析的时候(LL1),需要用到词法分析给出怎样的结果呢?因为我是从语法开始下手的,所以真的不清楚词法应该给我提供什么形式的文档。有朋友说是 <id,*n> 这样子的,对吗?我又该怎么应用它呢?
2.一定要用户自己输入文法嘛?为什么我们常用的编译器不需要呢?它们应用的什么方法呢?
3.如果我自己手工做一个预测分析表,(当然这样局限性就很大了,只能分析一类格式的文法,不过暂且不考虑,慢慢演化嘛),我该怎么继续做语法检查错误和类型检查之类的呢?是去switch case分析表二维数组中所有可能遇到的情况吗?比如case “E->TA”这种,然后做操作吗?可以做哪些操作呢?除了语法报错,可以同时进行类型检查,生成四元式之类的吗?
4. 类型检查怎么做?用什么方法?
5. 四元式什么时候生成,怎样翻译?
6. 有什么方法可以分析函数的调用关系呢?

呵呵,问题罗列了一堆,估计都弄清楚了,做起来就顺手了,希望朋友们能够多多指点,谢谢各位咯。。
...全文
62 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
mmmcd 2008-05-12
  • 打赏
  • 举报
回复
用Lex / Yacc来做吧

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧