亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mylex.l

?? 運用flex自動生成詞法分析器。包含源代碼和使用文檔
?? L
字號:
%{
#include "stdlib.h"
#include "stdio.h"
#define KW "0x103"
#define IDTF "0x104"
#define BL "0x105"
#define CHR "0x106"
#define INTEGER "0x107"
#define FLT "0x108"
#define STR "0x109"
#define EVA "0x110"
#define EQU "0x117"

/* 一行內既有代碼又有注釋, 則codeno,commentno都加一 */
int lineno = 0;        /* 總行數 */
int emptylineno = 0;    /* 空行數 */
int codeno = 0;        /* 代碼行數 */
int commentno = 0;    /* 注釋行數 */
int is_comment = 0;    /* 該行是否為注釋 */
int in_comment = 0;    /* 是否在注釋內,主要考慮跨行的注釋代碼 */
int is_code = 0;    /* 該行是否為代碼 */
int token_num=0;/*總單詞數*/
int pre_tk_num=0;
int tk_pline=0;
%}

digit  [0-9]
alpha  [a-zA-Z]
delima   [ \t]
ws       {delima}+
dgt8  0[1-9][0-9]*
dgt16  0[Xx][0-9a-fA-F]+
dgt10  [1-9][1-9]*[Ll]?
integer    {dgt8}|{dgt16}|{dgt10}|0
bl  "false"|"true"
kw  "abstract"|"boolean"|"break"|"byte"|"case"|"catch"|"char"|"class"|"const"|"continue"|"default"|"do"|"double"|"else"|"extends"|"final"|"finally"|"float"|"for"|"goto"|"if"|"implements"|"import"|"instanceof"|"int"|"interface"|"long"|"native"|"new"|"null"|"package"|"private"|"protected"|"public"|"return"|"short"|"static"|"super"|"switch"|"synchronized"|"this"|"throw"|"throws"|"transient"|"try"|"void"|"volatile"|"while"
identifer   [a-zA-Z][0-9a-zA-Z]*
dcm     [0-9]*[.][0-9]+[FfLl]?|[0-9]+[.][FfLl]?
itg     [1-9][0-9]*
scdcm    ({dcm}|{itg})[Ee][+-]?{itg}
flt     {dcm}|{scdcm}
sqm      "\\\'"
dqm      "\\\""
character   ['][^\t\n][']
string      ["]([^\n'"]*|({dqm}|{sqm})*)*["]
evaluate    "="|"+="|"-="|"*="|"/="|"%="|"&="|"^="|"|="|">>="|"<<="|">>>="
condop      [?:]
equal       "=="|"!="
cmp         "<"|">"|"<="|">="
shift       "<<"|">>"|">>>"
adsub       "+"|"-"
muldivmod   "*"|"/"|"%"
auto        "++"|"--"|"!"|"~"
sepr        "["|"]"|"("|")"|"."
brace       "{"|"}"

%%

{ws}        {/*no action and no return*/}
\/\/        { in_comment = 2; is_comment = 1; } /* 匹配以//開始的注釋 */
\/\*        { in_comment = 1; is_comment = 1; } /* 匹配另一種注釋 */
\*\/        { in_comment = 0; is_comment = 1; }  /*40*/
\n    { /* 一行結束了,分析這行的屬性 */
        lineno++;
        if (!is_comment && !is_code)/*如果不是注釋也不是代碼,那就是空格行*/
            {
		emptylineno++;
 	    }
        else
        {
            if (is_comment)
                commentno++;
            if (is_code)
                codeno++;
        }
        is_comment = 0;
        is_code = 0;
	if(in_comment == 2)     in_comment=0;
	tk_pline = token_num-pre_tk_num;
	printf("---->%d tokens in line %d.\n",tk_pline,lineno);
	fprintf(yyout,"---->%d tokens in line %d.\n",tk_pline,lineno);
	pre_tk_num = token_num;
      }
{bl}  {
        if (in_comment) is_comment = 1;
	else 
	{
	     is_code = 1;

	     token_num++;
	     printf("line %d:(%s,%s)\n",lineno+1,BL,yytext);
             fprintf(yyout,"line %d:(%s,%s)\n",lineno+1,BL,yytext);
	}
      }
{kw}  {
	if (in_comment)     is_comment = 1; 
	else 
	{
	     is_code = 1;

	     token_num++;
	     printf("line %d:(%s,%s)\n",lineno+1,KW,yytext);
             fprintf(yyout,"line %d:(%s,%s)\n",lineno+1,KW,yytext);
	}
      }
{identifer}  {
		if (in_comment)     is_comment = 1; 
	        else 
	        {
	               is_code = 1;

	     	       token_num++;
	   	       printf("line %d:(%s,%s)\n",lineno+1,IDTF,yytext);
                       fprintf(yyout,"line %d:(%s,%s)\n",lineno+1,IDTF,yytext);
	        }
	     }
{character}   {
		  if (in_comment)     is_comment = 1; 
	          else 
	          {
	               is_code = 1;

	               token_num++;
	   	       printf("line %d:(%s,%s)\n",lineno+1,CHR,yytext);
                       fprintf(yyout,"line %d:(%s,%s)\n",lineno+1,CHR,yytext);
	          }
              }
{string}   {
		if (in_comment)     is_comment = 1; 
	        else 
	        {
	               is_code = 1;

	               token_num++;
	   	       printf("line %d:(%s,%s)\n",lineno+1,STR,yytext);
                       fprintf(yyout,"line %d:(%s,%s)\n",lineno+1,STR,yytext);
                }
           }
{integer}  {
	        if (in_comment) is_comment = 1; 
	 	else 
		 {
	 	    is_code = 1;

	            token_num++;
	  	    printf("line %d:(%s,%s)\n",lineno+1,INTEGER,yytext);
       		    fprintf(yyout,"line %d:(%s,%s)\n",lineno+1,INTEGER,yytext);
		 }
           }
{flt}   {
	        if (in_comment) is_comment = 1; 
	 	else 
		 {
	 	    is_code = 1;

	            token_num++;
	  	    printf("line %d:(%s,%s)\n",lineno+1,FLT,yytext);
       		    fprintf(yyout,"line %d:(%s,%s)\n",lineno+1,FLT,yytext);
		 }
        }
{evaluate}  {
		if (in_comment) is_comment = 1; 
	 	else 
		 {
	 	    is_code = 1;

	            token_num++;
	  	    printf("line %d:(%s,%s)\n",lineno+1,EVA,yytext);
       		    fprintf(yyout,"line %d:(%s,%s)\n",lineno+1,EVA,yytext);
		 }
         }
{condop}  {
		if (in_comment) is_comment = 1; 
	 	else 
		 {
	 	    is_code = 1;

	            token_num++;
	  	    printf("line %d:(0x111,%s)\n",lineno+1,yytext);
       		    fprintf(yyout,"line %d:(0x111,%s)\n",lineno+1,yytext);
		 }
          }
"||"      {
		if (in_comment) is_comment = 1; 
	 	else 
		 {
	 	    is_code = 1;

	            token_num++;
	  	    printf("line %d:(0x112,%s)\n",lineno+1,yytext);
       		    fprintf(yyout,"line %d:(0x112,%s)\n",lineno+1,yytext);
		 }
          }
"&&"      {
		if (in_comment) is_comment = 1; 
	 	else 
		 {
	 	    is_code = 1;

	            token_num++;
	  	    printf("line %d:(0x113,%s)\n",lineno+1,yytext);
       		    fprintf(yyout,"line %d:(0x113,%s)\n",lineno+1,yytext);
		 }
          }
"|"       {
		if (in_comment) is_comment = 1; 
	 	else 
		 {
	 	    is_code = 1;

	            token_num++;
	   	    printf("line %d:(0x114,%s)\n",lineno+1,yytext);
       		    fprintf(yyout,"line %d:(0x114,%s)\n",lineno+1,yytext);
		 }
          }
"^"       {
		if (in_comment) is_comment = 1; 
	 	else 
		 {
	 	    is_code = 1;

	      	    token_num++;
	  	    printf("line %d:(0x115,%s)\n",lineno+1,yytext);
       		    fprintf(yyout,"line %d:(0x115,%s)\n",lineno+1,yytext);
		 }
          }
"&"       {
		if (in_comment) is_comment = 1; 
	 	else 
		 {
	 	    is_code = 1;

	            token_num++;
	  	    printf("line %d:(0x116,%s)\n",lineno+1,yytext);
       		    fprintf(yyout,"line %d:(0x116,%s)\n",lineno+1,yytext);
		 }
          }
{equal}   {
		if (in_comment) is_comment = 1; 
	 	else 
		 {
	 	    is_code = 1;

	            token_num++;
	  	    printf("line %d:(0x117,%s)\n",lineno+1,yytext);
       		    fprintf(yyout,"line %d:(0x117,%s)\n",lineno+1,yytext);
		 }
          }
{cmp}   {
		if (in_comment) is_comment = 1; 
	 	else 
		 {
	 	    is_code = 1;

	            token_num++;
	  	    printf("line %d:(0x118,%s)\n",lineno+1,yytext);
       		    fprintf(yyout,"line %d:(0x118,%s)\n",lineno+1,yytext);
		 }
          }
{shift}   {
		if (in_comment) is_comment = 1; 
	 	else 
		 {
	 	    is_code = 1;

	            token_num++;
	  	    printf("line %d:(0x119,%s)\n",lineno+1,yytext);
       		    fprintf(yyout,"line %d:(0x119,%s)\n",lineno+1,yytext);
		 }
          }
{adsub}   {
		if (in_comment) is_comment = 1; 
	 	else 
		 {
	 	    is_code = 1;

	            token_num++;
	  	    printf("line %d:(0x11a,%s)\n",lineno+1,yytext);
       		    fprintf(yyout,"line %d:(0x11a,%s)\n",lineno+1,yytext);
		 }
          }
{muldivmod}   {
		if (in_comment) is_comment = 1; 
	 	else 
		 {
	 	    is_code = 1;

	            token_num++;
	  	    printf("line %d:(0x11b,%s)\n",lineno+1,yytext);
       		    fprintf(yyout,"line %d:(0x11b,%s)\n",lineno+1,yytext);
		 }
          }
{auto}    {
		if (in_comment) is_comment = 1; 
	 	else 
		 {
	 	    is_code = 1;

	            token_num++;
	  	    printf("line %d:(0x11c,%s)\n",lineno+1,yytext);
       		    fprintf(yyout,"line %d:(0x11c,%s)\n",lineno+1,yytext);
		 }
          }
{sepr}    {
		if (in_comment) is_comment = 1; 
	 	else 
		 {
	 	    is_code = 1;

	            token_num++;
	  	    printf("line %d:(0x11d,%s)\n",lineno+1,yytext);
       		    fprintf(yyout,"line %d:(0x11d,%s)\n",lineno+1,yytext);
		 }
          }
","       {
		if (in_comment) is_comment = 1; 
	 	else 
		 {
	 	    is_code = 1;

	            token_num++;
	  	    printf("line %d:(0x120,%s)\n",lineno+1,yytext);
       		    fprintf(yyout,"line %d:(0x120,%s)\n",lineno+1,yytext);
		 }
          }
{brace}   {
		if (in_comment) is_comment = 1; 
	 	else 
		 {
	 	    is_code = 1;

	     	    token_num++;
	  	    printf("line %d:(0x121,%s)\n",lineno+1,yytext);
       		    fprintf(yyout,"line %d:(0x121,%s)\n",lineno+1,yytext);
		 }
          }
";"       {
		if (in_comment) is_comment = 1; 
	 	else 
		 {
	 	    is_code = 1;

	            token_num++;
	  	    printf("line %d:(0x122,%s)\n",lineno+1,yytext);
       		    fprintf(yyout,"line %d:(0x122,%s)\n",lineno+1,yytext);
		 }
          }
.     { 
	        if (in_comment) is_comment = 1; 
	 	else 
		 {
	 	    is_code = 1;

	  	    printf("error:in line %d\n",lineno+1);
       		    fprintf(yyout,"error:in line %d\n",lineno+1);
		 }
      } /* 匹配漏掉的字符,使它不輸出 */
%%
int yywrap()
{return 1;}

int main()
{
    yyout = fopen("E:\\scanner_output.txt","w");
    if (yyout == NULL)
    {
        printf("Fail to open the file.");
        return 0;
    }
    

    yylex();
    /* 匹配最后一行 */
    if  (is_comment)
    {
        lineno++;
         commentno++;
    }
    else if  (is_code)
    {
        lineno++;
        codeno++;
    }

    printf("\n");
    fprintf(yyout,"\n");

    printf("Line Total:%d\nEmptyline Total=%d\nComment Line Total:%d\nCode Line Total:%d\nToken Total:%d\n", lineno, emptylineno, commentno, codeno, token_num);
    fprintf(yyout,"Line Total:%d\nEmptyline Total=%d\nComment Line Total:%d\nCode Line Total:%d\nToken Total:%d\n", lineno, emptylineno, commentno, codeno, token_num);
    fclose(yyout);
    return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本久久精品电影| 天堂久久一区二区三区| 国产高清亚洲一区| 精品国产伦一区二区三区观看方式| 日韩av网站免费在线| 欧美乱妇一区二区三区不卡视频 | 中文字幕一区二区日韩精品绯色| 国产精品99久久久久久久vr| 欧美国产欧美综合| 99久久精品免费看| 亚洲一区二区三区视频在线| 欧美区一区二区三区| 欧美bbbbb| 国产亚洲女人久久久久毛片| 成人精品国产一区二区4080| 亚洲人吸女人奶水| 欧美日韩日日摸| 蜜桃免费网站一区二区三区| 久久人人97超碰com| 成人a免费在线看| 夜夜精品视频一区二区| 亚洲国产成人一区二区三区| 91啪九色porn原创视频在线观看| 丝袜诱惑亚洲看片| 久久天天做天天爱综合色| 成人福利电影精品一区二区在线观看| 亚洲激情自拍视频| 欧美一区二区私人影院日本| 懂色av一区二区三区蜜臀| 亚洲精品免费在线观看| 制服丝袜亚洲色图| 风间由美性色一区二区三区| 香蕉加勒比综合久久| 国产亚洲欧美日韩日本| 欧美图区在线视频| 国产不卡在线视频| 亚洲第一激情av| 国产网站一区二区| 欧美日韩激情在线| 成人一区在线看| 日本不卡的三区四区五区| 国产人久久人人人人爽| 欧美日韩在线电影| 懂色av中文一区二区三区| 五月婷婷久久综合| 一区二区中文视频| 欧美大胆一级视频| 欧美午夜片在线观看| 国产成人综合精品三级| 丝袜a∨在线一区二区三区不卡| 国产日韩精品一区二区浪潮av| 欧美日韩视频在线观看一区二区三区 | 91亚洲永久精品| 精品在线播放免费| 天天综合日日夜夜精品| 亚洲色图20p| 午夜影院在线观看欧美| 国产精品丝袜在线| 久久亚洲精华国产精华液| 3d成人h动漫网站入口| 色哟哟精品一区| 成人久久18免费网站麻豆| 奇米一区二区三区| 婷婷成人激情在线网| 亚洲综合一区二区精品导航| 亚洲欧洲成人自拍| 中文av字幕一区| 中文字幕乱码亚洲精品一区| 亚洲精品在线观看视频| 欧美一级黄色大片| 日韩欧美国产麻豆| 日韩亚洲欧美一区| 日韩一区二区精品在线观看| 欧美精品18+| 9191成人精品久久| 欧美精品少妇一区二区三区| 欧美偷拍一区二区| 在线观看视频欧美| 91视频在线看| 在线视频综合导航| 欧美午夜精品电影| 欧美性受xxxx黑人xyx| 欧美偷拍一区二区| 欧美精品一级二级三级| 在线播放欧美女士性生活| 3atv一区二区三区| 精品久久久久久亚洲综合网| 精品国产亚洲一区二区三区在线观看 | 精品国产制服丝袜高跟| 日韩欧美另类在线| 久久丝袜美腿综合| 国产精品久久久久一区| 国产一区二区三区在线观看免费| 奇米影视一区二区三区小说| 久久不见久久见免费视频1| 免费观看91视频大全| 国产一区二区免费在线| 成人免费视频网站在线观看| 色综合天天综合网天天看片| 欧美视频一区二区三区| 91精品国产综合久久久久久久| 日韩精品中文字幕在线一区| 久久一区二区三区国产精品| 亚洲欧洲av在线| 亚洲sss视频在线视频| 九九精品一区二区| 波多野结衣一区二区三区| 一本色道久久综合亚洲aⅴ蜜桃 | 欧美性感一类影片在线播放| 欧美另类一区二区三区| 精品国产三级a在线观看| 国产精品免费网站在线观看| 亚洲成人动漫在线免费观看| 久久99热这里只有精品| www.欧美日韩| 67194成人在线观看| 欧美激情在线一区二区三区| 亚洲国产成人91porn| 九九在线精品视频| 色婷婷精品大视频在线蜜桃视频| 日韩一区二区影院| 国产精品传媒入口麻豆| 老司机免费视频一区二区三区| 成人动漫视频在线| 69久久夜色精品国产69蝌蚪网| 欧美国产日韩亚洲一区| 岛国一区二区三区| 欧美高清激情brazzers| 日本一区二区三区视频视频| 五月婷婷久久丁香| 成人黄色在线视频| 日韩精品一区二区三区视频播放| 国产精品色在线观看| 蜜桃av一区二区| 在线一区二区三区四区五区| 国产午夜精品福利| 日韩精品成人一区二区三区| 99精品久久免费看蜜臀剧情介绍| 日韩三级高清在线| 亚洲一区二区五区| 不卡电影免费在线播放一区| 欧美va亚洲va在线观看蝴蝶网| 亚洲靠逼com| 成人综合婷婷国产精品久久免费| 日韩一区二区免费视频| 亚洲一区二区三区视频在线| 91伊人久久大香线蕉| 国产免费成人在线视频| 国内精品久久久久影院色| 欧美老人xxxx18| 一区二区三区国产精品| 国产98色在线|日韩| 精品国产露脸精彩对白| 男人的j进女人的j一区| 欧美精品v日韩精品v韩国精品v| 亚洲欧美一区二区久久| 国产成人精品影视| 久久色在线观看| 国产在线一区二区综合免费视频| 7777女厕盗摄久久久| 亚洲成人免费av| 欧美最猛性xxxxx直播| 亚洲色图色小说| 一本大道久久a久久综合婷婷 | aaa欧美日韩| 国产偷国产偷精品高清尤物| 国产综合久久久久影院| 欧美成人精品1314www| 久久精品噜噜噜成人88aⅴ| 91精品婷婷国产综合久久性色| 五月婷婷欧美视频| 69堂成人精品免费视频| 日本成人中文字幕| 777久久久精品| 蜜桃视频在线观看一区| 欧美电影免费提供在线观看| 欧美性猛交xxxxxx富婆| 亚洲女同一区二区| 在线免费观看一区| 亚洲国产色一区| 91精品婷婷国产综合久久性色| 蜜桃视频在线观看一区| 26uuu国产电影一区二区| 国产成人精品网址| 1000部国产精品成人观看| 日本高清免费不卡视频| 亚洲风情在线资源站| 欧美一区二区在线免费播放| 久久 天天综合| 中文字幕精品—区二区四季| 色综合久久久久综合| 亚洲午夜久久久久| 日韩三级视频中文字幕| 国产麻豆精品在线| 中文字幕日本乱码精品影院| 欧美午夜电影一区| 毛片基地黄久久久久久天堂| 亚洲国产精品精华液2区45| 色综合中文字幕国产 | 欧美裸体bbwbbwbbw|