📄 lexer.c
字号:
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 + -