rclex.c
来自「基于4个mips核的noc设计」· C语言 代码 · 共 2,490 行 · 第 1/5 页
C
2,490 行
YY_RULE_SETUP#line 87 "rclex.l"{ MAYBE_RETURN (ALT); } YY_BREAKcase 12:YY_RULE_SETUP#line 88 "rclex.l"{ MAYBE_RETURN (BITMAP); } YY_BREAKcase 13:YY_RULE_SETUP#line 89 "rclex.l"{ MAYBE_RETURN (CURSOR); } YY_BREAKcase 14:YY_RULE_SETUP#line 90 "rclex.l"{ MAYBE_RETURN (DIALOG); } YY_BREAKcase 15:YY_RULE_SETUP#line 91 "rclex.l"{ MAYBE_RETURN (DIALOGEX); } YY_BREAKcase 16:YY_RULE_SETUP#line 92 "rclex.l"{ MAYBE_RETURN (EXSTYLE); } YY_BREAKcase 17:YY_RULE_SETUP#line 93 "rclex.l"{ MAYBE_RETURN (CAPTION); } YY_BREAKcase 18:YY_RULE_SETUP#line 94 "rclex.l"{ MAYBE_RETURN (CLASS); } YY_BREAKcase 19:YY_RULE_SETUP#line 95 "rclex.l"{ MAYBE_RETURN (STYLE); } YY_BREAKcase 20:YY_RULE_SETUP#line 96 "rclex.l"{ MAYBE_RETURN (AUTO3STATE); } YY_BREAKcase 21:YY_RULE_SETUP#line 97 "rclex.l"{ MAYBE_RETURN (AUTOCHECKBOX); } YY_BREAKcase 22:YY_RULE_SETUP#line 98 "rclex.l"{ MAYBE_RETURN (AUTORADIOBUTTON); } YY_BREAKcase 23:YY_RULE_SETUP#line 99 "rclex.l"{ MAYBE_RETURN (CHECKBOX); } YY_BREAKcase 24:YY_RULE_SETUP#line 100 "rclex.l"{ MAYBE_RETURN (COMBOBOX); } YY_BREAKcase 25:YY_RULE_SETUP#line 101 "rclex.l"{ MAYBE_RETURN (CTEXT); } YY_BREAKcase 26:YY_RULE_SETUP#line 102 "rclex.l"{ MAYBE_RETURN (DEFPUSHBUTTON); } YY_BREAKcase 27:YY_RULE_SETUP#line 103 "rclex.l"{ MAYBE_RETURN (EDITTEXT); } YY_BREAKcase 28:YY_RULE_SETUP#line 104 "rclex.l"{ MAYBE_RETURN (GROUPBOX); } YY_BREAKcase 29:YY_RULE_SETUP#line 105 "rclex.l"{ MAYBE_RETURN (LISTBOX); } YY_BREAKcase 30:YY_RULE_SETUP#line 106 "rclex.l"{ MAYBE_RETURN (LTEXT); } YY_BREAKcase 31:YY_RULE_SETUP#line 107 "rclex.l"{ MAYBE_RETURN (PUSHBOX); } YY_BREAKcase 32:YY_RULE_SETUP#line 108 "rclex.l"{ MAYBE_RETURN (PUSHBUTTON); } YY_BREAKcase 33:YY_RULE_SETUP#line 109 "rclex.l"{ MAYBE_RETURN (RADIOBUTTON); } YY_BREAKcase 34:YY_RULE_SETUP#line 110 "rclex.l"{ MAYBE_RETURN (RTEXT); } YY_BREAKcase 35:YY_RULE_SETUP#line 111 "rclex.l"{ MAYBE_RETURN (SCROLLBAR); } YY_BREAKcase 36:YY_RULE_SETUP#line 112 "rclex.l"{ MAYBE_RETURN (STATE3); } YY_BREAKcase 37:YY_RULE_SETUP#line 113 "rclex.l"{ MAYBE_RETURN (USERBUTTON); } YY_BREAKcase 38:YY_RULE_SETUP#line 114 "rclex.l"{ MAYBE_RETURN (BEDIT); } YY_BREAKcase 39:YY_RULE_SETUP#line 115 "rclex.l"{ MAYBE_RETURN (HEDIT); } YY_BREAKcase 40:YY_RULE_SETUP#line 116 "rclex.l"{ MAYBE_RETURN (IEDIT); } YY_BREAKcase 41:YY_RULE_SETUP#line 117 "rclex.l"{ MAYBE_RETURN (FONT); } YY_BREAKcase 42:YY_RULE_SETUP#line 118 "rclex.l"{ MAYBE_RETURN (ICON); } YY_BREAKcase 43:YY_RULE_SETUP#line 119 "rclex.l"{ MAYBE_RETURN (LANGUAGE); } YY_BREAKcase 44:YY_RULE_SETUP#line 120 "rclex.l"{ MAYBE_RETURN (CHARACTERISTICS); } YY_BREAKcase 45:YY_RULE_SETUP#line 121 "rclex.l"{ MAYBE_RETURN (VERSIONK); } YY_BREAKcase 46:YY_RULE_SETUP#line 122 "rclex.l"{ MAYBE_RETURN (MENU); } YY_BREAKcase 47:YY_RULE_SETUP#line 123 "rclex.l"{ MAYBE_RETURN (MENUEX); } YY_BREAKcase 48:YY_RULE_SETUP#line 124 "rclex.l"{ MAYBE_RETURN (MENUITEM); } YY_BREAKcase 49:YY_RULE_SETUP#line 125 "rclex.l"{ MAYBE_RETURN (SEPARATOR); } YY_BREAKcase 50:YY_RULE_SETUP#line 126 "rclex.l"{ MAYBE_RETURN (POPUP); } YY_BREAKcase 51:YY_RULE_SETUP#line 127 "rclex.l"{ MAYBE_RETURN (CHECKED); } YY_BREAKcase 52:YY_RULE_SETUP#line 128 "rclex.l"{ MAYBE_RETURN (GRAYED); } YY_BREAKcase 53:YY_RULE_SETUP#line 129 "rclex.l"{ MAYBE_RETURN (HELP); } YY_BREAKcase 54:YY_RULE_SETUP#line 130 "rclex.l"{ MAYBE_RETURN (INACTIVE); } YY_BREAKcase 55:YY_RULE_SETUP#line 131 "rclex.l"{ MAYBE_RETURN (MENUBARBREAK); } YY_BREAKcase 56:YY_RULE_SETUP#line 132 "rclex.l"{ MAYBE_RETURN (MENUBREAK); } YY_BREAKcase 57:YY_RULE_SETUP#line 133 "rclex.l"{ MAYBE_RETURN (MESSAGETABLE); } YY_BREAKcase 58:YY_RULE_SETUP#line 134 "rclex.l"{ MAYBE_RETURN (RCDATA); } YY_BREAKcase 59:YY_RULE_SETUP#line 135 "rclex.l"{ MAYBE_RETURN (STRINGTABLE); } YY_BREAKcase 60:YY_RULE_SETUP#line 136 "rclex.l"{ MAYBE_RETURN (VERSIONINFO); } YY_BREAKcase 61:YY_RULE_SETUP#line 137 "rclex.l"{ MAYBE_RETURN (FILEVERSION); } YY_BREAKcase 62:YY_RULE_SETUP#line 138 "rclex.l"{ MAYBE_RETURN (PRODUCTVERSION); } YY_BREAKcase 63:YY_RULE_SETUP#line 139 "rclex.l"{ MAYBE_RETURN (FILEFLAGSMASK); } YY_BREAKcase 64:YY_RULE_SETUP#line 140 "rclex.l"{ MAYBE_RETURN (FILEFLAGS); } YY_BREAKcase 65:YY_RULE_SETUP#line 141 "rclex.l"{ MAYBE_RETURN (FILEOS); } YY_BREAKcase 66:YY_RULE_SETUP#line 142 "rclex.l"{ MAYBE_RETURN (FILETYPE); } YY_BREAKcase 67:YY_RULE_SETUP#line 143 "rclex.l"{ MAYBE_RETURN (FILESUBTYPE); } YY_BREAKcase 68:YY_RULE_SETUP#line 144 "rclex.l"{ MAYBE_RETURN (VALUE); } YY_BREAKcase 69:YY_RULE_SETUP#line 145 "rclex.l"{ MAYBE_RETURN (MOVEABLE); } YY_BREAKcase 70:YY_RULE_SETUP#line 146 "rclex.l"{ MAYBE_RETURN (FIXED); } YY_BREAKcase 71:YY_RULE_SETUP#line 147 "rclex.l"{ MAYBE_RETURN (PURE); } YY_BREAKcase 72:YY_RULE_SETUP#line 148 "rclex.l"{ MAYBE_RETURN (IMPURE); } YY_BREAKcase 73:YY_RULE_SETUP#line 149 "rclex.l"{ MAYBE_RETURN (PRELOAD); } YY_BREAKcase 74:YY_RULE_SETUP#line 150 "rclex.l"{ MAYBE_RETURN (LOADONCALL); } YY_BREAKcase 75:YY_RULE_SETUP#line 151 "rclex.l"{ MAYBE_RETURN (DISCARDABLE); } YY_BREAKcase 76:YY_RULE_SETUP#line 152 "rclex.l"{ MAYBE_RETURN (NOT); } YY_BREAKcase 77:YY_RULE_SETUP#line 154 "rclex.l"{ char *s, *send; /* This is a hack to let us parse version information easily. */ s = strchr (yytext, '"'); ++s; send = strchr (s, '"'); if (strncmp (s, "StringFileInfo", sizeof "StringFileInfo" - 1) == 0 && s + sizeof "StringFileInfo" - 1 == send) MAYBE_RETURN (BLOCKSTRINGFILEINFO); else if (strncmp (s, "VarFileInfo", sizeof "VarFileInfo" - 1) == 0 && s + sizeof "VarFileInfo" - 1 == send) MAYBE_RETURN (BLOCKVARFILEINFO); else { char *r; r = get_string (send - s + 1); strncpy (r, s, send - s); r[send - s] = '\0'; yylval.s = r; MAYBE_RETURN (BLOCK); } } YY_BREAKcase 78:YY_RULE_SETUP#line 183 "rclex.l"{ cpp_line (yytext); } YY_BREAKcase 79:YY_RULE_SETUP#line 187 "rclex.l"{ yylval.i.val = strtoul (yytext, 0, 0); yylval.i.dword = 1; MAYBE_RETURN (NUMBER); } YY_BREAKcase 80:YY_RULE_SETUP#line 193 "rclex.l"{ yylval.i.val = strtoul (yytext, 0, 0); yylval.i.dword = 0; MAYBE_RETURN (NUMBER); } YY_BREAKcase 81:YY_RULE_SETUP#line 199 "rclex.l"{ char *s; unsigned long length; s = handle_quotes (yytext, &length); if (! rcdata_mode) { yylval.s = s; MAYBE_RETURN (QUOTEDSTRING); } else { yylval.ss.length = length; yylval.ss.s = s; MAYBE_RETURN (SIZEDSTRING); } } YY_BREAKcase 82:YY_RULE_SETUP#line 217 "rclex.l"{ char *s; /* I rejected comma in a string in order to handle VIRTKEY, CONTROL in an accelerator resource. This means that an unquoted file name can not contain a comma. I don't know what rc permits. */ s = get_string (strlen (yytext) + 1); strcpy (s, yytext); yylval.s = s; MAYBE_RETURN (STRING); } YY_BREAKcase 83:YY_RULE_SETUP#line 232 "rclex.l"{ ++rc_lineno; } YY_BREAKcase 84:YY_RULE_SETUP#line 233 "rclex.l"{ /* ignore whitespace */ } YY_BREAKcase 85:YY_RULE_SETUP#line 234 "rclex.l"{ MAYBE_RETURN (*yytext); } YY_BREAKcase 86:YY_RULE_SETUP#line 236 "rclex.l"ECHO; YY_BREAK#line 1443 "lex.yy.c"case YY_STATE_EOF(INITIAL): yyterminate(); case YY_END_OF_BUFFER: { /* Amount of text matched not including the EOB char. */ int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1; /* Undo the effects of YY_DO_BEFORE_ACTION. */ *yy_cp = yy_hold_char; YY_RESTORE_YY_MORE_OFFSET if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW ) { /* We're scanning a new file or input source. It's * possible that this happened because the user * just pointed yyin at a new source and called * yylex(). If so, then we have to assure * consistency between yy_current_buffer and our * globals. Here is the right place to do so, because * this is the first action (other than possibly a * back-up) that will match for the new input source. */ yy_n_chars = yy_current_buffer->yy_n_chars; yy_current_buffer->yy_input_file = yyin; yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL; } /* Note that here we test for yy_c_buf_p "<=" to the position * of the first EOB in the buffer, since yy_c_buf_p will * already have been incremented past the NUL character * (since all states make transitions on EOB to the * end-of-buffer state). Contrast this with the test * in input(). */ if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] ) { /* This was really a NUL. */ yy_state_type yy_next_state; yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state(); /* Okay, we're now positioned to make the NUL * transition. We couldn't have * yy_get_previous_state() go ahead and do it * for us because it doesn't know how to deal * with the possibility of jamming (and we don't * want to build jamming into it because then it * will run more slowly). */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?