| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1911 人关注过本帖
标题:想用lex做一个代码注释清楚的小东西,但遇见了一个问题
只看楼主 加入收藏
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
收藏
 问题点数:0 回复次数:16 
想用lex做一个代码注释清楚的小东西,但遇见了一个问题
%{
void comment();
%}

%%
"/*"   {comment();}
.|\n  {printf("%c",*yytext);}
%%
int main()
{
 yylex();
 return 0;
}
void comment()
{
 int ch , prev=0;
  
 while ( (ch = input()) != -1 )
 {
  if (prev == "*" && ch == "/")
   return ;
  prev = ch;
 }
 return ;
}
int yywrap()
{
        return 1;
}

以上是我的代码,现在的问题是,对于这样的代码:
int i=0;
/*test*/
printf("test");
他会将注释连同之后的所有代码都消去。请问这是为何
搜索更多相关主题的帖子: lex 注释 小东西 comment int 
2008-07-17 17:34
VxWorks
Rank: 3Rank: 3
来 自:WindRiver
等 级:论坛游民
威 望:6
帖 子:859
专家分:68
注 册:2007-11-24
收藏
得分:0 
I 服了you
if (prev == "*" && ch == "/")

拿int同char*比较

为了防止世界被破坏,为了守护世界的和平,贯彻爱与真实的邪恶,可爱又迷人的反派角色,VxWorks!
Don't ask me any question.I'm just here to buy soy sauce.
2008-07-17 18:05
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
收藏
得分:0 
弱弱的问一下,难道不能依赖隐式转换吗

麻雀飞上枝头变凤凰,而菜鸟的我飞上枝头却感冒了,为什么我的脑袋如此的不管用呢。
2008-07-17 18:08
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
收藏
得分:0 
我没有用int根指针比较呀
难道input返回的不是int?

麻雀飞上枝头变凤凰,而菜鸟的我飞上枝头却感冒了,为什么我的脑袋如此的不管用呢。
2008-07-17 18:08
VxWorks
Rank: 3Rank: 3
来 自:WindRiver
等 级:论坛游民
威 望:6
帖 子:859
专家分:68
注 册:2007-11-24
收藏
得分:0 
"*"的值是保存字符*的地址,你拿prev和地址比较怎么可能相等,要比较的是字符'*'不是存放'*'的地址。

真是让人郁闷,不知fish下个版本还要等多久才能出来。

为了防止世界被破坏,为了守护世界的和平,贯彻爱与真实的邪恶,可爱又迷人的反派角色,VxWorks!
Don't ask me any question.I'm just here to buy soy sauce.
2008-07-17 18:11
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
收藏
得分:0 
啊啊!!!!!!
手误!!!
真的是手误!!!

应该是'*' ,我代码写错了。

麻雀飞上枝头变凤凰,而菜鸟的我飞上枝头却感冒了,为什么我的脑袋如此的不管用呢。
2008-07-17 18:16
VxWorks
Rank: 3Rank: 3
来 自:WindRiver
等 级:论坛游民
威 望:6
帖 子:859
专家分:68
注 册:2007-11-24
收藏
得分:0 
这个bug改完后试试下面的测试用例:
int i=0;
/*test

为了防止世界被破坏,为了守护世界的和平,贯彻爱与真实的邪恶,可爱又迷人的反派角色,VxWorks!
Don't ask me any question.I'm just here to buy soy sauce.
2008-07-17 18:19
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
收藏
得分:0 
这个好像不是正常的源码吧!

麻雀飞上枝头变凤凰,而菜鸟的我飞上枝头却感冒了,为什么我的脑袋如此的不管用呢。
2008-07-17 18:20
VxWorks
Rank: 3Rank: 3
来 自:WindRiver
等 级:论坛游民
威 望:6
帖 子:859
专家分:68
注 册:2007-11-24
收藏
得分:0 
难道用户只能用你的软件跑完美的代码吗?

软件应该足够的健壮,考虑各种可能遇到的情况

为了防止世界被破坏,为了守护世界的和平,贯彻爱与真实的邪恶,可爱又迷人的反派角色,VxWorks!
Don't ask me any question.I'm just here to buy soy sauce.
2008-07-17 18:25
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
收藏
得分:0 
对了,我想在问一个问题,
就是,为什么写完.lex见后每次调用flex来生成源码时都显示说.lex文件末尾没有EOF
请问这是为何?

麻雀飞上枝头变凤凰,而菜鸟的我飞上枝头却感冒了,为什么我的脑袋如此的不管用呢。
2008-07-17 18:26
快速回复:想用lex做一个代码注释清楚的小东西,但遇见了一个问题
数据加载中...
 
   



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

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