📄 pgc.c
字号:
257, 379, 378, 261, 261, 261, 264, 264, 264, 269, 269, 269, 261, 266, 266, 266, 256, 260, 261, 371, 364, 264, 266, 363, 269, 270, 270, 270, 266, 273, 273, 273, 278, 362, 270, 286, 286, 286, 358, 278, 270, 290, 290, 288, 273, 288, 288, 288, 289, 357, 289, 289, 289, 291, 291, 291, 356, 355, 288, 292, 292, 292, 350, 289, 293, 293, 293, 290, 291, 294, 294, 294, 348, 286, 292, 295, 295, 295, 323, 293, 321, 297, 297, 297, 294, 294, 299, 299, 299, 300, 300, 300, 313, 313, 313, 299, 291, 295, 301, 301, 301, 299, 292, 297, 300, 327, 327, 293, 331, 331, 294, 320, 294, 301, 302, 302, 302, 303, 303, 303, 304, 304, 304, 305, 305, 305, 303, 329, 329, 302, 313, 327, 303, 319, 331, 304, 318, 329, 305, 306, 306, 306, 307, 307, 307, 308, 308, 308, 309, 309, 309, 307, 315, 329, 306, 285, 284, 307, 366, 366, 308, 283, 282, 309, 310, 310, 310, 316, 316, 316, 317, 317, 317, 322, 322, 322, 281, 280, 324, 310, 324, 324, 324, 325, 366, 325, 325, 325, 326, 326, 326, 332, 332, 332, 333, 333, 333, 279, 325, 277, 332, 326, 276, 333, 272, 268, 332, 263, 254, 333, 246, 322, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 330, 330, 330, 351, 351, 351, 330, 330, 245, 239, 330, 330, 330, 330, 237, 330, 330, 330, 330, 330, 330, 347, 347, 347, 235, 330, 233, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 226, 330, 225, 330, 334, 334, 334, 335, 335, 335, 336, 336, 336, 334, 349, 349, 335, 347, 221, 334, 215, 210, 335, 199, 192, 336, 337, 337, 337, 338, 338, 338, 352, 352, 352, 337, 187, 185, 338, 172, 164, 337, 153, 349, 338, 339, 339, 339, 340, 340, 340, 341, 341, 341, 339, 349, 150, 340, 140, 121, 339, 109, 107, 340, 98, 89, 341, 342, 342, 342, 343, 343, 343, 354, 354, 354, 342, 88, 87, 343, 86, 85, 342, 83, 81, 343, 344, 344, 344, 345, 345, 345, 346, 346, 346, 344, 79, 67, 345, 61, 60, 344, 59, 50, 345, 46, 45, 346, 353, 353, 353, 359, 359, 359, 360, 41, 360, 360, 360, 361, 361, 361, 368, 368, 368, 36, 33, 369, 369, 369, 353, 368, 361, 367, 367, 367, 369, 368, 22, 367, 367, 21, 369, 367, 367, 367, 367, 18, 367, 367, 367, 367, 367, 367, 372, 372, 17, 14, 367, 13, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 0, 367, 0, 367, 370, 370, 370, 0, 0, 372, 373, 373, 373, 370, 374, 374, 374, 0, 0, 370, 372, 376, 376, 376, 377, 377, 377, 380, 380, 380, 381, 381, 381, 388, 388, 388, 374, 390, 390, 390, 391, 391, 391, 392, 392, 392, 389, 389, 389, 398, 398, 398, 404, 404, 404, 493, 0, 380, 380, 493, 493, 380, 385, 0, 388, 0, 0, 388, 393, 393, 393, 403, 403, 403, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, 389, 394, 394, 394, 385, 0, 400, 400, 400, 0, 393, 393, 0, 0, 393, 406, 406, 406, 419, 419, 419, 437, 437, 437, 0, 403, 443, 443, 443, 0, 0, 394, 394, 0, 0, 394, 399, 400, 0, 0, 400, 405, 405, 405, 0, 399, 399, 0, 399, 399, 399, 438, 438, 438, 444, 444, 444, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 0, 438, 0, 399, 444, 451, 451, 451, 452, 452, 452, 405, 454, 454, 454, 455, 455, 455, 458, 458, 458, 459, 459, 459, 463, 463, 463, 464, 464, 464, 452, 466, 466, 466, 454, 467, 467, 467, 0, 0, 458, 469, 469, 469, 470, 470, 470, 0, 0, 464, 472, 472, 472, 473, 473, 473, 474, 474, 474, 475, 475, 475, 476, 476, 476, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 481, 481, 481, 481, 481, 481, 481, 481, 481, 481, 481, 481, 481, 481, 481, 481, 481, 481, 481, 481, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 490, 0, 0, 0, 0, 0, 0, 490, 0, 0, 0, 0, 490, 490, 491, 0, 0, 491, 0, 0, 491, 491, 0, 0, 0, 0, 491, 491, 492, 0, 0, 0, 0, 0, 0, 492, 0, 0, 0, 0, 492, 492, 494, 0, 0, 0, 0, 0, 0, 494, 0, 0, 0, 0, 494, 494, 495, 495, 495, 495, 0, 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, 0, 0, 495, 495, 495, 496, 496, 496, 496, 0, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 0, 497, 497, 497, 498, 0, 0, 0, 0, 0, 0, 498, 0, 0, 0, 0, 498, 498, 499, 499, 499, 499, 499, 499, 499, 0, 499, 499, 499, 499, 499, 499, 499, 499, 499, 499, 499, 499, 500, 500, 500, 500, 500, 500, 500, 500, 500, 0, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 501, 501, 501, 501, 0, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 502, 502, 502, 502, 502, 502, 502, 0, 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, 503, 503, 503, 503, 503, 503, 503, 0, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 505, 505, 505, 505, 505, 0, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 507, 507, 0, 0, 507, 0, 0, 0, 0, 0, 0, 507, 0, 507, 0, 0, 507, 507, 508, 0, 0, 508, 0, 0, 508, 508, 0, 0, 0, 0, 508, 508, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 511, 0, 0, 0, 0, 0, 0, 511, 0, 0, 0, 0, 511, 511, 512, 512, 0, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 513, 0, 0, 513, 0, 0, 513, 513, 0, 0, 0, 0, 513, 513, 514, 0, 0, 0, 0, 514, 514, 514, 0, 0, 0, 0, 514, 514, 515, 0, 0, 515, 0, 0, 515, 515, 0, 0, 0, 0, 515, 515, 517, 0, 0, 0, 0, 0, 0, 517, 0, 0, 0, 0, 517, 517, 519, 519, 0, 0, 519, 519, 0, 519, 519, 519, 519, 519, 0, 0, 0, 519, 519, 519, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 524, 0, 0, 0, 0, 524, 524, 524, 0, 0, 0, 0, 524, 524, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477 } ;static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;static char *yy_full_match;static int yy_lp;#define REJECT \{ \*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \yy_cp = yy_full_match; /* restore poss. backed-over text */ \++yy_lp; \goto find_rule; \}#define yymore() yymore_used_but_not_detected#define YY_MORE_ADJ 0#define YY_RESTORE_YY_MORE_OFFSETchar *yytext;#line 1 "pgc.l"#define INITIAL 0#line 2 "pgc.l"/*------------------------------------------------------------------------- * * pgc.l * lexical scanner for ecpg * * This is a modified version of src/backend/parser/scan.l * * * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * * IDENTIFICATION * $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.137 2005/10/05 14:58:36 meskes Exp $ * *------------------------------------------------------------------------- */#include "postgres_fe.h"#include <ctype.h>#include <sys/types.h>#include <limits.h>#include <errno.h>#include "extern.h"extern YYSTYPE yylval;static int xcdepth = 0; /* depth of nesting in slash-star comments */static char *dolqstart; /* current $foo$ quote start string */bool escape_string_warning;static bool warn_on_first_escape;/* * literalbuf is used to accumulate literal values when multiple rules * are needed to parse a single literal. Call startlit to reset buffer * to empty, addlit to add text. Note that the buffer is permanently * malloc'd to the largest size needed so far in the current run. */static char *literalbuf = NULL; /* expandable buffer */static int literallen; /* actual current length */static int literalalloc; /* current allocated buffer size */#define startlit() (literalbuf[0] = '\0', literallen = 0)static void addlit(char *ytext, int yleng);static void addlitchar (unsigned char);static void parse_include (void);static void check_escape_warning(void);char *token_start;int state_before;struct _yy_buffer { YY_BUFFER_STATE buffer; long lineno; char *filename; struct _yy_buffer *next;} *yy_buffer = NULL;static char *old;#define MAX_NESTED_IF 128static short preproc_tos;static short ifcond;static struct _if_value { short condition; short else_branch;} stacked_if_value[MAX_NESTED_IF];#define YY_NEVER_INTERACTIVE 1#define C 1#define SQL 2#define incl 3#define def 4#define def_ident 5/* * OK, here is a short description of lex/flex rules behavior. * The longest pattern which matches an input string is always chosen. * For equal-length patterns, the first occurring in the rules list is chosen. * INITIAL is the starting state, to which all non-conditional rules apply. * Exclusive states change parsing rules while the state is active. When in * an exclusive state, only those rules defined for that state apply. * * We use exclusive states for quoted strings, extended comments, * and to eliminate parsing troubles for numeric strings. * Exclusive states: * <xb> bit string literal * <xc> extended C-style comments - thomas 1997-07-12 * <xd> delimited identifiers (double-quoted identifiers) - thomas 1997-10-27 * <xh> hexadecimal numeric string - thomas 1997-11-16 * <xq> quoted strings - thomas 1997-07-30 * <xdolq> $foo$ quoted strings */#define xb 6#define xc 7#define xd 8#define xdc 9#define xh 10#define xq 11#define xdolq 12#define xpre 13
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -