example2.l

来自「NFA DFA相关算法 编译原理的一个实验内容 使用VC++打开」· L 代码 · 共 36 行

L
36
字号
%{
int comments, code, whiteSpace;
%}

%s COMMENT

%%
^[ \t]*"/*"	{ BEGIN COMMENT; /* enter comment eating state */ }
^[ \t]*"/*".*"*/"[ \t]*\n {
		 comments++; /* self-contained comment */
		 }

<COMMENT>"*/"[ \t]*\n	{ BEGIN 0;  comments++;}
<COMMENT>"*/"		{ BEGIN 0; }
<COMMENT>\n	{ comments++; }
<COMMENT>.\n	{ comments++; }

^[ \t]*\n	{ whiteSpace++; }

.+"/*".*"*/".*\n        { code++; comments++; }
.*"/*".*"*/".+\n	{ code++; }
.+"/*".*\n		{ code++; BEGIN COMMENT; }
.\n			{ code++; }

.			; /* ignore everything else */
%%
main()
{
	yylex();
	printf("code: %d, comments %d, white space %d\n",
		code, comments, whiteSpace);
}

int yywrap()
{return 1;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?