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

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

?? scan.l

?? This is a resource based on j2me embedded,if you dont understand,you can connection with me .
?? L
字號:
/* * @(#)scan.l	1.16 06/10/10 * * Copyright  1990-2008 Sun Microsystems, Inc. All Rights Reserved.   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER   *    * This program is free software; you can redistribute it and/or   * modify it under the terms of the GNU General Public License version   * 2 only, as published by the Free Software Foundation.    *    * This program is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU   * General Public License version 2 for more details (a copy is   * included at /legal/license.txt).    *    * You should have received a copy of the GNU General Public License   * version 2 along with this work; if not, write to the Free Software   * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA   * 02110-1301 USA    *    * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa   * Clara, CA 95054 or visit www.sun.com if you need additional   * information or have any questions.  * */%Start Cexpr%Start Cstmt%Start Normal/* Work around flex 2.5.31 bug */%array%{#include <stdio.h>#include <stdlib.h>#include <string.h>#include "hash.h"#include "rule.h"#include "tbl.cc.h"#include "debug.h"#include "globals.h"#include "longstring.h"/* * This is set up for flex. Real lex users may need to change the following */#ifndef input#define input yyinput#endif#ifndef unput#define unput yyunput#endifstatic char * scan_cstmt( int c, char scanfor, char counterpoise = '\0'  );hashtab dictionary;%}%%\,	{	if (DEBUG(SCAN))	    printf("<,> ");        return ',';	}<Cexpr>:	{	if (DEBUG(SCAN))		printf("<C_EXPR(empty)>");	/* yyless(yyleng); -- this don't seem to work in C++ */	unput(':');	yylval.charp = 0;	BEGIN Normal;	return C_EXPR;	}\:	{	if (DEBUG(SCAN))	    printf("<:> ");	return ':';	}<Normal>\n	{	if (DEBUG(SCAN))	    printf("<NL>\n");	return NL;	}<Normal>\/\/.*\n {	if (DEBUG(SCAN))	    printf("<NL(comment)>\n");	return NL; /* comment */	}\%leaf	{	if (DEBUG(SCAN))	    printf("<%%leaf> ");	return LEAF;	}\%term	{	if (DEBUG(SCAN))	    printf("<%%term> ");	return LEAF;	}\%unary	{	if (DEBUG(SCAN))	    printf("<%%unary> ");	return UNARY;	}\%binary	{	if (DEBUG(SCAN))	    printf("<%%binary> ");	return BINARY;	}\%type	{	if (DEBUG(SCAN))	    printf("<%%type> ");	return TYPE;	}\%goal	{	if (DEBUG(SCAN))	    printf("<%%goal> ");	return GOAL;	}\%name	{	if (DEBUG(SCAN))	    printf("<%%name> ");	return NAME;	}\%opcode	{	if (DEBUG(SCAN))	    printf("<%%opcode> ");	return OPCODE;	}\%right	{	if (DEBUG(SCAN))	    printf("<%%right> ");	return RIGHT;	}\%left	{	if (DEBUG(SCAN))	    printf("<%%left> ");	return LEFT;	}\%getstate	{	if (DEBUG(SCAN))	    printf("<%%getstate> ");	return GETSTATE;	}\%setstate	{	if (DEBUG(SCAN))	    printf("<%%setstate> ");	return SETSTATE;	}\%dag	{	if (DEBUG(SCAN))	    printf("<%%dag> ");	return DAG;	}[ \t]*  ;<Normal>[0-9]+	{	yylval.intval =  atoi( yytext );	if (DEBUG(SCAN))	    printf("<NUMBER:%d> ", yylval.intval);	return NUMBER;	}<Normal>[a-zA-Z][a-zA-Z_0-9]* {	yylval.charp = dictionary.enhash( yytext );	if (DEBUG(SCAN))	    printf("<WORD:%s> ", yylval.charp);	return WORD;	}<Cstmt>.|\n	{	yylval.charp = scan_cstmt( yytext[0], ';' );	if (DEBUG(SCAN))		printf("<CSTMT:%s> ", yylval.charp);	BEGIN Normal;	return C_STMT;	}<Cexpr>.|\n	{	yylval.charp = scan_cstmt( yytext[0], ':', '?' );	// oops. expression has trailing : that we do not want.	yylval.charp[ strlen( yylval.charp ) - 1 ] = '\0';	unput(':');	if (DEBUG(SCAN))		printf("<CEXPR:%s> ", yylval.charp);	BEGIN Normal;	return C_EXPR;	}\%\{	{	/* random C code to embed in output. Write it directly out */	int c;	int col=2;	if (DEBUG(SCAN))	    printf("<C_CODE> ");	fprintf(output_file, "#line %d \"%s\"\n", curlineno, input_name);	for(;;){		c = input();		switch( c ){		case 0:			/* lex eof */			unput(0);			return C_CODE;		case '\n':			col = 0;			curlineno += 1;			break;		case '%':			if (col == 1){				c = input();				if ( c == '}' )					return C_CODE;				fputc('%', output_file);				col += 1;			}			break;		}		fputc( c, output_file );		col += 1;	}	}<Normal>. {	if (DEBUG(SCAN))	    printf("<NL(illegal characters)>\n");	fprintf(stderr, "Illegal characters at #line %d \"%s\":\n   \"%c",		curlineno, input_name, yytext[0]);	fflush(stderr);	/* Consume the whole line of text after this: */	for(;;) {	    int c = input();	    if (c == '\n') {		break;	    }	    fputc(c, stderr);	}	fprintf(stderr, "\"\n");	fflush(stderr);	/* Note: to abort instead of continuing with the parsing, call	   cleanup(1).  For now, we want to allow JCS to continue parsing. */	return NL; /* illegal characters */	}%%voidreset_scanner(void){	if (DEBUG(SCAN))		printf("{Normal} ");	BEGIN Normal;}voidwant_cexpr(void){	if (DEBUG(SCAN))		printf("{Cexpr} ");	BEGIN Cexpr;}voidwant_cstmt(void){	if (DEBUG(SCAN))		printf("{Cstmt} ");	BEGIN Cstmt;}extern void cleanup(int exitcode);static voidcstmt_error(const char *errorMessage, int lineNo){	fprintf(stderr, "file \"%s\" line %d: %s\n",		input_name, lineNo, errorMessage);	fflush(stderr);	cleanup(1);}static char *scan_cstmt( int c, char scanfor, char counterpoise ){	/* looking for a C statement. Found something that might look like one.	 * Note that I believe a C statement cannot begin with a %, a , or a %,	 * so I have not protected with a start condition rules beginning with	 * one of those characters. 	 * NOTE: If I am wrong, this would be trivial to fix up later.	 *	 * Our job here is to count {, (, ) and } until we see an unqualified ;,	 * save the junk up, then return a pointer to it. We are not real smart	 * about quoted strings or macros, so any of these characters -- including	 * ; -- that ought not to cound must be backslash protected!	 */	int nbrace = 0;	int nparen = 0;	int ncounter = 0;	longstring  statement;	int lastc;	int startingLineNumberOfStatement = curlineno;	int startingLineNumberOfComment = 0;	bool inComment = false;	{	    char buf[32];	    sprintf(buf, "%d", curlineno);	    statement.add( "#line ", 6 );	    statement.add( buf, strlen(buf));	    statement.add( " \"", 2);	    statement.add( input_name, strlen(input_name));	    statement.add( "\"\n", 2);	}	lastc = ' '; /* harmless character */	while (c!=EOF) { 	// lex EOF: prevents finding a zero otherwise!		statement.add( c );		if ( c == scanfor ){			if (nbrace==0 && nparen==0 && ncounter<=0 && lastc!='\\')				break; // from for (;;) loop			else if (lastc!='\\' && ncounter>0 )				ncounter -=1;		} else if ( c == counterpoise ){			ncounter +=1;		} else switch (c){		case '{':			if (lastc!='\\')				nbrace+=1;			break;		case '}':			if (lastc!='\\')				nbrace-=1;			if (nbrace < 0) {			    cstmt_error("'}' without a '{'", curlineno);			}			break;		case '(':			if (lastc!='\\')				nparen+=1;			break;		case ')':			if (lastc!='\\')				nparen-=1;			if (nparen < 0) {			    cstmt_error("')' without a '('", curlineno);			}			break;		/* Check for comments: */		case '/': {			    char next = input();			    startingLineNumberOfComment = curlineno;			    /* Check for C comments: */			    if (next == '*') {			        statement.add(next);			        /* C comment found.  Go consume the comment: */			        inComment = true;			        c = input();			        while (c!=EOF && inComment) {			            statement.add(c);			            /* Look for end of comment: */			            switch(c) {			            case '*':			                next = input();			                if (next == '/') {			                    /* End of comment found: */			                    statement.add(next);			                    inComment = false;			                } else {			                    unput(next);			                }			                break;			            case '\n':			                curlineno += 1;			                break;			            default:			                break;			            }			            lastc = c;			            c = input();			        }			        unput(c);			    } else if (next == '/') {			        statement.add(next);			        /* C++ comment found.  Go consume the comment: */			        inComment = true;			        c = input();			        fprintf(stderr,			            "Warning! C++ style comment found at line %d\n",			            startingLineNumberOfComment);			        while (c!=EOF && inComment) {			            statement.add(c);			            /* Look for end of comment: */			            switch(c) {			            case '\n':			                curlineno += 1;			                inComment = false;			                break;			            default:			                break;			            }			            lastc = c;			            c = input();			        }			        unput(c);			    } else {			        unput(next);			    }			}			break;		case '\n':			curlineno += 1;			break;		default:			break;		}		lastc = c;		c = input();	}	if (c == EOF) {	    fprintf(stderr, "line %d: Unexpected EOF in statement\n",	            startingLineNumberOfStatement);	    if (nbrace > 0) {	        fprintf(stderr, "    Number of '{' exceeds '}' by %d\n", nbrace);	    }	    if (nparen > 0) {	        fprintf(stderr, "    Number of '(' exceeds ')' by %d\n", nparen);	    }	    if (inComment) {	        fprintf(stderr, "    Unterminated comment at line %d\n",	                startingLineNumberOfComment);	    }	    fflush(stderr);	    cleanup(1);	}	return statement.extract();}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区视频在线| 欧美精品在线一区二区三区| 成人毛片视频在线观看| 97aⅴ精品视频一二三区| 欧美日韩三级视频| 久久久91精品国产一区二区精品| 亚洲欧美另类图片小说| 青青草97国产精品免费观看无弹窗版 | 亚洲丝袜自拍清纯另类| 天天色天天爱天天射综合| 国产一区二区毛片| 欧美亚洲日本一区| wwwwxxxxx欧美| 亚洲欧美一区二区三区国产精品| 日韩成人免费在线| 成人黄色777网| 91精选在线观看| 国产精品久久久久久久久久久免费看 | 国产伦精品一区二区三区视频青涩 | 欧美一级片免费看| 五月婷婷激情综合网| 国产不卡在线视频| 8x福利精品第一导航| 国产精品视频一二| 日本成人中文字幕在线视频| 国产呦萝稀缺另类资源| 在线观看一区二区视频| 久久久国产精品午夜一区ai换脸| 亚洲观看高清完整版在线观看| 国v精品久久久网| 91精品国产综合久久精品麻豆 | 色综合久久99| 久久久www免费人成精品| 亚洲一区二区三区自拍| 国产91丝袜在线播放0| 制服丝袜国产精品| 一区二区三区四区蜜桃| 国产不卡视频在线播放| 欧美一级在线观看| 亚洲一区二区高清| av亚洲精华国产精华精华| 日韩欧美一级在线播放| 亚洲高清免费视频| 97久久久精品综合88久久| 久久精品欧美一区二区三区不卡 | 欧美一区中文字幕| 有坂深雪av一区二区精品| 国产1区2区3区精品美女| 欧美一级生活片| 亚洲一二三区视频在线观看| 不卡电影一区二区三区| 久久久久久日产精品| 蜜桃精品视频在线| 欧美视频三区在线播放| 亚洲免费在线播放| 94色蜜桃网一区二区三区| 国产欧美一区二区三区沐欲| 激情综合网av| 欧美精品一区二| 久久精品噜噜噜成人av农村| 5858s免费视频成人| 亚洲高清不卡在线观看| 在线观看亚洲a| 一区二区在线免费| 在线一区二区三区四区| 国产一本一道久久香蕉| 欧美精品一区二区三区久久久 | 久久―日本道色综合久久| 免费精品视频最新在线| 日韩一本二本av| 日本美女一区二区三区视频| 在线不卡一区二区| 奇米色777欧美一区二区| 欧美一级视频精品观看| 青草国产精品久久久久久| 正在播放亚洲一区| 麻豆国产一区二区| 26uuu精品一区二区三区四区在线| 喷水一区二区三区| 精品福利一区二区三区| 国产乱子伦视频一区二区三区| 国产婷婷一区二区| 99免费精品在线观看| 亚洲少妇30p| 欧美色网站导航| 视频一区二区三区中文字幕| 日韩欧美中文字幕制服| 国产一区二区免费在线| 欧美国产日韩一二三区| 97精品国产露脸对白| 亚洲午夜av在线| 日韩视频不卡中文| 福利91精品一区二区三区| 亚洲女与黑人做爰| 在线精品视频免费播放| 喷白浆一区二区| 国产女人水真多18毛片18精品视频 | 日韩欧美电影一区| 国产一区日韩二区欧美三区| 国产精品人人做人人爽人人添| 91麻豆国产香蕉久久精品| 亚洲18女电影在线观看| 欧美电影免费观看高清完整版| 国产馆精品极品| 亚洲女人小视频在线观看| 欧美日韩精品一区二区三区| 久久精品国产精品青草| 中文字幕精品三区| 欧美在线免费观看亚洲| 麻豆精品一区二区三区| 久久久99免费| 在线观看av不卡| 久久国产尿小便嘘嘘尿| 中文字幕在线不卡一区| 欧美极品少妇xxxxⅹ高跟鞋| 色欧美片视频在线观看| 九九国产精品视频| 亚洲欧美日韩一区二区| 欧美一级在线观看| 不卡电影一区二区三区| 青青草国产成人av片免费 | 91猫先生在线| 日韩国产欧美在线观看| 中文字幕欧美国产| 91麻豆精品国产91久久久久久久久| 国产精品亚洲人在线观看| 亚洲成年人影院| 久久欧美一区二区| 欧美日韩aaa| 成人丝袜高跟foot| 日本不卡123| 亚洲麻豆国产自偷在线| 欧美精品一区二区三| 欧美亚洲国产一区二区三区va | 国产精品视频一二| 日韩视频在线永久播放| 91精品1区2区| 国产91精品露脸国语对白| 青青国产91久久久久久 | 欧美精品日韩综合在线| 国产成人鲁色资源国产91色综| 日韩黄色免费网站| 一区二区三区日本| 国产精品三级电影| 久久综合五月天婷婷伊人| 欧美日韩不卡一区二区| 99久久精品免费精品国产| 国产一区二区三区精品欧美日韩一区二区三区 | 狠狠狠色丁香婷婷综合激情| 亚洲一卡二卡三卡四卡无卡久久| 久久久99精品免费观看不卡| 日韩一级二级三级精品视频| 在线视频欧美精品| 成人短视频下载| 黑人精品欧美一区二区蜜桃| 日韩va欧美va亚洲va久久| 亚洲一区二区三区四区五区中文| 国产精品美女久久久久久久久| 日韩精品一区二区三区在线播放| 欧美三区免费完整视频在线观看| www.成人网.com| 国产精品亚洲а∨天堂免在线| 久久精品国产亚洲高清剧情介绍 | 日韩一区二区视频在线观看| 欧美专区日韩专区| 91视频国产观看| av在线综合网| 北条麻妃一区二区三区| 粉嫩一区二区三区在线看| 国产一区二区三区日韩| 精品无人码麻豆乱码1区2区| 五月婷婷久久丁香| 午夜精品久久久久久久久| 亚洲国产精品影院| 午夜精品久久久| 日韩福利电影在线观看| 亚洲成人一区在线| 777亚洲妇女| 美女视频网站黄色亚洲| 欧美日韩国产综合视频在线观看 | 欧美一区二区三区婷婷月色| 一区二区在线免费| 欧美在线观看禁18| 亚洲一区二区三区小说| 欧美精品99久久久**| 蜜臀精品久久久久久蜜臀| 91精品国产色综合久久不卡蜜臀| 午夜免费久久看| ww亚洲ww在线观看国产| 丰满白嫩尤物一区二区| 亚洲精选在线视频| 欧美日韩美少妇 | 亚洲一二三专区| 国产精品人成在线观看免费| 欧美视频完全免费看| 91成人在线免费观看| a级高清视频欧美日韩| 午夜精品久久久久久久蜜桃app| 欧美午夜精品久久久久久孕妇| 亚洲女同一区二区|