17#define YY_READ_BUF_SIZE 16777216
21#define fprintf(file, fmt, msg) fprintf_to_ereport(fmt, msg)
static void fprintf_to_ereport(const char *fmt, const char *msg)
int errmsg_internal(const char *fmt,...)
#define ereport(elevel,...)
33%option never-interactive
42%option prefix="cube_yy"
47real [+-]?({n}\.{n}?|\.{n})
48float ({integer}|{real})([eE]{integer})?
49infinity [+-]?[iI][nN][fF]([iI][nN][iI][tT][yY])?
54{float} *yylval = yytext;
return CUBEFLOAT;
55{infinity} *yylval = yytext;
return CUBEFLOAT;
56{NaN} *yylval = yytext;
return CUBEFLOAT;
57\[ *yylval =
"(";
return O_BRACKET;
58\] *yylval =
")";
return C_BRACKET;
59\( *yylval =
"(";
return O_PAREN;
60\) *yylval =
")";
return C_PAREN;
61\, *yylval =
",";
return COMMA;
72 struct Node *escontext,
79 if (*yytext == YY_END_OF_BUFFER_CHAR)
82 (
errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
83 errmsg(
"invalid input syntax for cube"),
85 errdetail(
"%s at end of input", message)));
90 (
errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
91 errmsg(
"invalid input syntax for cube"),
93 errdetail(
"%s at or near \"%s\"", message, yytext)));
107 if (yylex_init(yyscannerp) != 0)
110 yyscanner = *yyscannerp;
112 yy_scan_bytes(
str, slen, yyscanner);
123 yylex_destroy(yyscanner);
void * yyrealloc(void *ptr, yy_size_t size, yyscan_t yyscanner)
void cube_yyerror(NDBOX **result, Size scanbuflen, struct Node *escontext, yyscan_t yyscanner, const char *message)
void cube_scanner_init(const char *str, Size *scanbuflen, yyscan_t *yyscannerp)
void cube_scanner_finish(yyscan_t yyscanner)
void yyfree(void *ptr, yyscan_t yyscanner)
void * yyalloc(yy_size_t size, yyscan_t yyscanner)
int errdetail(const char *fmt,...)
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define errsave(context,...)
void * repalloc(void *pointer, Size size)
void pfree(void *pointer)