On Fri, 21 Mar 2025, Jakub Jelinek wrote:

> On Wed, Mar 19, 2025 at 06:03:24PM -0400, James K. Lowden wrote:
> > Elsewhere in the parser where there was a conflict like that, I renamed
> > the token.  For example, the COBOL word TRUE uses a token named
> > TRUE_kw.  I don't mind either way; your solution has less impact on the
> > parser.  
> 
> I think consistency is good and when it is a suffix rather than prefix,
> it also sorts alphabetically together with the actual keywords.
> 
> Ok for trunk?

OK.

Richard.

> 2025-03-21  Jakub Jelinek  <ja...@redhat.com>
> 
>       * parse.y: Rename COB_BLOCK to BLOCK_kw, COB_SIGNED to SIGNED_kw and
>       COB_UNSIGNED to UNSIGNED_kw.
>       * scan.l: Likewise.
>       * token_names.h: Regenerate.
> 
> --- gcc/cobol/scan.l.jj       2025-03-21 10:09:38.903966677 +0100
> +++ gcc/cobol/scan.l  2025-03-21 10:12:07.079914108 +0100
> @@ -374,7 +374,7 @@ ROUNDING                  { return ROUNDING; }
>  SECONDS                              { return SECONDS; }
>  SECURE                               { return SECURE; }
>  SHORT                                { return SHORT; }
> -SIGNED                               { return COB_SIGNED; }
> +SIGNED                               { return SIGNED_kw; }
>  STANDARD-BINARY                      { return STANDARD_BINARY; }
>  STANDARD-DECIMAL             { return STANDARD_DECIMAL; }
>  STATEMENT                    { return STATEMENT; }
> @@ -394,7 +394,7 @@ TOWARD-LESSER                     { return TOWARD_LESSER;
>  TRUNCATION                   { return TRUNCATION; }
>  UCS-4                                { return UCS_4; }
>  UNDERLINE                    { return UNDERLINE; }
> -UNSIGNED                     { return COB_UNSIGNED; }
> +UNSIGNED                     { return UNSIGNED_kw; }
>  UTF-16                               { return UTF_16; }
>  UTF-8                                { return UTF_8; }
>  
> @@ -837,7 +837,7 @@ CALL              { return CALL; }
>  BY           { return BY; }
>  BOTTOM               { return BOTTOM; }
>  BEFORE               { return BEFORE; }
> -BLOCK                { return COB_BLOCK; }
> +BLOCK                { return BLOCK_kw; }
>  BACKWARD     { return BACKWARD; }
>  
>  AT           { return AT; }
> @@ -1042,7 +1042,7 @@ USE({SPC}FOR)?          { return USE; }
>    AS                 { return AS; }
>    ASCENDING          { return ASCENDING; }
>    BLANK              { return BLANK; }
> -  BLOCK                      { return COB_BLOCK; }
> +  BLOCK                      { return BLOCK_kw; }
>    BY                 { return BY; }
>    BYTE-LENGTH                { return BYTE_LENGTH; }
>    CHARACTER          { return CHARACTER; }
> @@ -2164,7 +2164,7 @@ BASIS           { yy_push_state(basis); return BA
>    BINARY     { return BINARY; }
>    BIT        { return BIT; }
>    BLANK      { return BLANK; }
> -  BLOCK      { return COB_BLOCK; }
> +  BLOCK      { return BLOCK_kw; }
>    BOTTOM     { return BOTTOM; }
>    BY { return BY; }
>    CALL       { return CALL; }
> --- gcc/cobol/parse.y.jj      2025-03-21 10:09:38.902966690 +0100
> +++ gcc/cobol/parse.y 2025-03-21 10:11:12.178674614 +0100
> @@ -408,7 +408,7 @@
>  
>                       BASED BASECONVERT
>                       BEFORE BINARY BIT BIT_OF "BIT-OF" BIT_TO_CHAR 
> "BIT-TO-CHAR"
> -                     BLANK COB_BLOCK
> +                     BLANK BLOCK_kw
>                       BOOLEAN_OF_INTEGER "BOOLEAN-OF-INTEGER"
>                       BOTTOM BY
>                       BYTE BYTE_LENGTH "BYTE-LENGTH"
> @@ -613,7 +613,7 @@
>                       NONE NORMAL NUMBERS
>                       PREFIXED PREVIOUS PROHIBITED RELATION REQUIRED
>                       REVERSE_VIDEO ROUNDING
> -                     SECONDS SECURE SHORT COB_SIGNED
> +                     SECONDS SECURE SHORT SIGNED_kw
>                       STANDARD_BINARY "STANDARD-BINARY"
>                       STANDARD_DECIMAL "STANDARD-DECIMAL"
>                       STATEMENT STEP STRUCTURE
> @@ -621,7 +621,7 @@
>                       TOWARD_LESSER "TOWARD-LESSER"
>                       TRUNCATION
>                       UCS_4 "UCS-4"
> -                     UNDERLINE COB_UNSIGNED
> +                     UNDERLINE UNSIGNED_kw
>                       UTF_16 "UTF-16"
>                       UTF_8 "UTF-8"
>  
> @@ -1014,7 +1014,7 @@
>  
>                          BACKWARD BASED BASECONVERT
>                       BEFORE BINARY BIT BIT_OF BIT_TO_CHAR
> -                        BLANK COB_BLOCK
> +                        BLANK BLOCK_kw
>                       BOOLEAN_OF_INTEGER
>                       BOTTOM BY
>                       BYTE BYTE_LENGTH
> @@ -1228,7 +1228,7 @@
>                          NONE NORMAL NUMBERS
>                          PREFIXED PREVIOUS PROHIBITED RELATION REQUIRED
>                          REVERSE_VIDEO ROUNDING
> -                        SECONDS SECURE SHORT COB_SIGNED
> +                        SECONDS SECURE SHORT SIGNED_kw
>                       STANDARD_BINARY
>                          STANDARD_DECIMAL
>                       STATEMENT STEP STRUCTURE
> @@ -1236,7 +1236,7 @@
>                       TOWARD_LESSER
>                       TRUNCATION
>                          UCS_4
> -                     UNDERLINE COB_UNSIGNED
> +                     UNDERLINE UNSIGNED_kw
>                       UTF_16
>                       UTF_8
>  
> @@ -2907,7 +2907,7 @@ fd_clause:      record_desc
>                  }
>                  ;
>  
> -block_desc:     COB_BLOCK contains rec_contains chars_recs
> +block_desc:     BLOCK_kw contains rec_contains chars_recs
>                  ;
>  rec_contains:   NUMSTR[min] {
>                    ssize_t n;
> @@ -6528,7 +6528,7 @@ context_word:   APPLY
>                                           $$ = s; } // screen description 
> entry
>          |       SHORT                  { static char s[] ="SHORT";
>                                           $$ = s; } // DYNAMIC LENGTH 
> STRUCTURE clause
> -        |       COB_SIGNED             { static char s[] ="SIGNED";
> +        |       SIGNED_kw              { static char s[] ="SIGNED";
>                                           $$ = s; } // DYNAMIC LENGTH 
> STRUCTURE clause and USAGE clause
>          |       STANDARD_BINARY        { static char s[] ="STANDARD-BINARY";
>                                           $$ = s; } // ARITHMETIC clause
> @@ -6554,7 +6554,7 @@ context_word:   APPLY
>                                           $$ = s; } // ALPHABET clause
>          |       UNDERLINE              { static char s[] ="UNDERLINE";
>                                           $$ = s; } // screen description 
> entry and SET attribute statement
> -        |       COB_UNSIGNED           { static char s[] ="UNSIGNED";
> +        |       UNSIGNED_kw            { static char s[] ="UNSIGNED";
>                                           $$ = s; } // USAGE clause
>          |       UTF_8                  { static char s[] ="UTF-8";
>                                           $$ = s; } // ALPHABET clause
> --- gcc/cobol/token_names.h.jj        2025-03-21 10:09:38.963965845 +0100
> +++ gcc/cobol/token_names.h   2025-03-21 10:13:54.077431954 +0100
> @@ -1,5 +1,5 @@
>  // generated by ./token_names.h.gen ../../build/gcc/cobol/parse.h
> -// Fri Jan 31 05:52:10 EST 2025
> +// Fri Mar 21 10:13:54 CET 2025
>  tokens = {
>          { "identification", IDENTIFICATION_DIV }, // 258
>          { "environment", ENVIRONMENT_DIV }, // 259
> @@ -219,7 +219,7 @@ tokens = {
>          { "bit-of", BIT_OF }, // 470
>          { "bit-to-char", BIT_TO_CHAR }, // 471
>          { "blank", BLANK }, // 472
> -        { "block", COB_BLOCK }, // 473
> +        { "block", BLOCK_kw }, // 473
>          { "boolean-of-integer", BOOLEAN_OF_INTEGER }, // 474
>          { "bottom", BOTTOM }, // 475
>          { "by", BY }, // 476
> @@ -642,7 +642,7 @@ tokens = {
>          { "seconds", SECONDS }, // 891
>          { "secure", SECURE }, // 892
>          { "short", SHORT }, // 893
> -        { "signed", COB_SIGNED }, // 894
> +        { "signed", SIGNED_kw }, // 894
>          { "standard-binary", STANDARD_BINARY }, // 895
>          { "standard-decimal", STANDARD_DECIMAL }, // 896
>          { "statement", STATEMENT }, // 897
> @@ -653,7 +653,7 @@ tokens = {
>          { "truncation", TRUNCATION }, // 902
>          { "ucs-4", UCS_4 }, // 903
>          { "underline", UNDERLINE }, // 904
> -        { "unsigned", COB_UNSIGNED }, // 905
> +        { "unsigned", UNSIGNED_kw }, // 905
>          { "utf-16", UTF_16 }, // 906
>          { "utf-8", UTF_8 }, // 907
>          { "address", ADDRESS }, // 908
> 
> 
>       Jakub
> 
> 

-- 
Richard Biener <rguent...@suse.de>
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

Reply via email to