mirror of
https://github.com/postgres/postgres.git
synced 2025-07-31 22:04:40 +03:00
Clean up whitespace and indentation in parser and scanner files
These are not touched by pgindent, so clean them up a bit manually.
This commit is contained in:
@ -47,165 +47,167 @@ static NDBOX * write_point_as_box(char *s, int dim);
|
||||
/* Grammar follows */
|
||||
%%
|
||||
|
||||
box:
|
||||
O_BRACKET paren_list COMMA paren_list C_BRACKET {
|
||||
box: O_BRACKET paren_list COMMA paren_list C_BRACKET
|
||||
{
|
||||
int dim;
|
||||
|
||||
int dim;
|
||||
dim = delim_count($2, ',') + 1;
|
||||
if ((delim_count($4, ',') + 1) != dim)
|
||||
{
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("bad cube representation"),
|
||||
errdetail("Different point dimensions in (%s) and (%s).",
|
||||
$2, $4)));
|
||||
YYABORT;
|
||||
}
|
||||
if (dim > CUBE_MAX_DIM) {
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("bad cube representation"),
|
||||
errdetail("A cube cannot have more than %d dimensions.",
|
||||
CUBE_MAX_DIM)));
|
||||
YYABORT;
|
||||
}
|
||||
|
||||
dim = delim_count($2, ',') + 1;
|
||||
if ( (delim_count($4, ',') + 1) != dim ) {
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("bad cube representation"),
|
||||
errdetail("Different point dimensions in (%s) and (%s).",
|
||||
$2, $4)));
|
||||
YYABORT;
|
||||
}
|
||||
if (dim > CUBE_MAX_DIM) {
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("bad cube representation"),
|
||||
errdetail("A cube cannot have more than %d dimensions.",
|
||||
CUBE_MAX_DIM)));
|
||||
YYABORT;
|
||||
}
|
||||
*((void **)result) = write_box( dim, $2, $4 );
|
||||
|
||||
*((void **)result) = write_box( dim, $2, $4 );
|
||||
}
|
||||
|
||||
}
|
||||
|
|
||||
paren_list COMMA paren_list {
|
||||
int dim;
|
||||
| paren_list COMMA paren_list
|
||||
{
|
||||
int dim;
|
||||
|
||||
dim = delim_count($1, ',') + 1;
|
||||
dim = delim_count($1, ',') + 1;
|
||||
|
||||
if ( (delim_count($3, ',') + 1) != dim ) {
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("bad cube representation"),
|
||||
errdetail("Different point dimensions in (%s) and (%s).",
|
||||
$1, $3)));
|
||||
YYABORT;
|
||||
}
|
||||
if (dim > CUBE_MAX_DIM) {
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("bad cube representation"),
|
||||
errdetail("A cube cannot have more than %d dimensions.",
|
||||
CUBE_MAX_DIM)));
|
||||
YYABORT;
|
||||
}
|
||||
if ( (delim_count($3, ',') + 1) != dim ) {
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("bad cube representation"),
|
||||
errdetail("Different point dimensions in (%s) and (%s).",
|
||||
$1, $3)));
|
||||
YYABORT;
|
||||
}
|
||||
if (dim > CUBE_MAX_DIM) {
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("bad cube representation"),
|
||||
errdetail("A cube cannot have more than %d dimensions.",
|
||||
CUBE_MAX_DIM)));
|
||||
YYABORT;
|
||||
}
|
||||
|
||||
*((void **)result) = write_box( dim, $1, $3 );
|
||||
}
|
||||
|
|
||||
*((void **)result) = write_box( dim, $1, $3 );
|
||||
}
|
||||
|
||||
paren_list {
|
||||
int dim;
|
||||
| paren_list
|
||||
{
|
||||
int dim;
|
||||
|
||||
dim = delim_count($1, ',') + 1;
|
||||
if (dim > CUBE_MAX_DIM) {
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("bad cube representation"),
|
||||
errdetail("A cube cannot have more than %d dimensions.",
|
||||
CUBE_MAX_DIM)));
|
||||
YYABORT;
|
||||
}
|
||||
dim = delim_count($1, ',') + 1;
|
||||
if (dim > CUBE_MAX_DIM) {
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("bad cube representation"),
|
||||
errdetail("A cube cannot have more than %d dimensions.",
|
||||
CUBE_MAX_DIM)));
|
||||
YYABORT;
|
||||
}
|
||||
|
||||
*((void **)result) = write_point_as_box($1, dim);
|
||||
}
|
||||
*((void **)result) = write_point_as_box($1, dim);
|
||||
}
|
||||
|
||||
|
|
||||
| list
|
||||
{
|
||||
int dim;
|
||||
|
||||
list {
|
||||
int dim;
|
||||
dim = delim_count($1, ',') + 1;
|
||||
if (dim > CUBE_MAX_DIM) {
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("bad cube representation"),
|
||||
errdetail("A cube cannot have more than %d dimensions.",
|
||||
CUBE_MAX_DIM)));
|
||||
YYABORT;
|
||||
}
|
||||
*((void **)result) = write_point_as_box($1, dim);
|
||||
}
|
||||
;
|
||||
|
||||
dim = delim_count($1, ',') + 1;
|
||||
if (dim > CUBE_MAX_DIM) {
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("bad cube representation"),
|
||||
errdetail("A cube cannot have more than %d dimensions.",
|
||||
CUBE_MAX_DIM)));
|
||||
YYABORT;
|
||||
}
|
||||
*((void **)result) = write_point_as_box($1, dim);
|
||||
}
|
||||
;
|
||||
paren_list: O_PAREN list C_PAREN
|
||||
{
|
||||
$$ = $2;
|
||||
}
|
||||
;
|
||||
|
||||
paren_list:
|
||||
O_PAREN list C_PAREN {
|
||||
$$ = $2;
|
||||
}
|
||||
;
|
||||
|
||||
list:
|
||||
CUBEFLOAT {
|
||||
/* alloc enough space to be sure whole list will fit */
|
||||
$$ = palloc(scanbuflen + 1);
|
||||
strcpy($$, $1);
|
||||
}
|
||||
|
|
||||
list COMMA CUBEFLOAT {
|
||||
$$ = $1;
|
||||
strcat($$, ",");
|
||||
strcat($$, $3);
|
||||
}
|
||||
;
|
||||
list: CUBEFLOAT
|
||||
{
|
||||
/* alloc enough space to be sure whole list will fit */
|
||||
$$ = palloc(scanbuflen + 1);
|
||||
strcpy($$, $1);
|
||||
}
|
||||
| list COMMA CUBEFLOAT
|
||||
{
|
||||
$$ = $1;
|
||||
strcat($$, ",");
|
||||
strcat($$, $3);
|
||||
}
|
||||
;
|
||||
|
||||
%%
|
||||
|
||||
static int
|
||||
delim_count(char *s, char delim)
|
||||
{
|
||||
int ndelim = 0;
|
||||
int ndelim = 0;
|
||||
|
||||
while ((s = strchr(s, delim)) != NULL)
|
||||
{
|
||||
ndelim++;
|
||||
s++;
|
||||
}
|
||||
return (ndelim);
|
||||
while ((s = strchr(s, delim)) != NULL)
|
||||
{
|
||||
ndelim++;
|
||||
s++;
|
||||
}
|
||||
return (ndelim);
|
||||
}
|
||||
|
||||
static NDBOX *
|
||||
write_box(unsigned int dim, char *str1, char *str2)
|
||||
{
|
||||
NDBOX * bp;
|
||||
char * s;
|
||||
int i;
|
||||
int size = offsetof(NDBOX, x[0]) + sizeof(double) * dim * 2;
|
||||
NDBOX *bp;
|
||||
char *s;
|
||||
int i;
|
||||
int size = offsetof(NDBOX, x[0]) + sizeof(double) * dim * 2;
|
||||
|
||||
bp = palloc0(size);
|
||||
SET_VARSIZE(bp, size);
|
||||
bp->dim = dim;
|
||||
bp = palloc0(size);
|
||||
SET_VARSIZE(bp, size);
|
||||
bp->dim = dim;
|
||||
|
||||
s = str1;
|
||||
bp->x[i=0] = strtod(s, NULL);
|
||||
while ((s = strchr(s, ',')) != NULL) {
|
||||
s++; i++;
|
||||
bp->x[i] = strtod(s, NULL);
|
||||
}
|
||||
s = str1;
|
||||
bp->x[i=0] = strtod(s, NULL);
|
||||
while ((s = strchr(s, ',')) != NULL)
|
||||
{
|
||||
s++; i++;
|
||||
bp->x[i] = strtod(s, NULL);
|
||||
}
|
||||
|
||||
s = str2;
|
||||
bp->x[i=dim] = strtod(s, NULL);
|
||||
while ((s = strchr(s, ',')) != NULL) {
|
||||
s++; i++;
|
||||
bp->x[i] = strtod(s, NULL);
|
||||
}
|
||||
s = str2;
|
||||
bp->x[i=dim] = strtod(s, NULL);
|
||||
while ((s = strchr(s, ',')) != NULL)
|
||||
{
|
||||
s++; i++;
|
||||
bp->x[i] = strtod(s, NULL);
|
||||
}
|
||||
|
||||
return(bp);
|
||||
return(bp);
|
||||
}
|
||||
|
||||
|
||||
static NDBOX *
|
||||
write_point_as_box(char *str, int dim)
|
||||
{
|
||||
NDBOX * bp;
|
||||
int i, size;
|
||||
double x;
|
||||
char * s = str;
|
||||
NDBOX *bp;
|
||||
int i,
|
||||
size;
|
||||
double x;
|
||||
char *s = str;
|
||||
|
||||
size = offsetof(NDBOX, x[0]) + sizeof(double) * dim * 2;
|
||||
|
||||
@ -217,11 +219,12 @@ write_point_as_box(char *str, int dim)
|
||||
x = strtod(s, NULL);
|
||||
bp->x[0] = x;
|
||||
bp->x[dim] = x;
|
||||
while ((s = strchr(s, ',')) != NULL) {
|
||||
s++; i++;
|
||||
x = strtod(s, NULL);
|
||||
bp->x[i] = x;
|
||||
bp->x[i+dim] = x;
|
||||
while ((s = strchr(s, ',')) != NULL)
|
||||
{
|
||||
s++; i++;
|
||||
x = strtod(s, NULL);
|
||||
bp->x[i] = x;
|
||||
bp->x[i+dim] = x;
|
||||
}
|
||||
|
||||
return(bp);
|
||||
|
@ -20,22 +20,22 @@
|
||||
#define YYMALLOC palloc
|
||||
#define YYFREE pfree
|
||||
|
||||
extern int seg_yylex(void);
|
||||
extern int seg_yylex(void);
|
||||
|
||||
extern int significant_digits(char *str); /* defined in seg.c */
|
||||
extern int significant_digits(char *str); /* defined in seg.c */
|
||||
|
||||
void seg_yyerror(const char *message);
|
||||
int seg_yyparse(void *result);
|
||||
void seg_yyerror(const char *message);
|
||||
int seg_yyparse(void *result);
|
||||
|
||||
static float seg_atof(char *value);
|
||||
static float seg_atof(char *value);
|
||||
|
||||
static char strbuf[25] = {
|
||||
'0', '0', '0', '0', '0',
|
||||
'0', '0', '0', '0', '0',
|
||||
'0', '0', '0', '0', '0',
|
||||
'0', '0', '0', '0', '0',
|
||||
'0', '0', '0', '0', '\0'
|
||||
};
|
||||
static char strbuf[25] = {
|
||||
'0', '0', '0', '0', '0',
|
||||
'0', '0', '0', '0', '0',
|
||||
'0', '0', '0', '0', '0',
|
||||
'0', '0', '0', '0', '0',
|
||||
'0', '0', '0', '0', '\0'
|
||||
};
|
||||
|
||||
%}
|
||||
|
||||
@ -44,12 +44,12 @@
|
||||
%name-prefix="seg_yy"
|
||||
|
||||
%union {
|
||||
struct BND {
|
||||
float val;
|
||||
char ext;
|
||||
char sigd;
|
||||
} bnd;
|
||||
char * text;
|
||||
struct BND {
|
||||
float val;
|
||||
char ext;
|
||||
char sigd;
|
||||
} bnd;
|
||||
char * text;
|
||||
}
|
||||
%token <text> SEGFLOAT
|
||||
%token <text> RANGE
|
||||
@ -63,90 +63,94 @@
|
||||
%%
|
||||
|
||||
|
||||
range:
|
||||
boundary PLUMIN deviation {
|
||||
((SEG *)result)->lower = $1.val - $3.val;
|
||||
((SEG *)result)->upper = $1.val + $3.val;
|
||||
sprintf(strbuf, "%g", ((SEG *)result)->lower);
|
||||
((SEG *)result)->l_sigd = Max(Min(6, significant_digits(strbuf)), Max($1.sigd, $3.sigd));
|
||||
sprintf(strbuf, "%g", ((SEG *)result)->upper);
|
||||
((SEG *)result)->u_sigd = Max(Min(6, significant_digits(strbuf)), Max($1.sigd, $3.sigd));
|
||||
((SEG *)result)->l_ext = '\0';
|
||||
((SEG *)result)->u_ext = '\0';
|
||||
}
|
||||
|
|
||||
boundary RANGE boundary {
|
||||
((SEG *)result)->lower = $1.val;
|
||||
((SEG *)result)->upper = $3.val;
|
||||
if ( ((SEG *)result)->lower > ((SEG *)result)->upper ) {
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
|
||||
errmsg("swapped boundaries: %g is greater than %g",
|
||||
((SEG *)result)->lower, ((SEG *)result)->upper)));
|
||||
range: boundary PLUMIN deviation
|
||||
{
|
||||
((SEG *)result)->lower = $1.val - $3.val;
|
||||
((SEG *)result)->upper = $1.val + $3.val;
|
||||
sprintf(strbuf, "%g", ((SEG *)result)->lower);
|
||||
((SEG *)result)->l_sigd = Max(Min(6, significant_digits(strbuf)), Max($1.sigd, $3.sigd));
|
||||
sprintf(strbuf, "%g", ((SEG *)result)->upper);
|
||||
((SEG *)result)->u_sigd = Max(Min(6, significant_digits(strbuf)), Max($1.sigd, $3.sigd));
|
||||
((SEG *)result)->l_ext = '\0';
|
||||
((SEG *)result)->u_ext = '\0';
|
||||
}
|
||||
|
||||
YYERROR;
|
||||
}
|
||||
((SEG *)result)->l_sigd = $1.sigd;
|
||||
((SEG *)result)->u_sigd = $3.sigd;
|
||||
((SEG *)result)->l_ext = ( $1.ext ? $1.ext : '\0' );
|
||||
((SEG *)result)->u_ext = ( $3.ext ? $3.ext : '\0' );
|
||||
}
|
||||
|
|
||||
boundary RANGE {
|
||||
((SEG *)result)->lower = $1.val;
|
||||
((SEG *)result)->upper = HUGE_VAL;
|
||||
((SEG *)result)->l_sigd = $1.sigd;
|
||||
((SEG *)result)->u_sigd = 0;
|
||||
((SEG *)result)->l_ext = ( $1.ext ? $1.ext : '\0' );
|
||||
((SEG *)result)->u_ext = '-';
|
||||
}
|
||||
|
|
||||
RANGE boundary {
|
||||
((SEG *)result)->lower = -HUGE_VAL;
|
||||
((SEG *)result)->upper = $2.val;
|
||||
((SEG *)result)->l_sigd = 0;
|
||||
((SEG *)result)->u_sigd = $2.sigd;
|
||||
((SEG *)result)->l_ext = '-';
|
||||
((SEG *)result)->u_ext = ( $2.ext ? $2.ext : '\0' );
|
||||
}
|
||||
|
|
||||
boundary {
|
||||
((SEG *)result)->lower = ((SEG *)result)->upper = $1.val;
|
||||
((SEG *)result)->l_sigd = ((SEG *)result)->u_sigd = $1.sigd;
|
||||
((SEG *)result)->l_ext = ((SEG *)result)->u_ext = ( $1.ext ? $1.ext : '\0' );
|
||||
}
|
||||
;
|
||||
| boundary RANGE boundary
|
||||
{
|
||||
((SEG *)result)->lower = $1.val;
|
||||
((SEG *)result)->upper = $3.val;
|
||||
if ( ((SEG *)result)->lower > ((SEG *)result)->upper ) {
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
|
||||
errmsg("swapped boundaries: %g is greater than %g",
|
||||
((SEG *)result)->lower, ((SEG *)result)->upper)));
|
||||
|
||||
boundary:
|
||||
SEGFLOAT {
|
||||
/* temp variable avoids a gcc 3.3.x bug on Sparc64 */
|
||||
float val = seg_atof($1);
|
||||
YYERROR;
|
||||
}
|
||||
((SEG *)result)->l_sigd = $1.sigd;
|
||||
((SEG *)result)->u_sigd = $3.sigd;
|
||||
((SEG *)result)->l_ext = ( $1.ext ? $1.ext : '\0' );
|
||||
((SEG *)result)->u_ext = ( $3.ext ? $3.ext : '\0' );
|
||||
}
|
||||
|
||||
$$.ext = '\0';
|
||||
$$.sigd = significant_digits($1);
|
||||
$$.val = val;
|
||||
}
|
||||
|
|
||||
EXTENSION SEGFLOAT {
|
||||
/* temp variable avoids a gcc 3.3.x bug on Sparc64 */
|
||||
float val = seg_atof($2);
|
||||
| boundary RANGE
|
||||
{
|
||||
((SEG *)result)->lower = $1.val;
|
||||
((SEG *)result)->upper = HUGE_VAL;
|
||||
((SEG *)result)->l_sigd = $1.sigd;
|
||||
((SEG *)result)->u_sigd = 0;
|
||||
((SEG *)result)->l_ext = ( $1.ext ? $1.ext : '\0' );
|
||||
((SEG *)result)->u_ext = '-';
|
||||
}
|
||||
|
||||
$$.ext = $1[0];
|
||||
$$.sigd = significant_digits($2);
|
||||
$$.val = val;
|
||||
}
|
||||
;
|
||||
| RANGE boundary
|
||||
{
|
||||
((SEG *)result)->lower = -HUGE_VAL;
|
||||
((SEG *)result)->upper = $2.val;
|
||||
((SEG *)result)->l_sigd = 0;
|
||||
((SEG *)result)->u_sigd = $2.sigd;
|
||||
((SEG *)result)->l_ext = '-';
|
||||
((SEG *)result)->u_ext = ( $2.ext ? $2.ext : '\0' );
|
||||
}
|
||||
|
||||
deviation:
|
||||
SEGFLOAT {
|
||||
/* temp variable avoids a gcc 3.3.x bug on Sparc64 */
|
||||
float val = seg_atof($1);
|
||||
| boundary
|
||||
{
|
||||
((SEG *)result)->lower = ((SEG *)result)->upper = $1.val;
|
||||
((SEG *)result)->l_sigd = ((SEG *)result)->u_sigd = $1.sigd;
|
||||
((SEG *)result)->l_ext = ((SEG *)result)->u_ext = ( $1.ext ? $1.ext : '\0' );
|
||||
}
|
||||
;
|
||||
|
||||
$$.ext = '\0';
|
||||
$$.sigd = significant_digits($1);
|
||||
$$.val = val;
|
||||
}
|
||||
;
|
||||
boundary: SEGFLOAT
|
||||
{
|
||||
/* temp variable avoids a gcc 3.3.x bug on Sparc64 */
|
||||
float val = seg_atof($1);
|
||||
|
||||
$$.ext = '\0';
|
||||
$$.sigd = significant_digits($1);
|
||||
$$.val = val;
|
||||
}
|
||||
| EXTENSION SEGFLOAT
|
||||
{
|
||||
/* temp variable avoids a gcc 3.3.x bug on Sparc64 */
|
||||
float val = seg_atof($2);
|
||||
|
||||
$$.ext = $1[0];
|
||||
$$.sigd = significant_digits($2);
|
||||
$$.val = val;
|
||||
}
|
||||
;
|
||||
|
||||
deviation: SEGFLOAT
|
||||
{
|
||||
/* temp variable avoids a gcc 3.3.x bug on Sparc64 */
|
||||
float val = seg_atof($1);
|
||||
|
||||
$$.ext = '\0';
|
||||
$$.sigd = significant_digits($1);
|
||||
$$.val = val;
|
||||
}
|
||||
;
|
||||
|
||||
%%
|
||||
|
||||
|
Reference in New Issue
Block a user