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)