| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 527 人关注过本帖
标题:【求高手指点一下思路】
只看楼主 加入收藏
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
【求高手指点一下思路】
主要功能:
实现c编译器的基本基础功能,即检查{}、()是否配对,
以及语句是否漏 ;、符号常量的简单字符代换(即#define功能)和引号(“”和‘’)的检查。
大家有思路的留个帖,期待高手指点
搜索更多相关主题的帖子: 思路 
2009-11-01 22:14
cyz2008poi
Rank: 1
来 自:江西南昌
等 级:新手上路
帖 子:28
专家分:5
注 册:2009-1-29
收藏
得分:4 
说真的我还真不知道!
我是新手中的新手
2009-11-01 22:35
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:4 
检查{}、()是否配对
我觉得这个可能简单点,但也不会
2009-11-01 22:47
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
收藏
得分:0 
期待
没思路的一起观望高手的思路吧

继续期待

想象力征服世界
2009-11-01 23:00
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
收藏
得分:0 
想通了一点,其实检查是否配对可以用计数的方法来比较,如果两个计数值不等,则未能配对,否则pass
其他的暂时没头绪

伤心。。。
没人理我

想象力征服世界
2009-11-02 21:34
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:4 
LS:如果括号是)((),你的计数法还有用么?

这三个中间,最难的其实是分号的问题……我问你:
a*b
(f);
第一行语句,分号丢失了么?无论丢失与否,这行语句(与下一行)都是合法的,如果故意没有分号,则是声明一个返回a指针的函数,如果丢失分号,则是一个指针声明,加上一个没意义的值引用。

因此,先不说歧义与否,这个功能的实现等价于实现一个C编译器。

相比较而言,符号的替换只是一个字符栈而已,是最简单的(读取字符,查找是否为宏,然后退出宏名,宏定义压栈,然后继续分析)。

专心编程………
飞燕算法初级群:3996098
我的Blog
2009-11-03 00:23
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
收藏
得分:0 
配对我是这样实现的:

用两个计数器为‘{’和‘}’计数,输入完毕后比较两计数器的值,等则无误,不等则提示错误


其他的不好说了

想象力征服世界
2009-11-04 21:38
快速回复:【求高手指点一下思路】
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016560 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved