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? 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