Synced gram.y and preproc.y.
authorMichael Meskes
Thu, 25 Jan 2001 20:35:19 +0000 (20:35 +0000)
committerMichael Meskes
Thu, 25 Jan 2001 20:35:19 +0000 (20:35 +0000)
src/interfaces/ecpg/ChangeLog
src/interfaces/ecpg/preproc/preproc.y

index 6643b8579e0bba5c3e795f0b2635b0146728df8c..90d4563293de80449e2515add482f8ed12485f0a 100644 (file)
@@ -1043,5 +1043,9 @@ Mon Jan 22 17:56:02 CET 2001
 Tue Jan 23 08:54:14 CET 2001
 
    - Moved database name handling to libecpg.
+
+Thu Jan 25 21:14:38 CET 2001
+
+   - Synced gram.y and preproc.y.     
    - Set ecpg version to 2.8.0. 
    - Set library version to 3.2.0.
index a888f93392586736bc00b6a07b9429c102b7d7ce..4d27ba34db6d472dc7923241f2aaaca9e1d3e361 100644 (file)
@@ -263,16 +263,16 @@ make_name(void)
 %nonassoc  OVERLAPS
 %nonassoc  BETWEEN
 %nonassoc  IN
+%left           POSTFIXOP                      /* dummy for postfix Op rules */    
 %left      Op              /* multi-character ops and user-defined operators */
 %nonassoc  NOTNULL
 %nonassoc  ISNULL
-%nonassoc  NULL_P
-%nonassoc  IS
+%nonassoc  IS NULL_P TRUE_P FALSE_P 
 %left      '+' '-'
 %left      '*' '/' '%'
 %left      '^'
 /* Unary Operators */
-%left           AT
+%left           AT ZONE
 %right     UMINUS
 %left      '.'
 %left      '[' ']'
@@ -3300,7 +3300,7 @@ a_expr:  c_expr
                {   $$ = cat_str(3, $1, $2, $3); }
        | Op a_expr
                {   $$ = cat2_str($1, $2); }
-       | a_expr Op
+       | a_expr Op     %prec POSTFIXOP
                {   $$ = cat2_str($1, $2); }
        | a_expr AND a_expr
                {   $$ = cat_str(3, $1, make_str("and"), $3); }
@@ -3345,11 +3345,11 @@ a_expr:  c_expr
                {   $$ = cat2_str($1, make_str("is false")); }
        | a_expr IS NOT TRUE_P
                {   $$ = cat2_str($1, make_str("is not true")); }
-       | a_expr BETWEEN b_expr AND b_expr
+       | a_expr BETWEEN b_expr AND b_expr  %prec BETWEEN
                {
                    $$ = cat_str(5, $1, make_str("between"), $3, make_str("and"), $5); 
                }
-       | a_expr NOT BETWEEN b_expr AND b_expr
+       | a_expr NOT BETWEEN b_expr AND b_expr  %prec BETWEEN
                {
                    $$ = cat_str(5, $1, make_str("not between"), $4, make_str("and"), $6); 
                }
@@ -3361,7 +3361,7 @@ a_expr:  c_expr
                {
                    $$ = cat_str(3, $1, make_str(" not in "), $4); 
                }
-       | a_expr all_Op sub_type select_with_parens
+       | a_expr all_Op sub_type select_with_parens %prec Op
                {
                    $$ = cat_str(4, $1, $2, $3, $4); 
                }
@@ -3417,7 +3417,7 @@ b_expr:  c_expr
                {   $$ = cat_str(3, $1, $2, $3); }
        | Op b_expr
                {   $$ = cat2_str($1, $2); }
-       | b_expr Op
+       | b_expr Op     %prec POSTFIXOP
                {   $$ = cat2_str($1, $2); }
        ;