⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lexer.c

📁 C程序漏洞检查!
💻 C
📖 第 1 页 / 共 5 页
字号:
YY_RULE_SETUP#line 191 "lexer.l"{ BEGIN(STR);   tokn_ptr = tokn_buff;                         SETPOS_LEAF(STRING,TN_STRING);                    }	YY_BREAKcase 4:YY_RULE_SETUP#line 195 "lexer.l"{ /* Ambiguous C++ style comment, must parse as                            '/' '/*' to be Ansi compliant */                         yywarn(                            "Ambiguous C++ comment, use '/ /*' -or- '// *'");                         yyless(1);                         SETPOS_NDE(DIV);                         return(DIV);                    }	YY_BREAKcase 5:*yy_cp = yy_hold_char; /* undo effects of setting up yytext */yy_c_buf_p = yy_cp -= 1;YY_DO_BEFORE_ACTION; /* set up yytext again */YY_RULE_SETUP#line 203 "lexer.l"{ /* C++ style comment */ }	YY_BREAKcase 6:YY_RULE_SETUP#line 205 "lexer.l"{ SETPOS_LEAF(AUTO,TN_TYPE); return(AUTO); }	YY_BREAKcase 7:YY_RULE_SETUP#line 206 "lexer.l"{ SETPOS_NDE(BREAK); return(BREAK); }	YY_BREAKcase 8:YY_RULE_SETUP#line 207 "lexer.l"{ SETPOS_NDE(CASE); return(CASE); }	YY_BREAKcase 9:YY_RULE_SETUP#line 208 "lexer.l"{ SETPOS_LEAF(CHAR,TN_TYPE); return(CHAR); }	YY_BREAKcase 10:YY_RULE_SETUP#line 209 "lexer.l"{ SETPOS_LEAF(CONST,TN_TYPE); return(CONST); }	YY_BREAKcase 11:YY_RULE_SETUP#line 210 "lexer.l"{ SETPOS_NDE(CONT); return(CONT); }	YY_BREAKcase 12:YY_RULE_SETUP#line 211 "lexer.l"{ SETPOS_LEAF(DEFLT,TN_LABEL); return(DEFLT); }	YY_BREAKcase 13:YY_RULE_SETUP#line 212 "lexer.l"{ SETPOS_NDE(DO); return(DO); }	YY_BREAKcase 14:YY_RULE_SETUP#line 213 "lexer.l"{ SETPOS_LEAF(DOUBLE,TN_TYPE); return(DOUBLE); }	YY_BREAKcase 15:YY_RULE_SETUP#line 214 "lexer.l"{ SETPOS_NDE(ELSE); return(ELSE); }	YY_BREAKcase 16:YY_RULE_SETUP#line 215 "lexer.l"{ SETPOS_NDE(ENUM); return(ENUM); }	YY_BREAKcase 17:YY_RULE_SETUP#line 216 "lexer.l"{ SETPOS_LEAF(EXTRN,TN_TYPE); return(EXTRN); }	YY_BREAKcase 18:YY_RULE_SETUP#line 217 "lexer.l"{ SETPOS_LEAF(FLOAT,TN_TYPE); return(FLOAT); }	YY_BREAKcase 19:YY_RULE_SETUP#line 218 "lexer.l"{ SETPOS_FOR(FOR); return(FOR); }	YY_BREAKcase 20:YY_RULE_SETUP#line 219 "lexer.l"{ SETPOS_NDE(GOTO); return(GOTO); }	YY_BREAKcase 21:YY_RULE_SETUP#line 220 "lexer.l"{ SETPOS_IF(IF); return(IF); }	YY_BREAKcase 22:YY_RULE_SETUP#line 221 "lexer.l"{ SETPOS_LEAF(CHAR,TN_TYPE); return(CHAR);	/* VC++ */ }	YY_BREAKcase 23:YY_RULE_SETUP#line 222 "lexer.l"{ SETPOS_LEAF(SHORT,TN_TYPE); return(SHORT);/* VC++ */ }	YY_BREAKcase 24:YY_RULE_SETUP#line 223 "lexer.l"{ SETPOS_LEAF(INT,TN_TYPE); return(INT);	/* VC++ */ }	YY_BREAKcase 25:YY_RULE_SETUP#line 224 "lexer.l"{ SETPOS_LEAF(LONG,TN_TYPE); return(LONG);	/* VC++ */ }	YY_BREAKcase 26:YY_RULE_SETUP#line 225 "lexer.l"{ SETPOS_LEAF(INT,TN_TYPE); return(INT); }	YY_BREAKcase 27:YY_RULE_SETUP#line 226 "lexer.l"{ SETPOS_LEAF(LONG,TN_TYPE); return(LONG); }	YY_BREAKcase 28:YY_RULE_SETUP#line 227 "lexer.l"{ SETPOS_LEAF(REGISTR,TN_TYPE); return(REGISTR); }	YY_BREAKcase 29:YY_RULE_SETUP#line 228 "lexer.l"{ SETPOS_NDE(RETURN); return(RETURN); }	YY_BREAKcase 30:YY_RULE_SETUP#line 229 "lexer.l"{ SETPOS_LEAF(SHORT,TN_TYPE); return(SHORT); }	YY_BREAKcase 31:YY_RULE_SETUP#line 230 "lexer.l"{ SETPOS_LEAF(SGNED,TN_TYPE); return(SGNED); }	YY_BREAKcase 32:YY_RULE_SETUP#line 231 "lexer.l"{ SETPOS_NDE(SIZEOF); return(SIZEOF); }	YY_BREAKcase 33:YY_RULE_SETUP#line 232 "lexer.l"{ SETPOS_LEAF(STATIC,TN_TYPE); return(STATIC); }	YY_BREAKcase 34:YY_RULE_SETUP#line 233 "lexer.l"{ SETPOS_NDE(STRUCT); return(STRUCT); }	YY_BREAKcase 35:YY_RULE_SETUP#line 234 "lexer.l"{ SETPOS_NDE(SWITCH); return(SWITCH); }	YY_BREAKcase 36:YY_RULE_SETUP#line 235 "lexer.l"{ SETPOS_LEAF(TYPEDEF,TN_TYPE); return(TYPEDEF); }	YY_BREAKcase 37:YY_RULE_SETUP#line 236 "lexer.l"{ SETPOS_NDE(UNION); return(UNION); }	YY_BREAKcase 38:YY_RULE_SETUP#line 237 "lexer.l"{ SETPOS_LEAF(UNSGNED,TN_TYPE); return(UNSGNED); }	YY_BREAKcase 39:YY_RULE_SETUP#line 238 "lexer.l"{ SETPOS_LEAF(VOID,TN_TYPE); return(VOID); }	YY_BREAKcase 40:YY_RULE_SETUP#line 239 "lexer.l"{ SETPOS_LEAF(VOLATILE,TN_TYPE); return(VOLATILE); }	YY_BREAKcase 41:YY_RULE_SETUP#line 240 "lexer.l"{ SETPOS_NDE(WHILE); return(WHILE); }	YY_BREAK/* GCC2 Extensions */case 42:YY_RULE_SETUP#line 243 "lexer.l"{ /* gcc2 extension - get rid of it. */                            BEGIN(GCC2);                          }	YY_BREAKcase 43:YY_RULE_SETUP#line 247 "lexer.l"{ BEGIN(GCC2); }	YY_BREAKcase 44:YY_RULE_SETUP#line 248 "lexer.l"{ BEGIN(GCC2); /* MS Visual Studio */ }	YY_BREAKcase 45:YY_RULE_SETUP#line 250 "lexer.l"{ gcc2_paren_cnt++; }	YY_BREAKcase 46:YY_RULE_SETUP#line 251 "lexer.l"{ /* Throw away */ }	YY_BREAKcase 47:YY_RULE_SETUP#line 252 "lexer.l"{ if (--gcc2_paren_cnt == 0)                              BEGIN(INITIAL);                          }	YY_BREAKcase 48:YY_RULE_SETUP#line 256 "lexer.l"{ SETPOS_LEAF(CONST,TN_TYPE); return(CONST); }	YY_BREAKcase 49:YY_RULE_SETUP#line 257 "lexer.l"{ SETPOS_LEAF(CONST,TN_TYPE); return(CONST); }	YY_BREAKcase 50:YY_RULE_SETUP#line 258 "lexer.l"{ SETPOS_LEAF(SGNED,TN_TYPE); return(SGNED); }	YY_BREAKcase 51:YY_RULE_SETUP#line 259 "lexer.l"{ SETPOS_LEAF(SGNED,TN_TYPE); return(SGNED); }	YY_BREAKcase 52:YY_RULE_SETUP#line 260 "lexer.l"{ SETPOS_LEAF(VOLATILE,TN_TYPE); return(VOLATILE); }	YY_BREAKcase 53:YY_RULE_SETUP#line 261 "lexer.l"{ SETPOS_LEAF(VOLATILE,TN_TYPE); return(VOLATILE); }	YY_BREAKcase 54:YY_RULE_SETUP#line 263 "lexer.l"{ }	YY_BREAKcase 55:YY_RULE_SETUP#line 264 "lexer.l"{ }	YY_BREAKcase 56:YY_RULE_SETUP#line 265 "lexer.l"{ }	YY_BREAKcase 57:YY_RULE_SETUP#line 267 "lexer.l"{ }	YY_BREAKcase 58:YY_RULE_SETUP#line 268 "lexer.l"{ }	YY_BREAKcase 59:YY_RULE_SETUP#line 269 "lexer.l"{ }	YY_BREAKcase 60:YY_RULE_SETUP#line 270 "lexer.l"{ }	YY_BREAKcase 61:YY_RULE_SETUP#line 271 "lexer.l"{ /* seen in Nexabit Code */ }	YY_BREAKcase 62:YY_RULE_SETUP#line 272 "lexer.l"{ /* MS Visual Studio */ }	YY_BREAKcase 63:YY_RULE_SETUP#line 274 "lexer.l"{ }	YY_BREAKcase 64:YY_RULE_SETUP#line 276 "lexer.l"{ /* gjh */ SETPOS_NDE(ALIGNOF); return(ALIGNOF); }	YY_BREAKcase 65:YY_RULE_SETUP#line 277 "lexer.l"{ /* gjh */ SETPOS_NDE(ALIGNOF); return(ALIGNOF); }	YY_BREAKcase 66:YY_RULE_SETUP#line 278 "lexer.l"{ /* gjh */ SETPOS_NDE(ALIGNOF); return(ALIGNOF); }	YY_BREAKcase 67:YY_RULE_SETUP#line 280 "lexer.l"{ /* gjh added: */ BEGIN(GCC2); }	YY_BREAKcase 68:YY_RULE_SETUP#line 281 "lexer.l"{ /* gjh added: */ BEGIN(GCC2); }	YY_BREAKcase 69:YY_RULE_SETUP#line 283 "lexer.l"{ }	YY_BREAKcase 70:YY_RULE_SETUP#line 284 "lexer.l"{ }	YY_BREAKcase 71:YY_RULE_SETUP#line 285 "lexer.l"{ }	YY_BREAKcase 72:YY_RULE_SETUP#line 286 "lexer.l"{ }	YY_BREAKcase 73:YY_RULE_SETUP#line 287 "lexer.l"{ }	YY_BREAKcase 74:YY_RULE_SETUP#line 288 "lexer.l"{ }	YY_BREAKcase 75:YY_RULE_SETUP#line 289 "lexer.l"{ }	YY_BREAKcase 76:YY_RULE_SETUP#line 290 "lexer.l"{ }	YY_BREAKcase 77:YY_RULE_SETUP#line 291 "lexer.l"{ }	YY_BREAKcase 78:YY_RULE_SETUP#line 293 "lexer.l"{ SETPOS_NDE(PLUS); return(PLUS); }	YY_BREAKcase 79:YY_RULE_SETUP#line 294 "lexer.l"{ SETPOS_NDE(MINUS); return(MINUS); }	YY_BREAKcase 80:YY_RULE_SETUP#line 295 "lexer.l"{ SETPOS_NDE(STAR); return(STAR); }	YY_BREAKcase 81:YY_RULE_SETUP#line 296 "lexer.l"{ SETPOS_NDE(DIV); return(DIV); }	YY_BREAKcase 82:YY_RULE_SETUP#line 297 "lexer.l"{ SETPOS_NDE(MOD); return(MOD); }	YY_BREAKcase 83:YY_RULE_SETUP#line 299 "lexer.l"{ SETPOS_NDE(PLUS_EQ); return(ASSIGN); }

⌨️ 快捷键说明

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