首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
专题开发/技术/项目
数据结构与算法
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
关于编译器的问题,急救!!
加为好友
发送私信
在线聊天
nickkitty
kitty
等级:
发表于:
2008-05-12 05:36:42
楼主
最近摸索着写一个简易的c编译器,遇到一些困难,希望能够得到大家的指点。(主要就是思路不清晰啦,编译当年就没学好,现在很艰难啊。)
1.语法分析的时候(LL1),需要用到词法分析给出怎样的结果呢?因为我是从语法开始下手的,所以真的不清楚词法应该给我提供什么形式的文档。有朋友说是 <id,*n> 这样子的,对吗?我又该怎么应用它呢?
2.一定要用户自己输入文法嘛?为什么我们常用的编译器不需要呢?它们应用的什么方法呢?
3.如果我自己手工做一个预测分析表,(当然这样局限性就很大了,只能分析一类格式的文法,不过暂且不考虑,慢慢演化嘛),我该怎么继续做语法检查错误和类型检查之类的呢?是去switch case分析表二维数组中所有可能遇到的情况吗?比如case “E->TA”这种,然后做操作吗?可以做哪些操作呢?除了语法报错,可以同时进行类型检查,生成四元式之类的吗?
4. 类型检查怎么做?用什么方法?
5. 四元式什么时候生成,怎样翻译?
6. 有什么方法可以分析函数的调用关系呢?
呵呵,问题罗列了一堆,估计都弄清楚了,做起来就顺手了,希望朋友们能够多多指点,谢谢各位咯。。
问题点数:
20
回复次数:
1
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
mmmcd
超超
等级:
发表于:
2008-05-12 11:41:22
1
楼 得分:
0
用Lex / Yacc来做吧
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
世纪乐知(北京)网络技术有限公司 版权所有 京 ICP 证 020026 号
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
abc推荐给好友