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

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

?? shell.slex

?? vxworks的完整的源代碼
?? SLEX
?? 第 1 頁 / 共 2 頁
字號:
/* shell.slex - small lex description for VxWorks shell *//*modification history--------------------02i,27nov01,pch  Provide floating-point exclusion based on _WRS_NO_TGT_SHELL_FP		 definition instead of testing a specific CPU type.02h,02mar95,yao  make floating point conditional for PPC403.02g,29aug94,ism  added ^M to nl char class so that PC scripts run (SPR#2899)02f,29aug94,ism  added \v and \a ansi escape sequences for strings (SPR#3690)02e,19aug92,jmm  fixed incorrect recognition of DATA symbols as TEXT02d,01aug92,srh  added check to match identifier against mangled C++ symbols.02c,30jul92,wmd  use N_TEXT to compare when checking for TEXT type symbol.02b,13dec91,gae  more ANSI cleanup.02a,19nov91,rrr  shut up some ansi warnings.01z,19nov91,rrr  shut up some warnings.01y,07oct91,rrr  added forward declaration for lexInit() (more forward).01x,10aug90,dnw  added forward declaration for lexInit().01w,08aug90,dnw  changed "%F" to "%lf" for ANSI compatibility.01v,10dec89,jcf  symbol table type now SYM_TYPE.01u,15oct88,dnw  improved support for Ada identifiers.		 made it conditional on sysAdaEnable.01t,09nov88,rdc  modifications to support ada identifiers.01s,30may88,dnw  changed to v4 names.01r,28may88,dnw  changed calls to atoi() and atof() to sscanf().01q,18mar88,gae  allowed '^' to occur in strings.01p,18nov87,gae  added T_UNKNOWN for undefined symbols.		 made shell float types default to double.01o,28oct87,gae  got rid of string type.01n,20oct87,gae  fixed lexScan() bug - used MAX_SHELL_LINE for temp. buffer.		   added scanning of octal chars, eg. '\377'.01m,07aug87,gae  fixed final state of octal.		 changed type specifiers to conventional C type casting.01l,01jun87,gae  added interpretation of bytes, words, floats, doubles.		 added type specifiers a la assembler, .[bwfdls].		 fixed table for "*=".01k,09jan87,gae  fixed '^', and '\^'.01j,24dec86,gae  added '->' back into table accidentally removed in 01h.01i,24nov86,llk  deleted SYSTEM conditional compiles.01h,08oct86,gae  added C assignment operators.01g,04jun86,dnw  changed sstLib calls to symLib.01f,11oct85,dnw  de-linted.01e,19jun85,dnw  added conditional compilation for BSD 4.2 load modules.01d,10sep84,dnw  included routines from lexLib directly in this module.		 fixed bug in automatic parens insertion.01c,29aug84,jlf  changed to treat "_" as a normal alphabetic character.01b,18aug84,dnw  changed to recognize and discard "/ * .... " style comments.		 changed to treat ';' like a NL for automatic insertion of ().01a,02aug84,dnw  written*/IMPORT BOOL sysAdaEnable;	/* TRUE = enable Ada support */IMPORT BOOL sysCplusEnable;	/* TRUE = enable C++ support */typedef enum		/* states for automatic insertion of parens in yylex */    {    FIRST_LEXEME,    NORMAL,    P_OPEN,    P_OPEN_DONE,    P_CLOSE,    P_CLOSE_DONE    } AUTO_STATE;LOCAL AUTO_STATE autoState;		/* state of auto parens mods */LOCAL char *nextChar;			/* ptr to next input char in line */LOCAL char tempStrings [MAX_SHELL_LINE];/* storage for strings while parsing */LOCAL char *nextTempString;		/* ptr to free space in tempStrings *//* forward declaration */static void lexNewLine (char *line);static int yylex (void);static char *addTempString (char *string);static void lexError (char *string, char *errmsg);static int getNum (char *string, char *fmtString, VALUE *pValue);static int getFloat (char *string, VALUE *pValue);static int getString (char *string, int nChars, VALUE *pValue);static int getChar (char *string, int nChars, VALUE *pValue);static int getId (char *string, VALUE *pValue);static int numAdaIdMatches (char *string, SYM_TYPE *pType, int *pValue);static BOOL countAdaIdMatch (char *symbol, int val, SYM_TYPE type, int arg);static BOOL printAdaIdMatch (char *symbol, int val, SYM_TYPE type, int arg);static BOOL adaIdMatch (char *symbol, char *id);static int typeCast (char *string);static int strToChar (char *string, char *pChar);static void lexInit (void);static int lexScan (void);static void lexRetract (void);CHAR CLASSES:			/* generates lexClass[] and lexNclasses *//* name  definition *//* ----  ---------- */    ws   SP \t    1-7  1-7    8-9  8 9    a-f  a-f A-F    xX   x X    g-z  g-w G-W y Y z Z _    eof  ^D EOF    nl	 \n ^M EOS/* char class 0 is always "other" */END#define RETRACT		lexRetract (); string[--nChars] = EOSFINAL STATES: 			/* generates lexActions() *//* name action *//* ---- ---------------------- */    WS	{ RETRACT;	}    O	{ RETRACT;	return (string[0]); }    I	{ 		return (string[0]); }    EN	{ 		lexError(string, "invalid number"); return(LEX_ERROR); }    ES	{		lexError(string, "invalid string"); return(LEX_ERROR); }    EC	{		lexError(string, "invalid char");   return(LEX_ERROR); }    ON	{ RETRACT;	return (getNum (string, "%o", &yylval)); }    XN	{ RETRACT;	return (getNum (&string[2], "%x", &yylval)); }    $N	{ RETRACT;	return (getNum (&string[1], "%x", &yylval)); }    DN	{ RETRACT;	return (getNum (string, "%d", &yylval)); }    FN	{ RETRACT;	return (getFloat (string, &yylval)); }    ID	{ RETRACT;	return (getId (string, &yylval)); }    ST	{		return (getString (string, nChars, &yylval)); }    CH	{		return (getChar (string, nChars, &yylval)); }    ||	{		return (OR); }    &&	{		return (AND); }    ==	{		return (EQ); }    !=	{		return (NE); }    >=	{		return (GE); }    <=	{		return (LE); }    >>	{ RETRACT;	return (ROT_RIGHT); }    <<	{ RETRACT;	return (ROT_LEFT); }    ->	{		return (PTR); }    ++	{		return (INCR); }    --	{		return (DECR); }    +=	{		return (ADDA); }    -=	{		return (SUBA); }    *=	{		return (MULA); }    /=	{		return (DIVA); }    %=	{		return (MODA); }    <A	{		return (SHLA); }    >A	{		return (SHRA); }    &=	{		return (ANDA); }    |=	{		return (ORA); }    ^=	{		return (XORA); }    NL	{		return (NL); }    EOF	{		return (ENDFILE); }ENDSTATE TABLE:			/* generates lexStateTable[] *//*   0   1      2   3   4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 */ other ws  0  1-7 8-9 a-f xX g-z .  \  "  '  $  |  &  =  !  >  <  -  +  /  *  %   ^ nl eof/*  -- -- --- --- --- --- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --  -- -- ---*/ini  I ws  0  dec dec  id id id .D  I  "  '  $  |  &  =  !  >  <  -  +  s  *  %   ^ NL EOFws  WS  .  WS  WS  WS  WS WS WS WS WS WS WS WS WS WS WS WS WS WS WS WS WS WS WS WS WS WS0   DN DN oct oct  EN  EN 0x EN .N DN DN DN DN DN DN DN DN DN DN DN DN DN DN DN DN DN DNoct ON ON  .   .   EN  EN EN EN ON ON ON ON ON ON ON ON ON ON ON ON ON ON ON ON ON ON ON0x  EN EN 0xh 0xh 0xh 0xh EN EN EN EN EN EN EN EN EN EN EN EN EN EN EN EN EN EN EN EN EN0xh XN XN  .   .   .   .  EN EN EN XN XN XN XN XN XN XN XN XN XN XN XN XN XN XN XN XN XN$   EN EN  $h  $h  $h  $h EN EN EN EN EN EN EN EN EN EN EN EN EN EN EN EN EN EN EN EN EN$h  $N $N  .   .   .   .  EN EN EN $N $N $N $N $N $N $N $N $N $N $N $N $N $N $N $N $N $Ndec DN DN  .   .   .   EN EN EN .N DN DN DN DN DN DN DN DN DN DN DN DN DN DN DN DN DN DN.D FN  FN  .N  .N  .N  EN EN EN EN FN FN FN FN FN FN FN FN FN FN FN FN FN FN FN FN FN FN.N  FN FN  .   .   .   EN EN EN EN FN FN FN FN FN FN FN FN FN FN FN FN FN FN FN FN FN FNid  ID ID  .   .   .   .   .  . ID ID ID ID ID ID ID ID ID ID ID ID ID ID ID ID ID ID ID"    .  .  .   .   .   .   .  .  . "\ ST  .  .  .  .  .  .  .  .  .  .  .  .  .  . ES ES"\   "  "  "   "   "   "   "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  "  . ES ES'    .  .  .   .   .   .   .  .  . '\  . CH  .  .  .  .  .  .  .  .  .  .  .  .  . EC EC'\   '  '  '   '   '   '   '  '  '  '  '  '  '  '  '  '  '  '  '  '  '  '  '  '  ' EC ECs    O  O  O   O   O   O   O  O  O  O  O  O  O  O  O /=  O  O  O  O  O  O s*  O  O  O  Os*   .  .  .   .   .   .   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . s+  .  .  .  .s+  s* s* s*  s*  s* s* s* s* s* s* s* s* s* s* s* s* s* s* s* s* s* ini s* s* s* s* s*|    O  O  O   O   O  O   O  O  O  O  O  O  O ||  O |=  O  O  O  O  O  O  O  O  O  O  O&    O  O  O   O   O  O   O  O  O  O  O  O  O  O && &=  O  O  O  O  O  O  O  O  O  O  O=    O  O  O   O   O  O   O  O  O  O  O  O  O  O  O ==  O  O  O  O  O  O  O  O  O  O  O!    O  O  O   O   O  O   O  O  O  O  O  O  O  O  O !=  O  O  O  O  O  O  O  O  O  O  O>    O  O  O   O   O  O   O  O  O  O  O  O  O  O  O >=  O >X  O  O  O  O  O  O  O  O  O<    O  O  O   O   O  O   O  O  O  O  O  O  O  O  O <=  O  O <X  O  O  O  O  O  O  O  O-    O  O  O   O   O  O   O  O  O  O  O  O  O  O  O -=  O ->  O --  O  O  O  O  O  O  O+    O  O  O   O   O  O   O  O  O  O  O  O  O  O  O +=  O  O  O  O ++  O  O  O  O  O  O*    O  O  O   O   O  O   O  O  O  O  O  O  O  O  O *=  O  O  O  O  O  O  O  O  O  O  O%    O  O  O   O   O  O   O  O  O  O  O  O  O  O  O %=  O  O  O  O  O  O  O  O  O  O  O^    O  O  O   O   O  O   O  O  O  O  O  O  O  O  O ^=  O  O  O  O  O  O  O  O  O  O  O>X  >> >> >>  >>  >> >>  >> >> >> >> >> >> >> >> >> >A >> >> >> >> >> >> >> >> >> >> >><X  << << <<  <<  << <<  << << << << << << << << << <A << << << << << << << << << << <<ENDEJECT:END/********************************************************************************* lexNewLine - initialize for lexical scan of new line** RETURNS: N/A*/LOCAL void lexNewLine    (    char *line    )    {    lexInit ();    nextChar = line;    nextTempString = tempStrings;    autoState = FIRST_LEXEME;    }/********************************************************************************* yylex - get next lexeme for yacc** This routine is called by yacc to get the next input lexeme.* In addition to simply calling lexScan to do the scan, this routine* also handles the automatic insertion of parens around the arguements* of a "top-level" routine call.  If the first lexeme scanned from a new* line is a T_SYMBOL (text id) and the second lexeme is NOT a '(',* then the second lexeme is withheld and a '(' returned instead.* The withheld lexeme is returned next.  Scanning then proceeds normally* until a NL (newline) lexeme is scanned.  The NL is withheld and a* ')' is returned instead, with the NL being returned next.** RETURNS: next lexeme.*/LOCAL int yylex (void)    {    static int heldCode;    FAST int code;    switch (autoState)	{        case FIRST_LEXEME:		/* first lex scan of new line */	    code = lexScan ();	    autoState = (code == T_SYMBOL) ? P_OPEN : NORMAL;	    break;	case NORMAL:			/* parens not required to be inserted */	    code = lexScan ();	    if (code == ';')		autoState = FIRST_LEXEME;	    break;	case P_OPEN:			/* looking for '(' */	    code = lexScan ();	    if (code == '(')		autoState = NORMAL;	    else		{		heldCode = code;		code = '(';		autoState = P_OPEN_DONE;		}	    break;	case P_OPEN_DONE:		/* artificial '(' has been returned */	    if ((heldCode == NL) || (heldCode == ';'))		{		code = ')';		autoState = P_CLOSE_DONE;		}	    else		{		code = heldCode;		autoState = P_CLOSE;		}	    break;	case P_CLOSE:			/* looking for NL or ';' */	    code = lexScan ();	    if ((code == NL) || (code == ';'))		{		heldCode = code;		code = ')';		autoState = P_CLOSE_DONE;		}	    break;	case P_CLOSE_DONE:		/* artificial ')' has been returned */	    code = heldCode;	    autoState = FIRST_LEXEME;	    break;	default:	    printf ("yylex: invalid state %#x\n", autoState);	    code = 0;	/* invalid? */	    break;	}    return (code);    }/********************************************************************************* addTempString - add string to temporary storage** This routine adds the specified string to the during-parse temporary* string storage.** RETURNS: pointer to new string appended to temporary area.*/LOCAL char *addTempString    (    char *string    )    {    char *newString = nextTempString;    while (*string != EOS)	string += strToChar (string, nextTempString++);    *(nextTempString++) = EOS;    return (newString);    }/********************************************************************************* lexError - report error in lex scan** RETURNS: N/A*/LOCAL void lexError    (    char *string,    char *errmsg    )    {    printf ("%s: %s\n", errmsg, string);    }/********************************************************************************* getNum - interpret scanned string as integer** RETURNS: NUMBER*/LOCAL int getNum    (    char *string,    char *fmtString,    VALUE *pValue    )    {    pValue->side = RHS;    pValue->type = T_INT;    sscanf (string, fmtString, &pValue->value.rv);    return (NUMBER);    }/********************************************************************************* getFloat - interpret scanned string as float** RETURNS: FLOAT*/LOCAL int getFloat    (    char *string,    VALUE *pValue    )    {#ifndef	_WRS_NO_TGT_SHELL_FP    pValue->side = RHS;    pValue->type = T_DOUBLE;    sscanf (string, "%lf", &pValue->value.dp);#endif	/* _WRS_NO_TGT_SHELL_FP */    return (FLOAT);    }/********************************************************************************* getString - interpret scanned string as quoted string** RETURNS: STRING*/LOCAL int getString    (    char *string,    int nChars,    VALUE *pValue    )    {    pValue->side = RHS;    pValue->type = T_INT;    string [nChars - 1] = EOS;    pValue->value.rv = (int)addTempString (&string[1]);    return (STRING);    }/********************************************************************************* getChar - interpret scanned string as quoted character** RETURNS: CHAR*/LOCAL int getChar    (    char *string,    int nChars,    VALUE *pValue    )    {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩国产高清在线| 亚洲3atv精品一区二区三区| 亚洲色图.com| 亚洲地区一二三色| 国产精品香蕉一区二区三区| 一本一道波多野结衣一区二区| 欧美精品自拍偷拍动漫精品| 国产亚洲欧美中文| 午夜精品福利在线| 成人91在线观看| 精品精品国产高清a毛片牛牛 | 7777精品伊人久久久大香线蕉 | 亚洲一区二区三区激情| 国产精品一区二区无线| 在线电影国产精品| 亚洲精品中文字幕在线观看| 国产精品12区| 国产精品久久久久久久久果冻传媒| 午夜免费欧美电影| 色老头久久综合| 亚洲天堂av一区| 成人va在线观看| 久久久久久久久久久久久夜| 麻豆91在线播放免费| 一本色道**综合亚洲精品蜜桃冫| 欧美成人精品福利| 日韩不卡一二三区| 56国语精品自产拍在线观看| 亚洲国产va精品久久久不卡综合 | 欧美喷水一区二区| 亚洲一区二区黄色| 欧美性感一类影片在线播放| 一区二区在线看| 在线看国产日韩| 亚洲一区国产视频| 欧美视频你懂的| 亚洲高清视频中文字幕| 欧美日韩黄色一区二区| 性做久久久久久| 91精品国产综合久久精品性色| 偷偷要91色婷婷| 欧美一级片在线看| 麻豆国产欧美一区二区三区| 欧美一区二区三区性视频| 男男视频亚洲欧美| 久久综合999| 成人动漫一区二区| 亚洲美女视频一区| 在线电影欧美成精品| 美女在线一区二区| 久久久美女艺术照精彩视频福利播放| 国产一区二区三区久久悠悠色av| 久久精品人人做人人综合| www.日韩在线| 午夜精品视频一区| 精品久久人人做人人爰| 成人影视亚洲图片在线| 樱花草国产18久久久久| 欧美区一区二区三区| 久久99精品久久久久久动态图| 久久精品人人做人人综合| 色婷婷精品久久二区二区蜜臀av | av电影天堂一区二区在线观看| 亚洲天堂免费在线观看视频| 666欧美在线视频| 国产成人精品免费| 亚洲一卡二卡三卡四卡五卡| 精品国产一区二区三区久久影院| 成人黄色在线视频| 国产经典欧美精品| 一区二区在线观看免费视频播放| 在线不卡欧美精品一区二区三区| 国产精品一区二区在线观看不卡| 亚洲一二三四区不卡| 久久久久国产精品麻豆ai换脸| 91黄色免费看| 国产一区二区三区四区在线观看| 亚洲人成网站精品片在线观看 | 国产精品无遮挡| 欧美猛男超大videosgay| 国产成人免费视频精品含羞草妖精| 亚洲欧美区自拍先锋| 日韩一区二区三区三四区视频在线观看| 成人一区在线看| 六月丁香婷婷久久| 亚洲午夜日本在线观看| 久久久欧美精品sm网站| 制服丝袜亚洲精品中文字幕| 成人高清视频在线| 狠狠久久亚洲欧美| 亚洲aaa精品| 亚洲精品国产一区二区三区四区在线| 精品免费一区二区三区| 欧美日韩国产另类一区| 99免费精品视频| 国产黄人亚洲片| 蜜臂av日日欢夜夜爽一区| 亚洲一区在线观看免费| 国产精品麻豆视频| 26uuuu精品一区二区| 欧美高清精品3d| 欧美系列日韩一区| 91浏览器在线视频| 97aⅴ精品视频一二三区| 国产精品一区三区| 国产福利不卡视频| 国产在线播放一区三区四| 免费成人性网站| 日韩精品乱码免费| 亚洲成av人在线观看| 亚洲影院久久精品| 亚洲码国产岛国毛片在线| 国产精品情趣视频| 国产精品女主播在线观看| 国产午夜亚洲精品羞羞网站| 337p日本欧洲亚洲大胆色噜噜| 日韩一区二区三区电影| 日韩欧美资源站| 日韩欧美一区二区久久婷婷| 欧美大白屁股肥臀xxxxxx| 日韩午夜电影在线观看| 日韩一卡二卡三卡四卡| 精品日韩一区二区| 国产三级精品三级| 亚洲国产高清不卡| 国产精品国产三级国产aⅴ入口| 国产精品美女一区二区| 亚洲同性gay激情无套| 一区二区三区四区不卡在线| 亚洲地区一二三色| 麻豆免费精品视频| 国模少妇一区二区三区| 在线电影院国产精品| 91精品国产色综合久久| 欧美大片日本大片免费观看| 国产清纯美女被跳蛋高潮一区二区久久w | 久久精品国内一区二区三区| 国产乱人伦精品一区二区在线观看 | 93久久精品日日躁夜夜躁欧美| 91原创在线视频| 91精品国产入口在线| 国产亚洲精品精华液| 亚洲男同性恋视频| 日本不卡一区二区三区高清视频| 精品一区二区精品| 99久久综合色| 日韩一区国产二区欧美三区| 日本一区二区三区视频视频| 伊人性伊人情综合网| 捆绑变态av一区二区三区| 成人深夜在线观看| 欧美日韩成人一区二区| 精品成人私密视频| 亚洲精品国产一区二区精华液 | 成人高清免费在线播放| 欧美日韩电影在线播放| 久久婷婷综合激情| 亚洲一区在线视频| 国产乱码一区二区三区| 欧美人伦禁忌dvd放荡欲情| 日本一区二区三区四区| 日韩精品成人一区二区在线| 成人国产一区二区三区精品| 91精品国产免费| 一区在线中文字幕| 精品一区二区三区免费观看| 欧美在线观看视频在线| 国产欧美日韩亚州综合| 日本三级韩国三级欧美三级| jlzzjlzz亚洲女人18| 精品国产一区二区三区久久久蜜月| 日韩一区中文字幕| 国产一区二区不卡在线| 欧美绝品在线观看成人午夜影视| 国产精品乱人伦一区二区| 精品综合久久久久久8888| 色播五月激情综合网| 国产目拍亚洲精品99久久精品| 日本欧洲一区二区| 在线观看成人小视频| 国产精品美女视频| 国产成人日日夜夜| 精品国产99国产精品| 亚洲第一激情av| 欧美亚洲一区二区在线观看| 成人免费视频在线观看| 国产成人鲁色资源国产91色综| 欧美一区二区三区四区在线观看| 依依成人综合视频| 色婷婷精品大在线视频| 国产精品成人一区二区艾草| 国产成人免费视频网站| 国产日韩欧美一区二区三区乱码| 日韩av电影一区| 国产三级一区二区| 国内国产精品久久| www精品美女久久久tv| 国产一区二区三区最好精华液| 欧美大白屁股肥臀xxxxxx| 精品写真视频在线观看|