📄 pl_scan.c
字号:
YY_BREAKcase 15:YY_RULE_SETUP#line 149 "scan.l"{ return K_ELSIF; } YY_BREAKcase 16:YY_RULE_SETUP#line 150 "scan.l"{ return K_ELSIF; } YY_BREAKcase 17:YY_RULE_SETUP#line 151 "scan.l"{ return K_END; } YY_BREAKcase 18:YY_RULE_SETUP#line 152 "scan.l"{ return K_EXCEPTION; } YY_BREAKcase 19:YY_RULE_SETUP#line 153 "scan.l"{ return K_EXECUTE; } YY_BREAKcase 20:YY_RULE_SETUP#line 154 "scan.l"{ return K_EXIT; } YY_BREAKcase 21:YY_RULE_SETUP#line 155 "scan.l"{ return K_FETCH; } YY_BREAKcase 22:YY_RULE_SETUP#line 156 "scan.l"{ return K_FOR; } YY_BREAKcase 23:YY_RULE_SETUP#line 157 "scan.l"{ return K_FROM; } YY_BREAKcase 24:YY_RULE_SETUP#line 158 "scan.l"{ return K_GET; } YY_BREAKcase 25:YY_RULE_SETUP#line 159 "scan.l"{ return K_IF; } YY_BREAKcase 26:YY_RULE_SETUP#line 160 "scan.l"{ return K_IN; } YY_BREAKcase 27:YY_RULE_SETUP#line 161 "scan.l"{ return K_INFO; } YY_BREAKcase 28:YY_RULE_SETUP#line 162 "scan.l"{ return K_INTO; } YY_BREAKcase 29:YY_RULE_SETUP#line 163 "scan.l"{ return K_IS; } YY_BREAKcase 30:YY_RULE_SETUP#line 164 "scan.l"{ return K_LOG; } YY_BREAKcase 31:YY_RULE_SETUP#line 165 "scan.l"{ return K_LOOP; } YY_BREAKcase 32:YY_RULE_SETUP#line 166 "scan.l"{ return K_NEXT; } YY_BREAKcase 33:YY_RULE_SETUP#line 167 "scan.l"{ return K_NOT; } YY_BREAKcase 34:YY_RULE_SETUP#line 168 "scan.l"{ return K_NOTICE; } YY_BREAKcase 35:YY_RULE_SETUP#line 169 "scan.l"{ return K_NULL; } YY_BREAKcase 36:YY_RULE_SETUP#line 170 "scan.l"{ return K_OPEN; } YY_BREAKcase 37:YY_RULE_SETUP#line 171 "scan.l"{ return K_OR; } YY_BREAKcase 38:YY_RULE_SETUP#line 172 "scan.l"{ return K_PERFORM; } YY_BREAKcase 39:YY_RULE_SETUP#line 173 "scan.l"{ return K_RAISE; } YY_BREAKcase 40:YY_RULE_SETUP#line 174 "scan.l"{ return K_RENAME; } YY_BREAKcase 41:YY_RULE_SETUP#line 175 "scan.l"{ return K_RESULT_OID; } YY_BREAKcase 42:YY_RULE_SETUP#line 176 "scan.l"{ return K_RETURN; } YY_BREAKcase 43:YY_RULE_SETUP#line 177 "scan.l"{ return K_REVERSE; } YY_BREAKcase 44:YY_RULE_SETUP#line 178 "scan.l"{ return K_ROW_COUNT; } YY_BREAKcase 45:YY_RULE_SETUP#line 179 "scan.l"{ return K_SELECT; } YY_BREAKcase 46:YY_RULE_SETUP#line 180 "scan.l"{ return K_THEN; } YY_BREAKcase 47:YY_RULE_SETUP#line 181 "scan.l"{ return K_TO; } YY_BREAKcase 48:YY_RULE_SETUP#line 182 "scan.l"{ return K_TYPE; } YY_BREAKcase 49:YY_RULE_SETUP#line 183 "scan.l"{ return K_WARNING; } YY_BREAKcase 50:YY_RULE_SETUP#line 184 "scan.l"{ return K_WHEN; } YY_BREAKcase 51:YY_RULE_SETUP#line 185 "scan.l"{ return K_WHILE; } YY_BREAKcase 52:YY_RULE_SETUP#line 187 "scan.l"{ return O_OPTION; } YY_BREAKcase 53:YY_RULE_SETUP#line 188 "scan.l"{ return O_DUMP; } YY_BREAK/* ---------- * Special word rules * * We set plpgsql_error_lineno in each rule so that errors reported * in the pl_comp.c subroutines will point to the right place. * ---------- */case 54:YY_RULE_SETUP#line 198 "scan.l"{ plpgsql_error_lineno = plpgsql_scanner_lineno(); return plpgsql_parse_word(yytext); } YY_BREAKcase 55:YY_RULE_SETUP#line 201 "scan.l"{ plpgsql_error_lineno = plpgsql_scanner_lineno(); return plpgsql_parse_dblword(yytext); } YY_BREAKcase 56:YY_RULE_SETUP#line 204 "scan.l"{ plpgsql_error_lineno = plpgsql_scanner_lineno(); return plpgsql_parse_tripword(yytext); } YY_BREAKcase 57:YY_RULE_SETUP#line 207 "scan.l"{ plpgsql_error_lineno = plpgsql_scanner_lineno(); return plpgsql_parse_wordtype(yytext); } YY_BREAKcase 58:YY_RULE_SETUP#line 210 "scan.l"{ plpgsql_error_lineno = plpgsql_scanner_lineno(); return plpgsql_parse_dblwordtype(yytext); } YY_BREAKcase 59:YY_RULE_SETUP#line 213 "scan.l"{ plpgsql_error_lineno = plpgsql_scanner_lineno(); return plpgsql_parse_tripwordtype(yytext); } YY_BREAKcase 60:YY_RULE_SETUP#line 216 "scan.l"{ plpgsql_error_lineno = plpgsql_scanner_lineno(); return plpgsql_parse_wordrowtype(yytext); } YY_BREAKcase 61:YY_RULE_SETUP#line 219 "scan.l"{ plpgsql_error_lineno = plpgsql_scanner_lineno(); return plpgsql_parse_dblwordrowtype(yytext); } YY_BREAKcase 62:YY_RULE_SETUP#line 222 "scan.l"{ plpgsql_error_lineno = plpgsql_scanner_lineno(); return plpgsql_parse_word(yytext); } YY_BREAKcase 63:YY_RULE_SETUP#line 225 "scan.l"{ plpgsql_error_lineno = plpgsql_scanner_lineno(); return plpgsql_parse_dblword(yytext); } YY_BREAKcase 64:YY_RULE_SETUP#line 228 "scan.l"{ plpgsql_error_lineno = plpgsql_scanner_lineno(); return plpgsql_parse_tripword(yytext); } YY_BREAKcase 65:YY_RULE_SETUP#line 231 "scan.l"{ plpgsql_error_lineno = plpgsql_scanner_lineno(); return plpgsql_parse_wordtype(yytext); } YY_BREAKcase 66:YY_RULE_SETUP#line 234 "scan.l"{ plpgsql_error_lineno = plpgsql_scanner_lineno(); return plpgsql_parse_dblwordtype(yytext); } YY_BREAKcase 67:YY_RULE_SETUP#line 237 "scan.l"{ plpgsql_error_lineno = plpgsql_scanner_lineno(); return plpgsql_parse_tripwordtype(yytext); } YY_BREAKcase 68:YY_RULE_SETUP#line 240 "scan.l"{ plpgsql_error_lineno = plpgsql_scanner_lineno(); return plpgsql_parse_wordrowtype(yytext); } YY_BREAKcase 69:YY_RULE_SETUP#line 243 "scan.l"{ plpgsql_error_lineno = plpgsql_scanner_lineno(); return plpgsql_parse_dblwordrowtype(yytext); } YY_BREAKcase 70:YY_RULE_SETUP#line 247 "scan.l"{ return T_NUMBER; } YY_BREAKcase 71:YY_RULE_SETUP#line 249 "scan.l"{ plpgsql_error_lineno = plpgsql_scanner_lineno(); ereport(ERROR, (errcode(ERRCODE_DATATYPE_MISMATCH), errmsg("unterminated quoted identifier"))); } YY_BREAK/* ---------- * Ignore whitespaces but remember this happened * ---------- */case 72:YY_RULE_SETUP#line 260 "scan.l"{ plpgsql_SpaceScanned = true; } YY_BREAK/* ---------- * Eat up comments * ---------- */case 73:YY_RULE_SETUP#line 266 "scan.l"; YY_BREAKcase 74:YY_RULE_SETUP#line 268 "scan.l"{ start_lineno = plpgsql_scanner_lineno(); BEGIN(IN_COMMENT); } YY_BREAKcase 75:YY_RULE_SETUP#line 271 "scan.l"{ BEGIN(INITIAL); plpgsql_SpaceScanned = true; } YY_BREAKcase 76:YY_RULE_SETUP#line 272 "scan.l"; YY_BREAKcase 77:YY_RULE_SETUP#line 273 "scan.l"; YY_BREAKcase YY_STATE_EOF(IN_COMMENT):#line 274 "scan.l"{ plpgsql_error_lineno = start_lineno; ereport(ERROR, (errcode(ERRCODE_DATATYPE_MISMATCH), errmsg("unterminated comment"))); } YY_BREAK/* ---------- * Collect anything inside of ''s and return one STRING token * * Hacking yytext/yyleng here lets us avoid using yymore(), which is * a win for performance. It's safe because we know the underlying * input buffer is not changing. * ---------- */case 78:YY_RULE_SETUP#line 289 "scan.l"{ start_lineno = plpgsql_scanner_lineno(); start_charpos = yytext; BEGIN(IN_STRING); } YY_BREAKcase 79:YY_RULE_SETUP#line 294 "scan.l"{ /* for now, treat the same as a regular literal */ start_lineno = plpgsql_scanner_lineno(); start_charpos = yytext; BEGIN(IN_STRING); } YY_BREAKcase 80:YY_RULE_SETUP#line 300 "scan.l"{ } YY_BREAKcase 81:YY_RULE_SETUP#line 301 "scan.l"{ /* can only happen with \ at EOF */ }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -