您的位置:首页 > 教育专区 > 教育相关 >
flex识别注释并跳过注释
时间:2016-12-13 12:38来源:文库分享网 作者:wkfxw.com 点击:

之前在完成任务的时候,自学完成flex任务,虽然不是太难,但是在“跳过注释”这一方面却花费了比较长的时间,在这我分享出来我自己的经验

内容来自www.wkfxw.com


工具/原料

flex

test.txt

方法/步骤

首先要分析要注释的开始符和终结符是什么

在这里是:

/* */ (多行注释)

// (单行注释)

代码如下

#include<stdio.h>

int main()

{

//printf("this is a test\n");

/*this ia a comment

*/

return 0;

}

之后就是flex编写程序了

%x COMMENT

%{%}

%%"//".* { } /*跳过单行注释*/

"/*" {BEGIN COMMENT;}

<COMMENT>"*/" {BEGIN INITIAL;}

<COMMENT>. {} /*跳过多行注释*/

. {printf("%s", yytext);} /*用来测试,看是否已经跳过注释*/

%%

int main(int argc, char **argv){

FILE *fp;

if (argc != 2){

printf("参数错误!\n");

exit(0);

}

fp= argv[1];

yyin = fopen(fp, "r");

yylex();

fclose(yyin);

return 0;

}

int yywrap(){

return 1;

}

运行之后结果如下,这样就完整的达到跳过注释的目的

flex识别注释并跳过注释

注意事项

注意相关的正则表达式一定要正确写对!!!!

0%
(0)
0%
(0)
最新评论
选择评论类型:
验证码:点击我更换图片

关于我们 | 信息反馈 | 网站地图 |文库提交