diff --git a/cobc/ChangeLog b/cobc/ChangeLog index 7d088c09d..1116f1d82 100644 --- a/cobc/ChangeLog +++ b/cobc/ChangeLog @@ -1272,6 +1272,8 @@ 2020-07-21 Simon Sobisch + * pplex.l, ppparse.y: implemented CHECKNUM/NOCHECKNUM, + preparation for SPZERO * ppparse.y: improved error handling for broken IF/ELIF directives by consuming as much errors as possible and emitting a "false" diff --git a/cobc/pplex.l b/cobc/pplex.l index 0de3aa0df..c635dd779 100644 --- a/cobc/pplex.l +++ b/cobc/pplex.l @@ -687,6 +687,10 @@ COBOL_WORDS_DIRECTIVE_STATE>{ "CALLFH" { return CALLFH; } + "CHECKNUM" | + "CHECK-NUM" { + return CHECKNUM; + } "COMP1" | "COMP-1" { return COMP1; @@ -716,6 +720,11 @@ COBOL_WORDS_DIRECTIVE_STATE>{ "NO-BOUND" { return NOBOUND; } + "NOCHECKNUM" | + "NO-CHECKNUM" | + "NO-CHECK-NUM" { + return NOCHECKNUM; + } "NODPCINDATA" | "NO-DPCINDATA" | "NODPC-IN-DATA" | @@ -731,6 +740,10 @@ COBOL_WORDS_DIRECTIVE_STATE>{ "NO-SSRANGE" { return NOSSRANGE; } + "NOSPZERO" | + "NO-SPZERO" { + return NOSPZERO; + } "NOODOSLIDE" | "NO-ODOSLIDE" { return NOODOSLIDE; @@ -747,6 +760,9 @@ COBOL_WORDS_DIRECTIVE_STATE>{ "SSRANGE" { return SSRANGE; } + "SPZERO" { + return SPZERO; + } "SOURCEFORMAT" | "SOURCE-FORMAT" { return SOURCEFORMAT; diff --git a/cobc/ppparse.output b/cobc/ppparse.output index 6063f424a..23925aa27 100644 --- a/cobc/ppparse.output +++ b/cobc/ppparse.output @@ -52,283 +52,286 @@ Grammaire 36 | CALLFH "Literal" 37 | CALLFH 38 | XFD "Literal" - 39 | COMP1 "Literal" - 40 | "DPC-IN-DATA" "Literal" - 41 | FOLDCOPYNAME _as "Literal" - 42 | KEYCOMPRESS "Literal" - 43 | NOKEYCOMPRESS - 44 | MAKESYN alnum_equality - 45 | NOBOUND - 46 | "NODPC-IN-DATA" - 47 | NOFOLDCOPYNAME - 48 | NOSSRANGE - 49 | NOODOSLIDE - 50 | ODOSLIDE - 51 | OVERRIDE alnum_equality_list - 52 | REMOVE alnum_list - 53 | SOURCEFORMAT _as "Literal" - 54 | SOURCEFORMAT _as error - 55 | SPZERO - 56 | SSRANGE _literal + 39 | CHECKNUM + 40 | COMP1 "Literal" + 41 | "DPC-IN-DATA" "Literal" + 42 | FOLDCOPYNAME _as "Literal" + 43 | KEYCOMPRESS "Literal" + 44 | NOKEYCOMPRESS + 45 | MAKESYN alnum_equality + 46 | NOBOUND + 47 | NOCHECKNUM + 48 | "NODPC-IN-DATA" + 49 | NOFOLDCOPYNAME + 50 | NOSPZERO + 51 | NOSSRANGE + 52 | NOODOSLIDE + 53 | ODOSLIDE + 54 | OVERRIDE alnum_equality_list + 55 | REMOVE alnum_list + 56 | SOURCEFORMAT _as "Literal" + 57 | SOURCEFORMAT _as error + 58 | SPZERO + 59 | SSRANGE _literal + + 60 alnum_list: "Literal" + 61 | alnum_list "Literal" + + 62 alnum_equality_list: alnum_equality + 63 | alnum_equality_list alnum_equality + + 64 alnum_equality: "Literal" "=" "Literal" - 57 alnum_list: "Literal" - 58 | alnum_list "Literal" + 65 alnum_with_list: alnum_with + 66 | alnum_with_list alnum_with + + 67 alnum_with: "Literal" WITH "Literal" + + 68 alnum_by_list: alnum_by + 69 | alnum_by_list alnum_by + + 70 alnum_by: "Literal" BY "Literal" + + 71 set_options: ε + 72 | _as "Literal" + + 73 refmod_directive: _on + 74 | OFF + + 75 source_directive: _format _is format_type + + 76 format_type: FIXED + 77 | FREE + 78 | VARIABLE + 79 | "word" + + 80 _literal: ε + 81 | "Literal" + + 82 define_directive: "Variable" _as "Literal" _override + 83 | "Variable" _as PARAMETER _override + 84 | "Variable" _as OFF + 85 | CONSTANT "Variable" _as "Literal" _override + 86 | variable_or_literal - 59 alnum_equality_list: alnum_equality - 60 | alnum_equality_list alnum_equality + 87 cobol_words_directive: EQUATE alnum_with_list + 88 | UNDEFINE alnum_list + 89 | SUBSTITUTE alnum_by_list + 90 | RESERVE alnum_list - 61 alnum_equality: "Literal" "=" "Literal" + 91 listing_directive: ε + 92 | ON + 93 | OFF + + 94 listing_statement: LISTING_STATEMENT + 95 | TITLE_STATEMENT "Literal" _dot "end of line" + + 96 control_options: control_option + 97 | control_options control_option + + 98 control_option: SOURCE + 99 | NOSOURCE + 100 | LIST + 101 | NOLIST + 102 | MAP + 103 | NOMAP + + 104 _dot: ε + 105 | "." + + 106 leap_second_directive: ε + 107 | ON + 108 | OFF + + 109 turn_directive: ec_list CHECKING on_or_off + + 110 ec_list: "Variable" + 111 | ec_list "Variable" + + 112 on_or_off: on_with_loc + 113 | ON + 114 | OFF + + 115 on_with_loc: ON with_loc + 116 | with_loc - 62 alnum_with_list: alnum_with - 63 | alnum_with_list alnum_with + 117 with_loc: WITH LOCATION + 118 | LOCATION - 64 alnum_with: "Literal" WITH "Literal" - - 65 alnum_by_list: alnum_by - 66 | alnum_by_list alnum_by - - 67 alnum_by: "Literal" BY "Literal" - - 68 set_options: ε - 69 | _as "Literal" - - 70 refmod_directive: _on - 71 | OFF - - 72 source_directive: _format _is format_type - - 73 format_type: FIXED - 74 | FREE - 75 | VARIABLE - 76 | "word" + 119 call_directive: call_choice + 120 | call_directive call_choice - 77 _literal: ε - 78 | "Literal" + 121 call_choice: COBOL + 122 | "EXTERN" + 123 | STDCALL + 124 | STATIC - 79 define_directive: "Variable" _as "Literal" _override - 80 | "Variable" _as PARAMETER _override - 81 | "Variable" _as OFF - 82 | CONSTANT "Variable" _as "Literal" _override - 83 | variable_or_literal + 125 if_directive: "Variable" _is _not DEFINED + 126 | "Variable" _is _not SET + 127 | "Variable" _is _not condition_clause object_id + 128 | "Literal" _is _not condition_clause object_id + 129 | garbage - 84 cobol_words_directive: EQUATE alnum_with_list - 85 | UNDEFINE alnum_list - 86 | SUBSTITUTE alnum_by_list - 87 | RESERVE alnum_list + 130 garbage: variable_or_literal + 131 | garbage variable_or_literal + 132 | garbage error - 88 listing_directive: ε - 89 | ON - 90 | OFF + 133 variable_or_literal: "Variable" + 134 | "Literal" - 91 listing_statement: LISTING_STATEMENT - 92 | TITLE_STATEMENT "Literal" _dot "end of line" + 135 object_id: "Literal" + 136 | "Variable" - 93 control_options: control_option - 94 | control_options control_option + 137 condition_clause: GREATER _than OR EQUAL _to + 138 | GREATER _than + 139 | LESS _than OR EQUAL _to + 140 | LESS _than + 141 | EQUAL _to + 142 | ">=" + 143 | ">" + 144 | "<=" + 145 | "<" + 146 | "=" + 147 | "<>" - 95 control_option: SOURCE - 96 | NOSOURCE - 97 | LIST - 98 | NOLIST - 99 | MAP - 100 | NOMAP + 148 copy_statement: COPY copy_source copy_in copy_suppress copy_replacing - 101 _dot: ε - 102 | "." + 149 copy_source: "Identifier or Literal" + 150 | "Text-Name" - 103 leap_second_directive: ε - 104 | ON - 105 | OFF + 151 copy_in: ε + 152 | in_or_of copy_source - 106 turn_directive: ec_list CHECKING on_or_off + 153 in_or_of: IN + 154 | OF - 107 ec_list: "Variable" - 108 | ec_list "Variable" + 155 copy_suppress: ε + 156 | SUPPRESS _printing - 109 on_or_off: on_with_loc - 110 | ON - 111 | OFF + 157 copy_replacing: ε + 158 | REPLACING replacing_list - 112 on_with_loc: ON with_loc - 113 | with_loc + 159 replace_statement: REPLACE _also replacing_list + 160 | REPLACE _last OFF - 114 with_loc: WITH LOCATION - 115 | LOCATION + 161 replacing_list: text_src BY text_dst + 162 | lead_trail text_partial_src BY text_partial_dst + 163 | replacing_list text_src BY text_dst + 164 | replacing_list lead_trail text_partial_src BY text_partial_dst - 116 call_directive: call_choice - 117 | call_directive call_choice - - 118 call_choice: COBOL - 119 | "EXTERN" - 120 | STDCALL - 121 | STATIC - - 122 if_directive: "Variable" _is _not DEFINED - 123 | "Variable" _is _not SET - 124 | "Variable" _is _not condition_clause object_id - 125 | "Literal" _is _not condition_clause object_id - 126 | garbage - - 127 garbage: variable_or_literal - 128 | garbage variable_or_literal - 129 | garbage error - - 130 variable_or_literal: "Variable" - 131 | "Literal" - - 132 object_id: "Literal" - 133 | "Variable" - - 134 condition_clause: GREATER _than OR EQUAL _to - 135 | GREATER _than - 136 | LESS _than OR EQUAL _to - 137 | LESS _than - 138 | EQUAL _to - 139 | ">=" - 140 | ">" - 141 | "<=" - 142 | "<" - 143 | "=" - 144 | "<>" - - 145 copy_statement: COPY copy_source copy_in copy_suppress copy_replacing - - 146 copy_source: "Identifier or Literal" - 147 | "Text-Name" - - 148 copy_in: ε - 149 | in_or_of copy_source - - 150 in_or_of: IN - 151 | OF - - 152 copy_suppress: ε - 153 | SUPPRESS _printing - - 154 copy_replacing: ε - 155 | REPLACING replacing_list - - 156 replace_statement: REPLACE _also replacing_list - 157 | REPLACE _last OFF - - 158 replacing_list: text_src BY text_dst - 159 | lead_trail text_partial_src BY text_partial_dst - 160 | replacing_list text_src BY text_dst - 161 | replacing_list lead_trail text_partial_src BY text_partial_dst - - 162 text_src: "==" token_list "==" - 163 | identifier - - 164 text_dst: "==" "==" - 165 | "==" token_list "==" + 165 text_src: "==" token_list "==" 166 | identifier - 167 text_partial_src: "==" "Identifier or Literal" "==" + 167 text_dst: "==" "==" + 168 | "==" token_list "==" + 169 | identifier + + 170 text_partial_src: "==" "Identifier or Literal" "==" - 168 text_partial_dst: "==" "==" - 169 | "==" "Identifier or Literal" "==" + 171 text_partial_dst: "==" "==" + 172 | "==" "Identifier or Literal" "==" - 170 token_list: "Identifier or Literal" - 171 | token_list "Identifier or Literal" + 173 token_list: "Identifier or Literal" + 174 | token_list "Identifier or Literal" - 172 identifier: "Identifier or Literal" - 173 | identifier IN "Identifier or Literal" - 174 | identifier OF "Identifier or Literal" - 175 | identifier '(' subscripts ')' + 175 identifier: "Identifier or Literal" + 176 | identifier IN "Identifier or Literal" + 177 | identifier OF "Identifier or Literal" + 178 | identifier '(' subscripts ')' - 176 subscripts: "Identifier or Literal" - 177 | subscripts "Identifier or Literal" + 179 subscripts: "Identifier or Literal" + 180 | subscripts "Identifier or Literal" - 178 lead_trail: LEADING - 179 | TRAILING + 181 lead_trail: LEADING + 182 | TRAILING - 180 _override: ε - 181 | OVERRIDE + 183 _override: ε + 184 | OVERRIDE - 182 _not: ε - 183 | NOT + 185 _not: ε + 186 | NOT - 184 _also: ε - 185 | ALSO + 187 _also: ε + 188 | ALSO - 186 _last: ε - 187 | LAST + 189 _last: ε + 190 | LAST - 188 _as: ε - 189 | AS + 191 _as: ε + 192 | AS - 190 _format: ε - 191 | FORMAT + 193 _format: ε + 194 | FORMAT - 192 _is: ε - 193 | IS + 195 _is: ε + 196 | IS - 194 _printing: ε - 195 | PRINTING + 197 _printing: ε + 198 | PRINTING - 196 _on: ε - 197 | ON + 199 _on: ε + 200 | ON - 198 _than: ε - 199 | THAN + 201 _than: ε + 202 | THAN - 200 _to: ε - 201 | TO + 203 _to: ε + 204 | TO Terminaux, suivis des règles où ils apparaissent "end of file" (0) 0 - '(' (40) 175 - ')' (41) 175 - error (256) 25 27 54 129 - ALSO (258) 185 - BY (259) 67 158 159 160 161 - COPY (260) 145 - "==" (261) 162 164 165 167 168 169 - IN (262) 150 173 - LAST (263) 187 - LEADING (264) 178 - OF (265) 151 174 - OFF (266) 71 81 90 105 111 157 - PRINTING (267) 195 - REPLACE (268) 156 157 - REPLACING (269) 155 - SUPPRESS (270) 153 - TRAILING (271) 179 - "." (272) 3 4 102 - "word" (273) 76 + '(' (40) 178 + ')' (41) 178 + error (256) 25 27 57 132 + ALSO (258) 188 + BY (259) 70 161 162 163 164 + COPY (260) 148 + "==" (261) 165 167 168 170 171 172 + IN (262) 153 176 + LAST (263) 190 + LEADING (264) 181 + OF (265) 154 177 + OFF (266) 74 84 93 108 114 160 + PRINTING (267) 198 + REPLACE (268) 159 160 + REPLACING (269) 158 + SUPPRESS (270) 156 + TRAILING (271) 182 + "." (272) 3 4 105 + "word" (273) 79 LISTING_DIRECTIVE (274) 14 - LISTING_STATEMENT (275) 91 - TITLE_STATEMENT (276) 92 + LISTING_STATEMENT (275) 94 + TITLE_STATEMENT (276) 95 COBOL_WORDS_DIRECTIVE (277) 10 - EQUATE (278) 84 - UNDEFINE (279) 85 - SUBSTITUTE (280) 86 - RESERVE (281) 87 + EQUATE (278) 87 + UNDEFINE (279) 88 + SUBSTITUTE (280) 89 + RESERVE (281) 90 CONTROL_STATEMENT (282) 7 - SOURCE (283) 95 - NOSOURCE (284) 96 - LIST (285) 97 - NOLIST (286) 98 - MAP (287) 99 - NOMAP (288) 100 + SOURCE (283) 98 + NOSOURCE (284) 99 + LIST (285) 100 + NOLIST (286) 101 + MAP (287) 102 + NOMAP (288) 103 LEAP_SECOND_DIRECTIVE (289) 15 SOURCE_DIRECTIVE (290) 8 - FORMAT (291) 191 - IS (292) 193 - FIXED (293) 73 - FREE (294) 74 - VARIABLE (295) 75 + FORMAT (291) 194 + IS (292) 196 + FIXED (293) 76 + FREE (294) 77 + VARIABLE (295) 78 CALL_DIRECTIVE (296) 23 - COBOL (297) 118 - "EXTERN" (298) 119 - STDCALL (299) 120 - STATIC (300) 121 + COBOL (297) 121 + "EXTERN" (298) 122 + STDCALL (299) 123 + STATIC (300) 124 DEFINE_DIRECTIVE (301) 9 - AS (302) 189 - PARAMETER (303) 80 - OVERRIDE (304) 51 181 + AS (302) 192 + PARAMETER (303) 83 + OVERRIDE (304) 54 184 REFMOD_DIRECTIVE (305) 12 SET_DIRECTIVE (306) 11 ADDRSV (307) 32 @@ -337,265 +340,268 @@ Terminaux, suivis des règles où ils apparaissent BOUND (310) 35 CALLFH (311) 36 37 XFD (312) 38 - COMP1 (313) 39 - CONSTANT (314) 30 82 - "DPC-IN-DATA" (315) 40 - FOLDCOPYNAME (316) 41 - KEYCOMPRESS (317) 42 - NOKEYCOMPRESS (318) 43 - MAKESYN (319) 44 - NOBOUND (320) 45 - "NODPC-IN-DATA" (321) 46 - NOFOLDCOPYNAME (322) 47 - NOODOSLIDE (323) 49 - NOSSRANGE (324) 48 - ODOSLIDE (325) 50 - REMOVE (326) 52 - SOURCEFORMAT (327) 53 54 - SPZERO (328) 55 - SSRANGE (329) 56 - IF_DIRECTIVE (330) 17 - ELSE_DIRECTIVE (331) 20 - ENDIF_DIRECTIVE (332) 21 - ELIF_DIRECTIVE (333) 19 - ">=" (334) 139 - "<=" (335) 141 - "<" (336) 142 - ">" (337) 140 - "=" (338) 61 143 - "<>" (339) 144 - NOT (340) 183 - THAN (341) 199 - TO (342) 201 - OR (343) 134 136 - EQUAL (344) 134 136 138 - GREATER (345) 134 135 - LESS (346) 136 137 - SET (347) 123 - DEFINED (348) 122 - TURN_DIRECTIVE (349) 13 - ON (350) 89 104 110 112 197 - CHECKING (351) 106 - WITH (352) 64 114 - LOCATION (353) 114 115 - "end of line" (354) 5 7 92 - "Identifier or Literal" (355) 146 167 169 170 171 172 173 174 176 177 - "Text-Name" (356) 147 - "Variable" (357) 30 31 79 80 81 82 107 108 122 123 124 130 133 - "Literal" (358) 30 34 36 38 39 40 41 42 53 57 58 61 64 67 69 78 79 82 92 125 131 132 + CHECKNUM (313) 39 + COMP1 (314) 40 + CONSTANT (315) 30 85 + "DPC-IN-DATA" (316) 41 + FOLDCOPYNAME (317) 42 + KEYCOMPRESS (318) 43 + NOKEYCOMPRESS (319) 44 + MAKESYN (320) 45 + NOBOUND (321) 46 + NOCHECKNUM (322) 47 + "NODPC-IN-DATA" (323) 48 + NOFOLDCOPYNAME (324) 49 + NOODOSLIDE (325) 52 + NOSPZERO (326) 50 + NOSSRANGE (327) 51 + ODOSLIDE (328) 53 + REMOVE (329) 55 + SOURCEFORMAT (330) 56 57 + SPZERO (331) 58 + SSRANGE (332) 59 + IF_DIRECTIVE (333) 17 + ELSE_DIRECTIVE (334) 20 + ENDIF_DIRECTIVE (335) 21 + ELIF_DIRECTIVE (336) 19 + ">=" (337) 142 + "<=" (338) 144 + "<" (339) 145 + ">" (340) 143 + "=" (341) 64 146 + "<>" (342) 147 + NOT (343) 186 + THAN (344) 202 + TO (345) 204 + OR (346) 137 139 + EQUAL (347) 137 139 141 + GREATER (348) 137 138 + LESS (349) 139 140 + SET (350) 126 + DEFINED (351) 125 + TURN_DIRECTIVE (352) 13 + ON (353) 92 107 113 115 200 + CHECKING (354) 109 + WITH (355) 67 117 + LOCATION (356) 117 118 + "end of line" (357) 5 7 95 + "Identifier or Literal" (358) 149 170 172 173 174 175 176 177 179 180 + "Text-Name" (359) 150 + "Variable" (360) 30 31 82 83 84 85 110 111 125 126 127 133 136 + "Literal" (361) 30 34 36 38 40 41 42 43 56 60 61 64 67 70 72 81 82 85 95 128 134 135 Non-terminaux, suivis des règles où ils apparaissent - $accept (106) + $accept (109) à gauche: 0 - statement_list (107) + statement_list (110) à gauche: 1 2 à droite: 0 2 - statement (108) + statement (111) à gauche: 3 4 5 6 7 à droite: 2 - directive (109) + directive (112) à gauche: 8 9 10 11 12 13 14 15 17 19 20 21 23 à droite: 5 - $@1 (110) + $@1 (113) à gauche: 16 à droite: 17 - $@2 (111) + $@2 (114) à gauche: 18 à droite: 19 - $@3 (112) + $@3 (115) à gauche: 22 à droite: 23 - if_directive_if (113) + if_directive_if (116) à gauche: 24 25 à droite: 17 - if_directive_elif (114) + if_directive_elif (117) à gauche: 26 27 à droite: 19 - set_directive (115) + set_directive (118) à gauche: 28 29 à droite: 11 29 - set_choice (116) - à gauche: 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 + set_choice (119) + à gauche: 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 à droite: 28 29 - alnum_list (117) - à gauche: 57 58 - à droite: 32 52 58 85 87 - alnum_equality_list (118) - à gauche: 59 60 - à droite: 51 60 - alnum_equality (119) - à gauche: 61 - à droite: 33 44 59 60 - alnum_with_list (120) + alnum_list (120) + à gauche: 60 61 + à droite: 32 55 61 88 90 + alnum_equality_list (121) à gauche: 62 63 - à droite: 63 84 - alnum_with (121) + à droite: 54 63 + alnum_equality (122) à gauche: 64 - à droite: 62 63 - alnum_by_list (122) + à droite: 33 45 62 63 + alnum_with_list (123) à gauche: 65 66 - à droite: 66 86 - alnum_by (123) + à droite: 66 87 + alnum_with (124) à gauche: 67 à droite: 65 66 - set_options (124) + alnum_by_list (125) à gauche: 68 69 + à droite: 69 89 + alnum_by (126) + à gauche: 70 + à droite: 68 69 + set_options (127) + à gauche: 71 72 à droite: 31 - refmod_directive (125) - à gauche: 70 71 + refmod_directive (128) + à gauche: 73 74 à droite: 12 - source_directive (126) - à gauche: 72 + source_directive (129) + à gauche: 75 à droite: 8 - format_type (127) - à gauche: 73 74 75 76 - à droite: 72 - _literal (128) - à gauche: 77 78 - à droite: 56 - define_directive (129) - à gauche: 79 80 81 82 83 + format_type (130) + à gauche: 76 77 78 79 + à droite: 75 + _literal (131) + à gauche: 80 81 + à droite: 59 + define_directive (132) + à gauche: 82 83 84 85 86 à droite: 9 - cobol_words_directive (130) - à gauche: 84 85 86 87 + cobol_words_directive (133) + à gauche: 87 88 89 90 à droite: 10 - listing_directive (131) - à gauche: 88 89 90 + listing_directive (134) + à gauche: 91 92 93 à droite: 14 - listing_statement (132) - à gauche: 91 92 + listing_statement (135) + à gauche: 94 95 à droite: 6 - control_options (133) - à gauche: 93 94 - à droite: 7 94 - control_option (134) - à gauche: 95 96 97 98 99 100 - à droite: 93 94 - _dot (135) - à gauche: 101 102 - à droite: 7 92 - leap_second_directive (136) - à gauche: 103 104 105 + control_options (136) + à gauche: 96 97 + à droite: 7 97 + control_option (137) + à gauche: 98 99 100 101 102 103 + à droite: 96 97 + _dot (138) + à gauche: 104 105 + à droite: 7 95 + leap_second_directive (139) + à gauche: 106 107 108 à droite: 15 - turn_directive (137) - à gauche: 106 + turn_directive (140) + à gauche: 109 à droite: 13 - ec_list (138) - à gauche: 107 108 - à droite: 106 108 - on_or_off (139) - à gauche: 109 110 111 - à droite: 106 - on_with_loc (140) - à gauche: 112 113 + ec_list (141) + à gauche: 110 111 + à droite: 109 111 + on_or_off (142) + à gauche: 112 113 114 à droite: 109 - with_loc (141) - à gauche: 114 115 - à droite: 112 113 - call_directive (142) - à gauche: 116 117 - à droite: 23 117 - call_choice (143) - à gauche: 118 119 120 121 - à droite: 116 117 - if_directive (144) - à gauche: 122 123 124 125 126 + on_with_loc (143) + à gauche: 115 116 + à droite: 112 + with_loc (144) + à gauche: 117 118 + à droite: 115 116 + call_directive (145) + à gauche: 119 120 + à droite: 23 120 + call_choice (146) + à gauche: 121 122 123 124 + à droite: 119 120 + if_directive (147) + à gauche: 125 126 127 128 129 à droite: 24 26 - garbage (145) - à gauche: 127 128 129 - à droite: 126 128 129 - variable_or_literal (146) - à gauche: 130 131 - à droite: 83 127 128 - object_id (147) - à gauche: 132 133 - à droite: 124 125 - condition_clause (148) - à gauche: 134 135 136 137 138 139 140 141 142 143 144 - à droite: 124 125 - copy_statement (149) - à gauche: 145 + garbage (148) + à gauche: 130 131 132 + à droite: 129 131 132 + variable_or_literal (149) + à gauche: 133 134 + à droite: 86 130 131 + object_id (150) + à gauche: 135 136 + à droite: 127 128 + condition_clause (151) + à gauche: 137 138 139 140 141 142 143 144 145 146 147 + à droite: 127 128 + copy_statement (152) + à gauche: 148 à droite: 3 - copy_source (150) - à gauche: 146 147 - à droite: 145 149 - copy_in (151) - à gauche: 148 149 - à droite: 145 - in_or_of (152) - à gauche: 150 151 - à droite: 149 - copy_suppress (153) - à gauche: 152 153 - à droite: 145 - copy_replacing (154) - à gauche: 154 155 - à droite: 145 - replace_statement (155) - à gauche: 156 157 + copy_source (153) + à gauche: 149 150 + à droite: 148 152 + copy_in (154) + à gauche: 151 152 + à droite: 148 + in_or_of (155) + à gauche: 153 154 + à droite: 152 + copy_suppress (156) + à gauche: 155 156 + à droite: 148 + copy_replacing (157) + à gauche: 157 158 + à droite: 148 + replace_statement (158) + à gauche: 159 160 à droite: 4 - replacing_list (156) - à gauche: 158 159 160 161 - à droite: 155 156 160 161 - text_src (157) - à gauche: 162 163 - à droite: 158 160 - text_dst (158) - à gauche: 164 165 166 - à droite: 158 160 - text_partial_src (159) - à gauche: 167 - à droite: 159 161 - text_partial_dst (160) - à gauche: 168 169 - à droite: 159 161 - token_list (161) - à gauche: 170 171 - à droite: 162 165 171 - identifier (162) - à gauche: 172 173 174 175 - à droite: 163 166 173 174 175 - subscripts (163) - à gauche: 176 177 - à droite: 175 177 - lead_trail (164) - à gauche: 178 179 - à droite: 159 161 - _override (165) - à gauche: 180 181 - à droite: 79 80 82 - _not (166) - à gauche: 182 183 - à droite: 122 123 124 125 - _also (167) - à gauche: 184 185 + replacing_list (159) + à gauche: 161 162 163 164 + à droite: 158 159 163 164 + text_src (160) + à gauche: 165 166 + à droite: 161 163 + text_dst (161) + à gauche: 167 168 169 + à droite: 161 163 + text_partial_src (162) + à gauche: 170 + à droite: 162 164 + text_partial_dst (163) + à gauche: 171 172 + à droite: 162 164 + token_list (164) + à gauche: 173 174 + à droite: 165 168 174 + identifier (165) + à gauche: 175 176 177 178 + à droite: 166 169 176 177 178 + subscripts (166) + à gauche: 179 180 + à droite: 178 180 + lead_trail (167) + à gauche: 181 182 + à droite: 162 164 + _override (168) + à gauche: 183 184 + à droite: 82 83 85 + _not (169) + à gauche: 185 186 + à droite: 125 126 127 128 + _also (170) + à gauche: 187 188 + à droite: 159 + _last (171) + à gauche: 189 190 + à droite: 160 + _as (172) + à gauche: 191 192 + à droite: 42 56 57 72 82 83 84 85 + _format (173) + à gauche: 193 194 + à droite: 75 + _is (174) + à gauche: 195 196 + à droite: 75 125 126 127 128 + _printing (175) + à gauche: 197 198 à droite: 156 - _last (168) - à gauche: 186 187 - à droite: 157 - _as (169) - à gauche: 188 189 - à droite: 41 53 54 69 79 80 81 82 - _format (170) - à gauche: 190 191 - à droite: 72 - _is (171) - à gauche: 192 193 - à droite: 72 122 123 124 125 - _printing (172) - à gauche: 194 195 - à droite: 153 - _on (173) - à gauche: 196 197 - à droite: 70 - _than (174) - à gauche: 198 199 - à droite: 134 135 136 137 - _to (175) - à gauche: 200 201 - à droite: 134 136 138 + _on (176) + à gauche: 199 200 + à droite: 73 + _than (177) + à gauche: 201 202 + à droite: 137 138 139 140 + _to (178) + à gauche: 203 204 + à droite: 137 139 141 État 0 @@ -648,7 +654,7 @@ Non-terminaux, suivis des règles où ils apparaissent État 3 - 145 copy_statement: COPY • copy_source copy_in copy_suppress copy_replacing + 148 copy_statement: COPY • copy_source copy_in copy_suppress copy_replacing "Identifier or Literal" décalage et aller à l'état 26 "Text-Name" décalage et aller à l'état 27 @@ -658,14 +664,14 @@ Non-terminaux, suivis des règles où ils apparaissent État 4 - 156 replace_statement: REPLACE • _also replacing_list - 157 | REPLACE • _last OFF + 159 replace_statement: REPLACE • _also replacing_list + 160 | REPLACE • _last OFF ALSO décalage et aller à l'état 29 LAST décalage et aller à l'état 30 - OFF réduction par utilisation de la règle 186 (_last) - $défaut réduction par utilisation de la règle 184 (_also) + OFF réduction par utilisation de la règle 189 (_last) + $défaut réduction par utilisation de la règle 187 (_also) _also aller à l'état 31 _last aller à l'état 32 @@ -678,21 +684,21 @@ Non-terminaux, suivis des règles où ils apparaissent OFF décalage et aller à l'état 33 ON décalage et aller à l'état 34 - $défaut réduction par utilisation de la règle 88 (listing_directive) + $défaut réduction par utilisation de la règle 91 (listing_directive) listing_directive aller à l'état 35 État 6 - 91 listing_statement: LISTING_STATEMENT • + 94 listing_statement: LISTING_STATEMENT • - $défaut réduction par utilisation de la règle 91 (listing_statement) + $défaut réduction par utilisation de la règle 94 (listing_statement) État 7 - 92 listing_statement: TITLE_STATEMENT • "Literal" _dot "end of line" + 95 listing_statement: TITLE_STATEMENT • "Literal" _dot "end of line" "Literal" décalage et aller à l'état 36 @@ -731,7 +737,7 @@ Non-terminaux, suivis des règles où ils apparaissent OFF décalage et aller à l'état 50 ON décalage et aller à l'état 51 - $défaut réduction par utilisation de la règle 103 (leap_second_directive) + $défaut réduction par utilisation de la règle 106 (leap_second_directive) leap_second_directive aller à l'état 52 @@ -742,7 +748,7 @@ Non-terminaux, suivis des règles où ils apparaissent FORMAT décalage et aller à l'état 53 - $défaut réduction par utilisation de la règle 190 (_format) + $défaut réduction par utilisation de la règle 193 (_format) source_directive aller à l'état 54 _format aller à l'état 55 @@ -776,7 +782,7 @@ Non-terminaux, suivis des règles où ils apparaissent OFF décalage et aller à l'état 62 ON décalage et aller à l'état 63 - $défaut réduction par utilisation de la règle 196 (_on) + $défaut réduction par utilisation de la règle 199 (_on) refmod_directive aller à l'état 64 _on aller à l'état 65 @@ -793,27 +799,30 @@ Non-terminaux, suivis des règles où ils apparaissent BOUND décalage et aller à l'état 70 CALLFH décalage et aller à l'état 71 XFD décalage et aller à l'état 72 - COMP1 décalage et aller à l'état 73 - CONSTANT décalage et aller à l'état 74 - "DPC-IN-DATA" décalage et aller à l'état 75 - FOLDCOPYNAME décalage et aller à l'état 76 - KEYCOMPRESS décalage et aller à l'état 77 - NOKEYCOMPRESS décalage et aller à l'état 78 - MAKESYN décalage et aller à l'état 79 - NOBOUND décalage et aller à l'état 80 - "NODPC-IN-DATA" décalage et aller à l'état 81 - NOFOLDCOPYNAME décalage et aller à l'état 82 - NOODOSLIDE décalage et aller à l'état 83 - NOSSRANGE décalage et aller à l'état 84 - ODOSLIDE décalage et aller à l'état 85 - REMOVE décalage et aller à l'état 86 - SOURCEFORMAT décalage et aller à l'état 87 - SPZERO décalage et aller à l'état 88 - SSRANGE décalage et aller à l'état 89 - "Variable" décalage et aller à l'état 90 - - set_directive aller à l'état 91 - set_choice aller à l'état 92 + CHECKNUM décalage et aller à l'état 73 + COMP1 décalage et aller à l'état 74 + CONSTANT décalage et aller à l'état 75 + "DPC-IN-DATA" décalage et aller à l'état 76 + FOLDCOPYNAME décalage et aller à l'état 77 + KEYCOMPRESS décalage et aller à l'état 78 + NOKEYCOMPRESS décalage et aller à l'état 79 + MAKESYN décalage et aller à l'état 80 + NOBOUND décalage et aller à l'état 81 + NOCHECKNUM décalage et aller à l'état 82 + "NODPC-IN-DATA" décalage et aller à l'état 83 + NOFOLDCOPYNAME décalage et aller à l'état 84 + NOODOSLIDE décalage et aller à l'état 85 + NOSPZERO décalage et aller à l'état 86 + NOSSRANGE décalage et aller à l'état 87 + ODOSLIDE décalage et aller à l'état 88 + REMOVE décalage et aller à l'état 89 + SOURCEFORMAT décalage et aller à l'état 90 + SPZERO décalage et aller à l'état 91 + SSRANGE décalage et aller à l'état 92 + "Variable" décalage et aller à l'état 93 + + set_directive aller à l'état 94 + set_choice aller à l'état 95 État 16 @@ -822,7 +831,7 @@ Non-terminaux, suivis des règles où ils apparaissent $défaut réduction par utilisation de la règle 16 ($@1) - $@1 aller à l'état 93 + $@1 aller à l'état 96 État 17 @@ -845,17 +854,17 @@ Non-terminaux, suivis des règles où ils apparaissent $défaut réduction par utilisation de la règle 18 ($@2) - $@2 aller à l'état 94 + $@2 aller à l'état 97 État 20 13 directive: TURN_DIRECTIVE • turn_directive - "Variable" décalage et aller à l'état 95 + "Variable" décalage et aller à l'état 98 - turn_directive aller à l'état 96 - ec_list aller à l'état 97 + turn_directive aller à l'état 99 + ec_list aller à l'état 100 État 21 @@ -869,7 +878,7 @@ Non-terminaux, suivis des règles où ils apparaissent 5 statement: directive • "end of line" - "end of line" décalage et aller à l'état 98 + "end of line" décalage et aller à l'état 101 État 23 @@ -883,91 +892,91 @@ Non-terminaux, suivis des règles où ils apparaissent 3 statement: copy_statement • "." - "." décalage et aller à l'état 99 + "." décalage et aller à l'état 102 État 25 4 statement: replace_statement • "." - "." décalage et aller à l'état 100 + "." décalage et aller à l'état 103 État 26 - 146 copy_source: "Identifier or Literal" • + 149 copy_source: "Identifier or Literal" • - $défaut réduction par utilisation de la règle 146 (copy_source) + $défaut réduction par utilisation de la règle 149 (copy_source) État 27 - 147 copy_source: "Text-Name" • + 150 copy_source: "Text-Name" • - $défaut réduction par utilisation de la règle 147 (copy_source) + $défaut réduction par utilisation de la règle 150 (copy_source) État 28 - 145 copy_statement: COPY copy_source • copy_in copy_suppress copy_replacing + 148 copy_statement: COPY copy_source • copy_in copy_suppress copy_replacing - IN décalage et aller à l'état 101 - OF décalage et aller à l'état 102 + IN décalage et aller à l'état 104 + OF décalage et aller à l'état 105 - $défaut réduction par utilisation de la règle 148 (copy_in) + $défaut réduction par utilisation de la règle 151 (copy_in) - copy_in aller à l'état 103 - in_or_of aller à l'état 104 + copy_in aller à l'état 106 + in_or_of aller à l'état 107 État 29 - 185 _also: ALSO • + 188 _also: ALSO • - $défaut réduction par utilisation de la règle 185 (_also) + $défaut réduction par utilisation de la règle 188 (_also) État 30 - 187 _last: LAST • + 190 _last: LAST • - $défaut réduction par utilisation de la règle 187 (_last) + $défaut réduction par utilisation de la règle 190 (_last) État 31 - 156 replace_statement: REPLACE _also • replacing_list + 159 replace_statement: REPLACE _also • replacing_list - "==" décalage et aller à l'état 105 - LEADING décalage et aller à l'état 106 - TRAILING décalage et aller à l'état 107 - "Identifier or Literal" décalage et aller à l'état 108 + "==" décalage et aller à l'état 108 + LEADING décalage et aller à l'état 109 + TRAILING décalage et aller à l'état 110 + "Identifier or Literal" décalage et aller à l'état 111 - replacing_list aller à l'état 109 - text_src aller à l'état 110 - identifier aller à l'état 111 - lead_trail aller à l'état 112 + replacing_list aller à l'état 112 + text_src aller à l'état 113 + identifier aller à l'état 114 + lead_trail aller à l'état 115 État 32 - 157 replace_statement: REPLACE _last • OFF + 160 replace_statement: REPLACE _last • OFF - OFF décalage et aller à l'état 113 + OFF décalage et aller à l'état 116 État 33 - 90 listing_directive: OFF • + 93 listing_directive: OFF • - $défaut réduction par utilisation de la règle 90 (listing_directive) + $défaut réduction par utilisation de la règle 93 (listing_directive) État 34 - 89 listing_directive: ON • + 92 listing_directive: ON • - $défaut réduction par utilisation de la règle 89 (listing_directive) + $défaut réduction par utilisation de la règle 92 (listing_directive) État 35 @@ -979,51 +988,51 @@ Non-terminaux, suivis des règles où ils apparaissent État 36 - 92 listing_statement: TITLE_STATEMENT "Literal" • _dot "end of line" + 95 listing_statement: TITLE_STATEMENT "Literal" • _dot "end of line" - "." décalage et aller à l'état 114 + "." décalage et aller à l'état 117 - $défaut réduction par utilisation de la règle 101 (_dot) + $défaut réduction par utilisation de la règle 104 (_dot) - _dot aller à l'état 115 + _dot aller à l'état 118 État 37 - 84 cobol_words_directive: EQUATE • alnum_with_list + 87 cobol_words_directive: EQUATE • alnum_with_list - "Literal" décalage et aller à l'état 116 + "Literal" décalage et aller à l'état 119 - alnum_with_list aller à l'état 117 - alnum_with aller à l'état 118 + alnum_with_list aller à l'état 120 + alnum_with aller à l'état 121 État 38 - 85 cobol_words_directive: UNDEFINE • alnum_list + 88 cobol_words_directive: UNDEFINE • alnum_list - "Literal" décalage et aller à l'état 119 + "Literal" décalage et aller à l'état 122 - alnum_list aller à l'état 120 + alnum_list aller à l'état 123 État 39 - 86 cobol_words_directive: SUBSTITUTE • alnum_by_list + 89 cobol_words_directive: SUBSTITUTE • alnum_by_list - "Literal" décalage et aller à l'état 121 + "Literal" décalage et aller à l'état 124 - alnum_by_list aller à l'état 122 - alnum_by aller à l'état 123 + alnum_by_list aller à l'état 125 + alnum_by aller à l'état 126 État 40 - 87 cobol_words_directive: RESERVE • alnum_list + 90 cobol_words_directive: RESERVE • alnum_list - "Literal" décalage et aller à l'état 119 + "Literal" décalage et aller à l'état 122 - alnum_list aller à l'état 124 + alnum_list aller à l'état 127 État 41 @@ -1035,52 +1044,52 @@ Non-terminaux, suivis des règles où ils apparaissent État 42 - 95 control_option: SOURCE • + 98 control_option: SOURCE • - $défaut réduction par utilisation de la règle 95 (control_option) + $défaut réduction par utilisation de la règle 98 (control_option) État 43 - 96 control_option: NOSOURCE • + 99 control_option: NOSOURCE • - $défaut réduction par utilisation de la règle 96 (control_option) + $défaut réduction par utilisation de la règle 99 (control_option) État 44 - 97 control_option: LIST • + 100 control_option: LIST • - $défaut réduction par utilisation de la règle 97 (control_option) + $défaut réduction par utilisation de la règle 100 (control_option) État 45 - 98 control_option: NOLIST • + 101 control_option: NOLIST • - $défaut réduction par utilisation de la règle 98 (control_option) + $défaut réduction par utilisation de la règle 101 (control_option) État 46 - 99 control_option: MAP • + 102 control_option: MAP • - $défaut réduction par utilisation de la règle 99 (control_option) + $défaut réduction par utilisation de la règle 102 (control_option) État 47 - 100 control_option: NOMAP • + 103 control_option: NOMAP • - $défaut réduction par utilisation de la règle 100 (control_option) + $défaut réduction par utilisation de la règle 103 (control_option) État 48 7 statement: CONTROL_STATEMENT control_options • _dot "end of line" - 94 control_options: control_options • control_option + 97 control_options: control_options • control_option - "." décalage et aller à l'état 114 + "." décalage et aller à l'état 117 SOURCE décalage et aller à l'état 42 NOSOURCE décalage et aller à l'état 43 LIST décalage et aller à l'état 44 @@ -1088,31 +1097,31 @@ Non-terminaux, suivis des règles où ils apparaissent MAP décalage et aller à l'état 46 NOMAP décalage et aller à l'état 47 - $défaut réduction par utilisation de la règle 101 (_dot) + $défaut réduction par utilisation de la règle 104 (_dot) - control_option aller à l'état 125 - _dot aller à l'état 126 + control_option aller à l'état 128 + _dot aller à l'état 129 État 49 - 93 control_options: control_option • + 96 control_options: control_option • - $défaut réduction par utilisation de la règle 93 (control_options) + $défaut réduction par utilisation de la règle 96 (control_options) État 50 - 105 leap_second_directive: OFF • + 108 leap_second_directive: OFF • - $défaut réduction par utilisation de la règle 105 (leap_second_directive) + $défaut réduction par utilisation de la règle 108 (leap_second_directive) État 51 - 104 leap_second_directive: ON • + 107 leap_second_directive: ON • - $défaut réduction par utilisation de la règle 104 (leap_second_directive) + $défaut réduction par utilisation de la règle 107 (leap_second_directive) État 52 @@ -1124,9 +1133,9 @@ Non-terminaux, suivis des règles où ils apparaissent État 53 - 191 _format: FORMAT • + 194 _format: FORMAT • - $défaut réduction par utilisation de la règle 191 (_format) + $défaut réduction par utilisation de la règle 194 (_format) État 54 @@ -1138,55 +1147,55 @@ Non-terminaux, suivis des règles où ils apparaissent État 55 - 72 source_directive: _format • _is format_type + 75 source_directive: _format • _is format_type - IS décalage et aller à l'état 127 + IS décalage et aller à l'état 130 - $défaut réduction par utilisation de la règle 192 (_is) + $défaut réduction par utilisation de la règle 195 (_is) - _is aller à l'état 128 + _is aller à l'état 131 État 56 23 directive: CALL_DIRECTIVE $@3 • call_directive - COBOL décalage et aller à l'état 129 - "EXTERN" décalage et aller à l'état 130 - STDCALL décalage et aller à l'état 131 - STATIC décalage et aller à l'état 132 + COBOL décalage et aller à l'état 132 + "EXTERN" décalage et aller à l'état 133 + STDCALL décalage et aller à l'état 134 + STATIC décalage et aller à l'état 135 - call_directive aller à l'état 133 - call_choice aller à l'état 134 + call_directive aller à l'état 136 + call_choice aller à l'état 137 État 57 - 82 define_directive: CONSTANT • "Variable" _as "Literal" _override + 85 define_directive: CONSTANT • "Variable" _as "Literal" _override - "Variable" décalage et aller à l'état 135 + "Variable" décalage et aller à l'état 138 État 58 - 79 define_directive: "Variable" • _as "Literal" _override - 80 | "Variable" • _as PARAMETER _override - 81 | "Variable" • _as OFF - 130 variable_or_literal: "Variable" • + 82 define_directive: "Variable" • _as "Literal" _override + 83 | "Variable" • _as PARAMETER _override + 84 | "Variable" • _as OFF + 133 variable_or_literal: "Variable" • - AS décalage et aller à l'état 136 + AS décalage et aller à l'état 139 - "end of line" réduction par utilisation de la règle 130 (variable_or_literal) - $défaut réduction par utilisation de la règle 188 (_as) + "end of line" réduction par utilisation de la règle 133 (variable_or_literal) + $défaut réduction par utilisation de la règle 191 (_as) - _as aller à l'état 137 + _as aller à l'état 140 État 59 - 131 variable_or_literal: "Literal" • + 134 variable_or_literal: "Literal" • - $défaut réduction par utilisation de la règle 131 (variable_or_literal) + $défaut réduction par utilisation de la règle 134 (variable_or_literal) État 60 @@ -1198,23 +1207,23 @@ Non-terminaux, suivis des règles où ils apparaissent État 61 - 83 define_directive: variable_or_literal • + 86 define_directive: variable_or_literal • - $défaut réduction par utilisation de la règle 83 (define_directive) + $défaut réduction par utilisation de la règle 86 (define_directive) État 62 - 71 refmod_directive: OFF • + 74 refmod_directive: OFF • - $défaut réduction par utilisation de la règle 71 (refmod_directive) + $défaut réduction par utilisation de la règle 74 (refmod_directive) État 63 - 197 _on: ON • + 200 _on: ON • - $défaut réduction par utilisation de la règle 197 (_on) + $défaut réduction par utilisation de la règle 200 (_on) État 64 @@ -1226,44 +1235,44 @@ Non-terminaux, suivis des règles où ils apparaissent État 65 - 70 refmod_directive: _on • + 73 refmod_directive: _on • - $défaut réduction par utilisation de la règle 70 (refmod_directive) + $défaut réduction par utilisation de la règle 73 (refmod_directive) État 66 - 51 set_choice: OVERRIDE • alnum_equality_list + 54 set_choice: OVERRIDE • alnum_equality_list - "Literal" décalage et aller à l'état 138 + "Literal" décalage et aller à l'état 141 - alnum_equality_list aller à l'état 139 - alnum_equality aller à l'état 140 + alnum_equality_list aller à l'état 142 + alnum_equality aller à l'état 143 État 67 32 set_choice: ADDRSV • alnum_list - "Literal" décalage et aller à l'état 119 + "Literal" décalage et aller à l'état 122 - alnum_list aller à l'état 141 + alnum_list aller à l'état 144 État 68 33 set_choice: ADDSYN • alnum_equality - "Literal" décalage et aller à l'état 138 + "Literal" décalage et aller à l'état 141 - alnum_equality aller à l'état 142 + alnum_equality aller à l'état 145 État 69 34 set_choice: ASSIGN • "Literal" - "Literal" décalage et aller à l'état 143 + "Literal" décalage et aller à l'état 146 État 70 @@ -1278,7 +1287,7 @@ Non-terminaux, suivis des règles où ils apparaissent 36 set_choice: CALLFH • "Literal" 37 | CALLFH • - "Literal" décalage et aller à l'état 144 + "Literal" décalage et aller à l'état 147 $défaut réduction par utilisation de la règle 37 (set_choice) @@ -1287,1874 +1296,1898 @@ Non-terminaux, suivis des règles où ils apparaissent 38 set_choice: XFD • "Literal" - "Literal" décalage et aller à l'état 145 + "Literal" décalage et aller à l'état 148 État 73 - 39 set_choice: COMP1 • "Literal" + 39 set_choice: CHECKNUM • - "Literal" décalage et aller à l'état 146 + $défaut réduction par utilisation de la règle 39 (set_choice) État 74 - 30 set_choice: CONSTANT • "Variable" "Literal" + 40 set_choice: COMP1 • "Literal" - "Variable" décalage et aller à l'état 147 + "Literal" décalage et aller à l'état 149 État 75 - 40 set_choice: "DPC-IN-DATA" • "Literal" + 30 set_choice: CONSTANT • "Variable" "Literal" - "Literal" décalage et aller à l'état 148 + "Variable" décalage et aller à l'état 150 État 76 - 41 set_choice: FOLDCOPYNAME • _as "Literal" + 41 set_choice: "DPC-IN-DATA" • "Literal" - AS décalage et aller à l'état 136 + "Literal" décalage et aller à l'état 151 - $défaut réduction par utilisation de la règle 188 (_as) - _as aller à l'état 149 +État 77 + 42 set_choice: FOLDCOPYNAME • _as "Literal" -État 77 + AS décalage et aller à l'état 139 - 42 set_choice: KEYCOMPRESS • "Literal" + $défaut réduction par utilisation de la règle 191 (_as) - "Literal" décalage et aller à l'état 150 + _as aller à l'état 152 État 78 - 43 set_choice: NOKEYCOMPRESS • + 43 set_choice: KEYCOMPRESS • "Literal" - $défaut réduction par utilisation de la règle 43 (set_choice) + "Literal" décalage et aller à l'état 153 État 79 - 44 set_choice: MAKESYN • alnum_equality - - "Literal" décalage et aller à l'état 138 + 44 set_choice: NOKEYCOMPRESS • - alnum_equality aller à l'état 151 + $défaut réduction par utilisation de la règle 44 (set_choice) État 80 - 45 set_choice: NOBOUND • + 45 set_choice: MAKESYN • alnum_equality - $défaut réduction par utilisation de la règle 45 (set_choice) + "Literal" décalage et aller à l'état 141 + + alnum_equality aller à l'état 154 État 81 - 46 set_choice: "NODPC-IN-DATA" • + 46 set_choice: NOBOUND • $défaut réduction par utilisation de la règle 46 (set_choice) État 82 - 47 set_choice: NOFOLDCOPYNAME • + 47 set_choice: NOCHECKNUM • $défaut réduction par utilisation de la règle 47 (set_choice) État 83 - 49 set_choice: NOODOSLIDE • + 48 set_choice: "NODPC-IN-DATA" • - $défaut réduction par utilisation de la règle 49 (set_choice) + $défaut réduction par utilisation de la règle 48 (set_choice) État 84 - 48 set_choice: NOSSRANGE • + 49 set_choice: NOFOLDCOPYNAME • - $défaut réduction par utilisation de la règle 48 (set_choice) + $défaut réduction par utilisation de la règle 49 (set_choice) État 85 - 50 set_choice: ODOSLIDE • + 52 set_choice: NOODOSLIDE • - $défaut réduction par utilisation de la règle 50 (set_choice) + $défaut réduction par utilisation de la règle 52 (set_choice) État 86 - 52 set_choice: REMOVE • alnum_list - - "Literal" décalage et aller à l'état 119 + 50 set_choice: NOSPZERO • - alnum_list aller à l'état 152 + $défaut réduction par utilisation de la règle 50 (set_choice) État 87 - 53 set_choice: SOURCEFORMAT • _as "Literal" - 54 | SOURCEFORMAT • _as error - - AS décalage et aller à l'état 136 - - $défaut réduction par utilisation de la règle 188 (_as) + 51 set_choice: NOSSRANGE • - _as aller à l'état 153 + $défaut réduction par utilisation de la règle 51 (set_choice) État 88 - 55 set_choice: SPZERO • + 53 set_choice: ODOSLIDE • - $défaut réduction par utilisation de la règle 55 (set_choice) + $défaut réduction par utilisation de la règle 53 (set_choice) État 89 - 56 set_choice: SSRANGE • _literal + 55 set_choice: REMOVE • alnum_list - "Literal" décalage et aller à l'état 154 + "Literal" décalage et aller à l'état 122 - $défaut réduction par utilisation de la règle 77 (_literal) - - _literal aller à l'état 155 + alnum_list aller à l'état 155 État 90 - 31 set_choice: "Variable" • set_options + 56 set_choice: SOURCEFORMAT • _as "Literal" + 57 | SOURCEFORMAT • _as error - AS décalage et aller à l'état 136 + AS décalage et aller à l'état 139 - "Literal" réduction par utilisation de la règle 188 (_as) - $défaut réduction par utilisation de la règle 68 (set_options) + $défaut réduction par utilisation de la règle 191 (_as) - set_options aller à l'état 156 - _as aller à l'état 157 + _as aller à l'état 156 État 91 - 11 directive: SET_DIRECTIVE set_directive • - 29 set_directive: set_directive • set_choice + 58 set_choice: SPZERO • - OVERRIDE décalage et aller à l'état 66 - ADDRSV décalage et aller à l'état 67 - ADDSYN décalage et aller à l'état 68 - ASSIGN décalage et aller à l'état 69 - BOUND décalage et aller à l'état 70 - CALLFH décalage et aller à l'état 71 - XFD décalage et aller à l'état 72 - COMP1 décalage et aller à l'état 73 - CONSTANT décalage et aller à l'état 74 - "DPC-IN-DATA" décalage et aller à l'état 75 - FOLDCOPYNAME décalage et aller à l'état 76 - KEYCOMPRESS décalage et aller à l'état 77 - NOKEYCOMPRESS décalage et aller à l'état 78 - MAKESYN décalage et aller à l'état 79 - NOBOUND décalage et aller à l'état 80 - "NODPC-IN-DATA" décalage et aller à l'état 81 - NOFOLDCOPYNAME décalage et aller à l'état 82 - NOODOSLIDE décalage et aller à l'état 83 - NOSSRANGE décalage et aller à l'état 84 - ODOSLIDE décalage et aller à l'état 85 - REMOVE décalage et aller à l'état 86 - SOURCEFORMAT décalage et aller à l'état 87 - SPZERO décalage et aller à l'état 88 - SSRANGE décalage et aller à l'état 89 - "Variable" décalage et aller à l'état 90 + $défaut réduction par utilisation de la règle 58 (set_choice) - $défaut réduction par utilisation de la règle 11 (directive) - set_choice aller à l'état 158 +État 92 + 59 set_choice: SSRANGE • _literal -État 92 + "Literal" décalage et aller à l'état 157 - 28 set_directive: set_choice • + $défaut réduction par utilisation de la règle 80 (_literal) - $défaut réduction par utilisation de la règle 28 (set_directive) + _literal aller à l'état 158 État 93 - 17 directive: IF_DIRECTIVE $@1 • if_directive_if + 31 set_choice: "Variable" • set_options + + AS décalage et aller à l'état 139 - error décalage et aller à l'état 159 - "Variable" décalage et aller à l'état 160 - "Literal" décalage et aller à l'état 161 + "Literal" réduction par utilisation de la règle 191 (_as) + $défaut réduction par utilisation de la règle 71 (set_options) - if_directive_if aller à l'état 162 - if_directive aller à l'état 163 - garbage aller à l'état 164 - variable_or_literal aller à l'état 165 + set_options aller à l'état 159 + _as aller à l'état 160 État 94 - 19 directive: ELIF_DIRECTIVE $@2 • if_directive_elif + 11 directive: SET_DIRECTIVE set_directive • + 29 set_directive: set_directive • set_choice - error décalage et aller à l'état 166 - "Variable" décalage et aller à l'état 160 - "Literal" décalage et aller à l'état 161 + OVERRIDE décalage et aller à l'état 66 + ADDRSV décalage et aller à l'état 67 + ADDSYN décalage et aller à l'état 68 + ASSIGN décalage et aller à l'état 69 + BOUND décalage et aller à l'état 70 + CALLFH décalage et aller à l'état 71 + XFD décalage et aller à l'état 72 + CHECKNUM décalage et aller à l'état 73 + COMP1 décalage et aller à l'état 74 + CONSTANT décalage et aller à l'état 75 + "DPC-IN-DATA" décalage et aller à l'état 76 + FOLDCOPYNAME décalage et aller à l'état 77 + KEYCOMPRESS décalage et aller à l'état 78 + NOKEYCOMPRESS décalage et aller à l'état 79 + MAKESYN décalage et aller à l'état 80 + NOBOUND décalage et aller à l'état 81 + NOCHECKNUM décalage et aller à l'état 82 + "NODPC-IN-DATA" décalage et aller à l'état 83 + NOFOLDCOPYNAME décalage et aller à l'état 84 + NOODOSLIDE décalage et aller à l'état 85 + NOSPZERO décalage et aller à l'état 86 + NOSSRANGE décalage et aller à l'état 87 + ODOSLIDE décalage et aller à l'état 88 + REMOVE décalage et aller à l'état 89 + SOURCEFORMAT décalage et aller à l'état 90 + SPZERO décalage et aller à l'état 91 + SSRANGE décalage et aller à l'état 92 + "Variable" décalage et aller à l'état 93 - if_directive_elif aller à l'état 167 - if_directive aller à l'état 168 - garbage aller à l'état 164 - variable_or_literal aller à l'état 165 + $défaut réduction par utilisation de la règle 11 (directive) + + set_choice aller à l'état 161 État 95 - 107 ec_list: "Variable" • + 28 set_directive: set_choice • - $défaut réduction par utilisation de la règle 107 (ec_list) + $défaut réduction par utilisation de la règle 28 (set_directive) État 96 - 13 directive: TURN_DIRECTIVE turn_directive • + 17 directive: IF_DIRECTIVE $@1 • if_directive_if - $défaut réduction par utilisation de la règle 13 (directive) + error décalage et aller à l'état 162 + "Variable" décalage et aller à l'état 163 + "Literal" décalage et aller à l'état 164 + + if_directive_if aller à l'état 165 + if_directive aller à l'état 166 + garbage aller à l'état 167 + variable_or_literal aller à l'état 168 État 97 - 106 turn_directive: ec_list • CHECKING on_or_off - 108 ec_list: ec_list • "Variable" + 19 directive: ELIF_DIRECTIVE $@2 • if_directive_elif + + error décalage et aller à l'état 169 + "Variable" décalage et aller à l'état 163 + "Literal" décalage et aller à l'état 164 - CHECKING décalage et aller à l'état 169 - "Variable" décalage et aller à l'état 170 + if_directive_elif aller à l'état 170 + if_directive aller à l'état 171 + garbage aller à l'état 167 + variable_or_literal aller à l'état 168 État 98 - 5 statement: directive "end of line" • + 110 ec_list: "Variable" • - $défaut réduction par utilisation de la règle 5 (statement) + $défaut réduction par utilisation de la règle 110 (ec_list) État 99 - 3 statement: copy_statement "." • + 13 directive: TURN_DIRECTIVE turn_directive • - $défaut réduction par utilisation de la règle 3 (statement) + $défaut réduction par utilisation de la règle 13 (directive) État 100 - 4 statement: replace_statement "." • + 109 turn_directive: ec_list • CHECKING on_or_off + 111 ec_list: ec_list • "Variable" - $défaut réduction par utilisation de la règle 4 (statement) + CHECKING décalage et aller à l'état 172 + "Variable" décalage et aller à l'état 173 État 101 - 150 in_or_of: IN • + 5 statement: directive "end of line" • - $défaut réduction par utilisation de la règle 150 (in_or_of) + $défaut réduction par utilisation de la règle 5 (statement) État 102 - 151 in_or_of: OF • + 3 statement: copy_statement "." • - $défaut réduction par utilisation de la règle 151 (in_or_of) + $défaut réduction par utilisation de la règle 3 (statement) État 103 - 145 copy_statement: COPY copy_source copy_in • copy_suppress copy_replacing - - SUPPRESS décalage et aller à l'état 171 - - $défaut réduction par utilisation de la règle 152 (copy_suppress) + 4 statement: replace_statement "." • - copy_suppress aller à l'état 172 + $défaut réduction par utilisation de la règle 4 (statement) État 104 - 149 copy_in: in_or_of • copy_source + 153 in_or_of: IN • - "Identifier or Literal" décalage et aller à l'état 26 - "Text-Name" décalage et aller à l'état 27 - - copy_source aller à l'état 173 + $défaut réduction par utilisation de la règle 153 (in_or_of) État 105 - 162 text_src: "==" • token_list "==" + 154 in_or_of: OF • - "Identifier or Literal" décalage et aller à l'état 174 - - token_list aller à l'état 175 + $défaut réduction par utilisation de la règle 154 (in_or_of) État 106 - 178 lead_trail: LEADING • + 148 copy_statement: COPY copy_source copy_in • copy_suppress copy_replacing + + SUPPRESS décalage et aller à l'état 174 + + $défaut réduction par utilisation de la règle 155 (copy_suppress) - $défaut réduction par utilisation de la règle 178 (lead_trail) + copy_suppress aller à l'état 175 État 107 - 179 lead_trail: TRAILING • + 152 copy_in: in_or_of • copy_source - $défaut réduction par utilisation de la règle 179 (lead_trail) + "Identifier or Literal" décalage et aller à l'état 26 + "Text-Name" décalage et aller à l'état 27 + copy_source aller à l'état 176 -État 108 - 172 identifier: "Identifier or Literal" • +État 108 - $défaut réduction par utilisation de la règle 172 (identifier) + 165 text_src: "==" • token_list "==" + "Identifier or Literal" décalage et aller à l'état 177 -État 109 + token_list aller à l'état 178 - 156 replace_statement: REPLACE _also replacing_list • - 160 replacing_list: replacing_list • text_src BY text_dst - 161 | replacing_list • lead_trail text_partial_src BY text_partial_dst - "==" décalage et aller à l'état 105 - LEADING décalage et aller à l'état 106 - TRAILING décalage et aller à l'état 107 - "Identifier or Literal" décalage et aller à l'état 108 +État 109 - $défaut réduction par utilisation de la règle 156 (replace_statement) + 181 lead_trail: LEADING • - text_src aller à l'état 176 - identifier aller à l'état 111 - lead_trail aller à l'état 177 + $défaut réduction par utilisation de la règle 181 (lead_trail) État 110 - 158 replacing_list: text_src • BY text_dst + 182 lead_trail: TRAILING • - BY décalage et aller à l'état 178 + $défaut réduction par utilisation de la règle 182 (lead_trail) État 111 - 163 text_src: identifier • - 173 identifier: identifier • IN "Identifier or Literal" - 174 | identifier • OF "Identifier or Literal" - 175 | identifier • '(' subscripts ')' + 175 identifier: "Identifier or Literal" • - IN décalage et aller à l'état 179 - OF décalage et aller à l'état 180 - '(' décalage et aller à l'état 181 - - $défaut réduction par utilisation de la règle 163 (text_src) + $défaut réduction par utilisation de la règle 175 (identifier) État 112 - 159 replacing_list: lead_trail • text_partial_src BY text_partial_dst + 159 replace_statement: REPLACE _also replacing_list • + 163 replacing_list: replacing_list • text_src BY text_dst + 164 | replacing_list • lead_trail text_partial_src BY text_partial_dst + + "==" décalage et aller à l'état 108 + LEADING décalage et aller à l'état 109 + TRAILING décalage et aller à l'état 110 + "Identifier or Literal" décalage et aller à l'état 111 - "==" décalage et aller à l'état 182 + $défaut réduction par utilisation de la règle 159 (replace_statement) - text_partial_src aller à l'état 183 + text_src aller à l'état 179 + identifier aller à l'état 114 + lead_trail aller à l'état 180 État 113 - 157 replace_statement: REPLACE _last OFF • + 161 replacing_list: text_src • BY text_dst - $défaut réduction par utilisation de la règle 157 (replace_statement) + BY décalage et aller à l'état 181 État 114 - 102 _dot: "." • + 166 text_src: identifier • + 176 identifier: identifier • IN "Identifier or Literal" + 177 | identifier • OF "Identifier or Literal" + 178 | identifier • '(' subscripts ')' - $défaut réduction par utilisation de la règle 102 (_dot) + IN décalage et aller à l'état 182 + OF décalage et aller à l'état 183 + '(' décalage et aller à l'état 184 + + $défaut réduction par utilisation de la règle 166 (text_src) État 115 - 92 listing_statement: TITLE_STATEMENT "Literal" _dot • "end of line" + 162 replacing_list: lead_trail • text_partial_src BY text_partial_dst + + "==" décalage et aller à l'état 185 - "end of line" décalage et aller à l'état 184 + text_partial_src aller à l'état 186 État 116 - 64 alnum_with: "Literal" • WITH "Literal" + 160 replace_statement: REPLACE _last OFF • - WITH décalage et aller à l'état 185 + $défaut réduction par utilisation de la règle 160 (replace_statement) État 117 - 63 alnum_with_list: alnum_with_list • alnum_with - 84 cobol_words_directive: EQUATE alnum_with_list • - - "Literal" décalage et aller à l'état 116 + 105 _dot: "." • - $défaut réduction par utilisation de la règle 84 (cobol_words_directive) - - alnum_with aller à l'état 186 + $défaut réduction par utilisation de la règle 105 (_dot) État 118 - 62 alnum_with_list: alnum_with • + 95 listing_statement: TITLE_STATEMENT "Literal" _dot • "end of line" - $défaut réduction par utilisation de la règle 62 (alnum_with_list) + "end of line" décalage et aller à l'état 187 État 119 - 57 alnum_list: "Literal" • + 67 alnum_with: "Literal" • WITH "Literal" - $défaut réduction par utilisation de la règle 57 (alnum_list) + WITH décalage et aller à l'état 188 État 120 - 58 alnum_list: alnum_list • "Literal" - 85 cobol_words_directive: UNDEFINE alnum_list • + 66 alnum_with_list: alnum_with_list • alnum_with + 87 cobol_words_directive: EQUATE alnum_with_list • + + "Literal" décalage et aller à l'état 119 - "Literal" décalage et aller à l'état 187 + $défaut réduction par utilisation de la règle 87 (cobol_words_directive) - $défaut réduction par utilisation de la règle 85 (cobol_words_directive) + alnum_with aller à l'état 189 État 121 - 67 alnum_by: "Literal" • BY "Literal" + 65 alnum_with_list: alnum_with • - BY décalage et aller à l'état 188 + $défaut réduction par utilisation de la règle 65 (alnum_with_list) État 122 - 66 alnum_by_list: alnum_by_list • alnum_by - 86 cobol_words_directive: SUBSTITUTE alnum_by_list • - - "Literal" décalage et aller à l'état 121 - - $défaut réduction par utilisation de la règle 86 (cobol_words_directive) + 60 alnum_list: "Literal" • - alnum_by aller à l'état 189 + $défaut réduction par utilisation de la règle 60 (alnum_list) État 123 - 65 alnum_by_list: alnum_by • + 61 alnum_list: alnum_list • "Literal" + 88 cobol_words_directive: UNDEFINE alnum_list • - $défaut réduction par utilisation de la règle 65 (alnum_by_list) + "Literal" décalage et aller à l'état 190 + $défaut réduction par utilisation de la règle 88 (cobol_words_directive) -État 124 - 58 alnum_list: alnum_list • "Literal" - 87 cobol_words_directive: RESERVE alnum_list • +État 124 - "Literal" décalage et aller à l'état 187 + 70 alnum_by: "Literal" • BY "Literal" - $défaut réduction par utilisation de la règle 87 (cobol_words_directive) + BY décalage et aller à l'état 191 État 125 - 94 control_options: control_options control_option • + 69 alnum_by_list: alnum_by_list • alnum_by + 89 cobol_words_directive: SUBSTITUTE alnum_by_list • + + "Literal" décalage et aller à l'état 124 + + $défaut réduction par utilisation de la règle 89 (cobol_words_directive) - $défaut réduction par utilisation de la règle 94 (control_options) + alnum_by aller à l'état 192 État 126 - 7 statement: CONTROL_STATEMENT control_options _dot • "end of line" + 68 alnum_by_list: alnum_by • - "end of line" décalage et aller à l'état 190 + $défaut réduction par utilisation de la règle 68 (alnum_by_list) État 127 - 193 _is: IS • + 61 alnum_list: alnum_list • "Literal" + 90 cobol_words_directive: RESERVE alnum_list • - $défaut réduction par utilisation de la règle 193 (_is) + "Literal" décalage et aller à l'état 190 + $défaut réduction par utilisation de la règle 90 (cobol_words_directive) -État 128 - 72 source_directive: _format _is • format_type +État 128 - "word" décalage et aller à l'état 191 - FIXED décalage et aller à l'état 192 - FREE décalage et aller à l'état 193 - VARIABLE décalage et aller à l'état 194 + 97 control_options: control_options control_option • - format_type aller à l'état 195 + $défaut réduction par utilisation de la règle 97 (control_options) État 129 - 118 call_choice: COBOL • + 7 statement: CONTROL_STATEMENT control_options _dot • "end of line" - $défaut réduction par utilisation de la règle 118 (call_choice) + "end of line" décalage et aller à l'état 193 État 130 - 119 call_choice: "EXTERN" • + 196 _is: IS • - $défaut réduction par utilisation de la règle 119 (call_choice) + $défaut réduction par utilisation de la règle 196 (_is) État 131 - 120 call_choice: STDCALL • + 75 source_directive: _format _is • format_type + + "word" décalage et aller à l'état 194 + FIXED décalage et aller à l'état 195 + FREE décalage et aller à l'état 196 + VARIABLE décalage et aller à l'état 197 - $défaut réduction par utilisation de la règle 120 (call_choice) + format_type aller à l'état 198 État 132 - 121 call_choice: STATIC • + 121 call_choice: COBOL • $défaut réduction par utilisation de la règle 121 (call_choice) État 133 - 23 directive: CALL_DIRECTIVE $@3 call_directive • - 117 call_directive: call_directive • call_choice - - COBOL décalage et aller à l'état 129 - "EXTERN" décalage et aller à l'état 130 - STDCALL décalage et aller à l'état 131 - STATIC décalage et aller à l'état 132 - - $défaut réduction par utilisation de la règle 23 (directive) + 122 call_choice: "EXTERN" • - call_choice aller à l'état 196 + $défaut réduction par utilisation de la règle 122 (call_choice) État 134 - 116 call_directive: call_choice • + 123 call_choice: STDCALL • - $défaut réduction par utilisation de la règle 116 (call_directive) + $défaut réduction par utilisation de la règle 123 (call_choice) État 135 - 82 define_directive: CONSTANT "Variable" • _as "Literal" _override + 124 call_choice: STATIC • - AS décalage et aller à l'état 136 + $défaut réduction par utilisation de la règle 124 (call_choice) - $défaut réduction par utilisation de la règle 188 (_as) - _as aller à l'état 197 +État 136 + 23 directive: CALL_DIRECTIVE $@3 call_directive • + 120 call_directive: call_directive • call_choice -État 136 + COBOL décalage et aller à l'état 132 + "EXTERN" décalage et aller à l'état 133 + STDCALL décalage et aller à l'état 134 + STATIC décalage et aller à l'état 135 - 189 _as: AS • + $défaut réduction par utilisation de la règle 23 (directive) - $défaut réduction par utilisation de la règle 189 (_as) + call_choice aller à l'état 199 État 137 - 79 define_directive: "Variable" _as • "Literal" _override - 80 | "Variable" _as • PARAMETER _override - 81 | "Variable" _as • OFF + 119 call_directive: call_choice • - OFF décalage et aller à l'état 198 - PARAMETER décalage et aller à l'état 199 - "Literal" décalage et aller à l'état 200 + $défaut réduction par utilisation de la règle 119 (call_directive) État 138 - 61 alnum_equality: "Literal" • "=" "Literal" + 85 define_directive: CONSTANT "Variable" • _as "Literal" _override - "=" décalage et aller à l'état 201 + AS décalage et aller à l'état 139 + $défaut réduction par utilisation de la règle 191 (_as) -État 139 + _as aller à l'état 200 - 51 set_choice: OVERRIDE alnum_equality_list • - 60 alnum_equality_list: alnum_equality_list • alnum_equality - "Literal" décalage et aller à l'état 138 +État 139 - $défaut réduction par utilisation de la règle 51 (set_choice) + 192 _as: AS • - alnum_equality aller à l'état 202 + $défaut réduction par utilisation de la règle 192 (_as) État 140 - 59 alnum_equality_list: alnum_equality • + 82 define_directive: "Variable" _as • "Literal" _override + 83 | "Variable" _as • PARAMETER _override + 84 | "Variable" _as • OFF - $défaut réduction par utilisation de la règle 59 (alnum_equality_list) + OFF décalage et aller à l'état 201 + PARAMETER décalage et aller à l'état 202 + "Literal" décalage et aller à l'état 203 État 141 - 32 set_choice: ADDRSV alnum_list • - 58 alnum_list: alnum_list • "Literal" + 64 alnum_equality: "Literal" • "=" "Literal" - "Literal" décalage et aller à l'état 187 - - $défaut réduction par utilisation de la règle 32 (set_choice) + "=" décalage et aller à l'état 204 État 142 - 33 set_choice: ADDSYN alnum_equality • + 54 set_choice: OVERRIDE alnum_equality_list • + 63 alnum_equality_list: alnum_equality_list • alnum_equality - $défaut réduction par utilisation de la règle 33 (set_choice) + "Literal" décalage et aller à l'état 141 + + $défaut réduction par utilisation de la règle 54 (set_choice) + + alnum_equality aller à l'état 205 État 143 - 34 set_choice: ASSIGN "Literal" • + 62 alnum_equality_list: alnum_equality • - $défaut réduction par utilisation de la règle 34 (set_choice) + $défaut réduction par utilisation de la règle 62 (alnum_equality_list) État 144 - 36 set_choice: CALLFH "Literal" • + 32 set_choice: ADDRSV alnum_list • + 61 alnum_list: alnum_list • "Literal" - $défaut réduction par utilisation de la règle 36 (set_choice) + "Literal" décalage et aller à l'état 190 + + $défaut réduction par utilisation de la règle 32 (set_choice) État 145 - 38 set_choice: XFD "Literal" • + 33 set_choice: ADDSYN alnum_equality • - $défaut réduction par utilisation de la règle 38 (set_choice) + $défaut réduction par utilisation de la règle 33 (set_choice) État 146 - 39 set_choice: COMP1 "Literal" • + 34 set_choice: ASSIGN "Literal" • - $défaut réduction par utilisation de la règle 39 (set_choice) + $défaut réduction par utilisation de la règle 34 (set_choice) État 147 - 30 set_choice: CONSTANT "Variable" • "Literal" + 36 set_choice: CALLFH "Literal" • - "Literal" décalage et aller à l'état 203 + $défaut réduction par utilisation de la règle 36 (set_choice) État 148 - 40 set_choice: "DPC-IN-DATA" "Literal" • + 38 set_choice: XFD "Literal" • - $défaut réduction par utilisation de la règle 40 (set_choice) + $défaut réduction par utilisation de la règle 38 (set_choice) État 149 - 41 set_choice: FOLDCOPYNAME _as • "Literal" + 40 set_choice: COMP1 "Literal" • - "Literal" décalage et aller à l'état 204 + $défaut réduction par utilisation de la règle 40 (set_choice) État 150 - 42 set_choice: KEYCOMPRESS "Literal" • + 30 set_choice: CONSTANT "Variable" • "Literal" - $défaut réduction par utilisation de la règle 42 (set_choice) + "Literal" décalage et aller à l'état 206 État 151 - 44 set_choice: MAKESYN alnum_equality • + 41 set_choice: "DPC-IN-DATA" "Literal" • - $défaut réduction par utilisation de la règle 44 (set_choice) + $défaut réduction par utilisation de la règle 41 (set_choice) État 152 - 52 set_choice: REMOVE alnum_list • - 58 alnum_list: alnum_list • "Literal" + 42 set_choice: FOLDCOPYNAME _as • "Literal" - "Literal" décalage et aller à l'état 187 - - $défaut réduction par utilisation de la règle 52 (set_choice) + "Literal" décalage et aller à l'état 207 État 153 - 53 set_choice: SOURCEFORMAT _as • "Literal" - 54 | SOURCEFORMAT _as • error + 43 set_choice: KEYCOMPRESS "Literal" • - error décalage et aller à l'état 205 - "Literal" décalage et aller à l'état 206 + $défaut réduction par utilisation de la règle 43 (set_choice) État 154 - 78 _literal: "Literal" • + 45 set_choice: MAKESYN alnum_equality • - $défaut réduction par utilisation de la règle 78 (_literal) + $défaut réduction par utilisation de la règle 45 (set_choice) État 155 - 56 set_choice: SSRANGE _literal • + 55 set_choice: REMOVE alnum_list • + 61 alnum_list: alnum_list • "Literal" - $défaut réduction par utilisation de la règle 56 (set_choice) + "Literal" décalage et aller à l'état 190 + + $défaut réduction par utilisation de la règle 55 (set_choice) État 156 - 31 set_choice: "Variable" set_options • + 56 set_choice: SOURCEFORMAT _as • "Literal" + 57 | SOURCEFORMAT _as • error - $défaut réduction par utilisation de la règle 31 (set_choice) + error décalage et aller à l'état 208 + "Literal" décalage et aller à l'état 209 État 157 - 69 set_options: _as • "Literal" + 81 _literal: "Literal" • - "Literal" décalage et aller à l'état 207 + $défaut réduction par utilisation de la règle 81 (_literal) État 158 - 29 set_directive: set_directive set_choice • + 59 set_choice: SSRANGE _literal • - $défaut réduction par utilisation de la règle 29 (set_directive) + $défaut réduction par utilisation de la règle 59 (set_choice) État 159 - 25 if_directive_if: error • + 31 set_choice: "Variable" set_options • - $défaut réduction par utilisation de la règle 25 (if_directive_if) + $défaut réduction par utilisation de la règle 31 (set_choice) État 160 - 122 if_directive: "Variable" • _is _not DEFINED - 123 | "Variable" • _is _not SET - 124 | "Variable" • _is _not condition_clause object_id - 130 variable_or_literal: "Variable" • + 72 set_options: _as • "Literal" - IS décalage et aller à l'état 127 - - error réduction par utilisation de la règle 130 (variable_or_literal) - "end of line" réduction par utilisation de la règle 130 (variable_or_literal) - "Variable" réduction par utilisation de la règle 130 (variable_or_literal) - "Literal" réduction par utilisation de la règle 130 (variable_or_literal) - $défaut réduction par utilisation de la règle 192 (_is) - - _is aller à l'état 208 + "Literal" décalage et aller à l'état 210 État 161 - 125 if_directive: "Literal" • _is _not condition_clause object_id - 131 variable_or_literal: "Literal" • - - IS décalage et aller à l'état 127 - - error réduction par utilisation de la règle 131 (variable_or_literal) - "end of line" réduction par utilisation de la règle 131 (variable_or_literal) - "Variable" réduction par utilisation de la règle 131 (variable_or_literal) - "Literal" réduction par utilisation de la règle 131 (variable_or_literal) - $défaut réduction par utilisation de la règle 192 (_is) + 29 set_directive: set_directive set_choice • - _is aller à l'état 209 + $défaut réduction par utilisation de la règle 29 (set_directive) État 162 - 17 directive: IF_DIRECTIVE $@1 if_directive_if • + 25 if_directive_if: error • - $défaut réduction par utilisation de la règle 17 (directive) + $défaut réduction par utilisation de la règle 25 (if_directive_if) État 163 - 24 if_directive_if: if_directive • + 125 if_directive: "Variable" • _is _not DEFINED + 126 | "Variable" • _is _not SET + 127 | "Variable" • _is _not condition_clause object_id + 133 variable_or_literal: "Variable" • - $défaut réduction par utilisation de la règle 24 (if_directive_if) + IS décalage et aller à l'état 130 + + error réduction par utilisation de la règle 133 (variable_or_literal) + "end of line" réduction par utilisation de la règle 133 (variable_or_literal) + "Variable" réduction par utilisation de la règle 133 (variable_or_literal) + "Literal" réduction par utilisation de la règle 133 (variable_or_literal) + $défaut réduction par utilisation de la règle 195 (_is) + + _is aller à l'état 211 État 164 - 126 if_directive: garbage • - 128 garbage: garbage • variable_or_literal - 129 | garbage • error + 128 if_directive: "Literal" • _is _not condition_clause object_id + 134 variable_or_literal: "Literal" • - error décalage et aller à l'état 210 - "Variable" décalage et aller à l'état 211 - "Literal" décalage et aller à l'état 59 + IS décalage et aller à l'état 130 - "end of line" réduction par utilisation de la règle 126 (if_directive) + error réduction par utilisation de la règle 134 (variable_or_literal) + "end of line" réduction par utilisation de la règle 134 (variable_or_literal) + "Variable" réduction par utilisation de la règle 134 (variable_or_literal) + "Literal" réduction par utilisation de la règle 134 (variable_or_literal) + $défaut réduction par utilisation de la règle 195 (_is) - variable_or_literal aller à l'état 212 + _is aller à l'état 212 État 165 - 127 garbage: variable_or_literal • + 17 directive: IF_DIRECTIVE $@1 if_directive_if • - $défaut réduction par utilisation de la règle 127 (garbage) + $défaut réduction par utilisation de la règle 17 (directive) État 166 - 27 if_directive_elif: error • + 24 if_directive_if: if_directive • - $défaut réduction par utilisation de la règle 27 (if_directive_elif) + $défaut réduction par utilisation de la règle 24 (if_directive_if) État 167 - 19 directive: ELIF_DIRECTIVE $@2 if_directive_elif • + 129 if_directive: garbage • + 131 garbage: garbage • variable_or_literal + 132 | garbage • error - $défaut réduction par utilisation de la règle 19 (directive) + error décalage et aller à l'état 213 + "Variable" décalage et aller à l'état 214 + "Literal" décalage et aller à l'état 59 + + "end of line" réduction par utilisation de la règle 129 (if_directive) + + variable_or_literal aller à l'état 215 État 168 - 26 if_directive_elif: if_directive • + 130 garbage: variable_or_literal • - $défaut réduction par utilisation de la règle 26 (if_directive_elif) + $défaut réduction par utilisation de la règle 130 (garbage) État 169 - 106 turn_directive: ec_list CHECKING • on_or_off - - OFF décalage et aller à l'état 213 - ON décalage et aller à l'état 214 - WITH décalage et aller à l'état 215 - LOCATION décalage et aller à l'état 216 + 27 if_directive_elif: error • - on_or_off aller à l'état 217 - on_with_loc aller à l'état 218 - with_loc aller à l'état 219 + $défaut réduction par utilisation de la règle 27 (if_directive_elif) État 170 - 108 ec_list: ec_list "Variable" • + 19 directive: ELIF_DIRECTIVE $@2 if_directive_elif • - $défaut réduction par utilisation de la règle 108 (ec_list) + $défaut réduction par utilisation de la règle 19 (directive) État 171 - 153 copy_suppress: SUPPRESS • _printing - - PRINTING décalage et aller à l'état 220 - - $défaut réduction par utilisation de la règle 194 (_printing) + 26 if_directive_elif: if_directive • - _printing aller à l'état 221 + $défaut réduction par utilisation de la règle 26 (if_directive_elif) État 172 - 145 copy_statement: COPY copy_source copy_in copy_suppress • copy_replacing - - REPLACING décalage et aller à l'état 222 + 109 turn_directive: ec_list CHECKING • on_or_off - $défaut réduction par utilisation de la règle 154 (copy_replacing) + OFF décalage et aller à l'état 216 + ON décalage et aller à l'état 217 + WITH décalage et aller à l'état 218 + LOCATION décalage et aller à l'état 219 - copy_replacing aller à l'état 223 + on_or_off aller à l'état 220 + on_with_loc aller à l'état 221 + with_loc aller à l'état 222 État 173 - 149 copy_in: in_or_of copy_source • + 111 ec_list: ec_list "Variable" • - $défaut réduction par utilisation de la règle 149 (copy_in) + $défaut réduction par utilisation de la règle 111 (ec_list) État 174 - 170 token_list: "Identifier or Literal" • + 156 copy_suppress: SUPPRESS • _printing - $défaut réduction par utilisation de la règle 170 (token_list) + PRINTING décalage et aller à l'état 223 + + $défaut réduction par utilisation de la règle 197 (_printing) + + _printing aller à l'état 224 État 175 - 162 text_src: "==" token_list • "==" - 171 token_list: token_list • "Identifier or Literal" + 148 copy_statement: COPY copy_source copy_in copy_suppress • copy_replacing + + REPLACING décalage et aller à l'état 225 - "==" décalage et aller à l'état 224 - "Identifier or Literal" décalage et aller à l'état 225 + $défaut réduction par utilisation de la règle 157 (copy_replacing) + + copy_replacing aller à l'état 226 État 176 - 160 replacing_list: replacing_list text_src • BY text_dst + 152 copy_in: in_or_of copy_source • - BY décalage et aller à l'état 226 + $défaut réduction par utilisation de la règle 152 (copy_in) État 177 - 161 replacing_list: replacing_list lead_trail • text_partial_src BY text_partial_dst - - "==" décalage et aller à l'état 182 + 173 token_list: "Identifier or Literal" • - text_partial_src aller à l'état 227 + $défaut réduction par utilisation de la règle 173 (token_list) État 178 - 158 replacing_list: text_src BY • text_dst - - "==" décalage et aller à l'état 228 - "Identifier or Literal" décalage et aller à l'état 108 + 165 text_src: "==" token_list • "==" + 174 token_list: token_list • "Identifier or Literal" - text_dst aller à l'état 229 - identifier aller à l'état 230 + "==" décalage et aller à l'état 227 + "Identifier or Literal" décalage et aller à l'état 228 État 179 - 173 identifier: identifier IN • "Identifier or Literal" + 163 replacing_list: replacing_list text_src • BY text_dst - "Identifier or Literal" décalage et aller à l'état 231 + BY décalage et aller à l'état 229 État 180 - 174 identifier: identifier OF • "Identifier or Literal" + 164 replacing_list: replacing_list lead_trail • text_partial_src BY text_partial_dst - "Identifier or Literal" décalage et aller à l'état 232 + "==" décalage et aller à l'état 185 + + text_partial_src aller à l'état 230 État 181 - 175 identifier: identifier '(' • subscripts ')' + 161 replacing_list: text_src BY • text_dst - "Identifier or Literal" décalage et aller à l'état 233 + "==" décalage et aller à l'état 231 + "Identifier or Literal" décalage et aller à l'état 111 - subscripts aller à l'état 234 + text_dst aller à l'état 232 + identifier aller à l'état 233 État 182 - 167 text_partial_src: "==" • "Identifier or Literal" "==" + 176 identifier: identifier IN • "Identifier or Literal" - "Identifier or Literal" décalage et aller à l'état 235 + "Identifier or Literal" décalage et aller à l'état 234 État 183 - 159 replacing_list: lead_trail text_partial_src • BY text_partial_dst + 177 identifier: identifier OF • "Identifier or Literal" - BY décalage et aller à l'état 236 + "Identifier or Literal" décalage et aller à l'état 235 État 184 - 92 listing_statement: TITLE_STATEMENT "Literal" _dot "end of line" • + 178 identifier: identifier '(' • subscripts ')' + + "Identifier or Literal" décalage et aller à l'état 236 - $défaut réduction par utilisation de la règle 92 (listing_statement) + subscripts aller à l'état 237 État 185 - 64 alnum_with: "Literal" WITH • "Literal" + 170 text_partial_src: "==" • "Identifier or Literal" "==" - "Literal" décalage et aller à l'état 237 + "Identifier or Literal" décalage et aller à l'état 238 État 186 - 63 alnum_with_list: alnum_with_list alnum_with • + 162 replacing_list: lead_trail text_partial_src • BY text_partial_dst - $défaut réduction par utilisation de la règle 63 (alnum_with_list) + BY décalage et aller à l'état 239 État 187 - 58 alnum_list: alnum_list "Literal" • + 95 listing_statement: TITLE_STATEMENT "Literal" _dot "end of line" • - $défaut réduction par utilisation de la règle 58 (alnum_list) + $défaut réduction par utilisation de la règle 95 (listing_statement) État 188 - 67 alnum_by: "Literal" BY • "Literal" + 67 alnum_with: "Literal" WITH • "Literal" - "Literal" décalage et aller à l'état 238 + "Literal" décalage et aller à l'état 240 État 189 - 66 alnum_by_list: alnum_by_list alnum_by • + 66 alnum_with_list: alnum_with_list alnum_with • - $défaut réduction par utilisation de la règle 66 (alnum_by_list) + $défaut réduction par utilisation de la règle 66 (alnum_with_list) État 190 - 7 statement: CONTROL_STATEMENT control_options _dot "end of line" • + 61 alnum_list: alnum_list "Literal" • - $défaut réduction par utilisation de la règle 7 (statement) + $défaut réduction par utilisation de la règle 61 (alnum_list) État 191 - 76 format_type: "word" • + 70 alnum_by: "Literal" BY • "Literal" - $défaut réduction par utilisation de la règle 76 (format_type) + "Literal" décalage et aller à l'état 241 État 192 - 73 format_type: FIXED • + 69 alnum_by_list: alnum_by_list alnum_by • - $défaut réduction par utilisation de la règle 73 (format_type) + $défaut réduction par utilisation de la règle 69 (alnum_by_list) État 193 - 74 format_type: FREE • + 7 statement: CONTROL_STATEMENT control_options _dot "end of line" • - $défaut réduction par utilisation de la règle 74 (format_type) + $défaut réduction par utilisation de la règle 7 (statement) État 194 - 75 format_type: VARIABLE • + 79 format_type: "word" • - $défaut réduction par utilisation de la règle 75 (format_type) + $défaut réduction par utilisation de la règle 79 (format_type) État 195 - 72 source_directive: _format _is format_type • + 76 format_type: FIXED • - $défaut réduction par utilisation de la règle 72 (source_directive) + $défaut réduction par utilisation de la règle 76 (format_type) État 196 - 117 call_directive: call_directive call_choice • + 77 format_type: FREE • - $défaut réduction par utilisation de la règle 117 (call_directive) + $défaut réduction par utilisation de la règle 77 (format_type) État 197 - 82 define_directive: CONSTANT "Variable" _as • "Literal" _override + 78 format_type: VARIABLE • - "Literal" décalage et aller à l'état 239 + $défaut réduction par utilisation de la règle 78 (format_type) État 198 - 81 define_directive: "Variable" _as OFF • + 75 source_directive: _format _is format_type • - $défaut réduction par utilisation de la règle 81 (define_directive) + $défaut réduction par utilisation de la règle 75 (source_directive) État 199 - 80 define_directive: "Variable" _as PARAMETER • _override - - OVERRIDE décalage et aller à l'état 240 + 120 call_directive: call_directive call_choice • - $défaut réduction par utilisation de la règle 180 (_override) - - _override aller à l'état 241 + $défaut réduction par utilisation de la règle 120 (call_directive) État 200 - 79 define_directive: "Variable" _as "Literal" • _override - - OVERRIDE décalage et aller à l'état 240 - - $défaut réduction par utilisation de la règle 180 (_override) + 85 define_directive: CONSTANT "Variable" _as • "Literal" _override - _override aller à l'état 242 + "Literal" décalage et aller à l'état 242 État 201 - 61 alnum_equality: "Literal" "=" • "Literal" + 84 define_directive: "Variable" _as OFF • - "Literal" décalage et aller à l'état 243 + $défaut réduction par utilisation de la règle 84 (define_directive) État 202 - 60 alnum_equality_list: alnum_equality_list alnum_equality • + 83 define_directive: "Variable" _as PARAMETER • _override - $défaut réduction par utilisation de la règle 60 (alnum_equality_list) + OVERRIDE décalage et aller à l'état 243 + + $défaut réduction par utilisation de la règle 183 (_override) + + _override aller à l'état 244 État 203 - 30 set_choice: CONSTANT "Variable" "Literal" • + 82 define_directive: "Variable" _as "Literal" • _override - $défaut réduction par utilisation de la règle 30 (set_choice) + OVERRIDE décalage et aller à l'état 243 + + $défaut réduction par utilisation de la règle 183 (_override) + + _override aller à l'état 245 État 204 - 41 set_choice: FOLDCOPYNAME _as "Literal" • + 64 alnum_equality: "Literal" "=" • "Literal" - $défaut réduction par utilisation de la règle 41 (set_choice) + "Literal" décalage et aller à l'état 246 État 205 - 54 set_choice: SOURCEFORMAT _as error • + 63 alnum_equality_list: alnum_equality_list alnum_equality • - $défaut réduction par utilisation de la règle 54 (set_choice) + $défaut réduction par utilisation de la règle 63 (alnum_equality_list) État 206 - 53 set_choice: SOURCEFORMAT _as "Literal" • + 30 set_choice: CONSTANT "Variable" "Literal" • - $défaut réduction par utilisation de la règle 53 (set_choice) + $défaut réduction par utilisation de la règle 30 (set_choice) État 207 - 69 set_options: _as "Literal" • + 42 set_choice: FOLDCOPYNAME _as "Literal" • - $défaut réduction par utilisation de la règle 69 (set_options) + $défaut réduction par utilisation de la règle 42 (set_choice) État 208 - 122 if_directive: "Variable" _is • _not DEFINED - 123 | "Variable" _is • _not SET - 124 | "Variable" _is • _not condition_clause object_id - - NOT décalage et aller à l'état 244 - - $défaut réduction par utilisation de la règle 182 (_not) + 57 set_choice: SOURCEFORMAT _as error • - _not aller à l'état 245 + $défaut réduction par utilisation de la règle 57 (set_choice) État 209 - 125 if_directive: "Literal" _is • _not condition_clause object_id + 56 set_choice: SOURCEFORMAT _as "Literal" • - NOT décalage et aller à l'état 244 - - $défaut réduction par utilisation de la règle 182 (_not) - - _not aller à l'état 246 + $défaut réduction par utilisation de la règle 56 (set_choice) État 210 - 129 garbage: garbage error • + 72 set_options: _as "Literal" • - $défaut réduction par utilisation de la règle 129 (garbage) + $défaut réduction par utilisation de la règle 72 (set_options) État 211 - 130 variable_or_literal: "Variable" • + 125 if_directive: "Variable" _is • _not DEFINED + 126 | "Variable" _is • _not SET + 127 | "Variable" _is • _not condition_clause object_id - $défaut réduction par utilisation de la règle 130 (variable_or_literal) + NOT décalage et aller à l'état 247 + + $défaut réduction par utilisation de la règle 185 (_not) + + _not aller à l'état 248 État 212 - 128 garbage: garbage variable_or_literal • + 128 if_directive: "Literal" _is • _not condition_clause object_id - $défaut réduction par utilisation de la règle 128 (garbage) + NOT décalage et aller à l'état 247 + $défaut réduction par utilisation de la règle 185 (_not) -État 213 + _not aller à l'état 249 - 111 on_or_off: OFF • - $défaut réduction par utilisation de la règle 111 (on_or_off) +État 213 + 132 garbage: garbage error • -État 214 + $défaut réduction par utilisation de la règle 132 (garbage) - 110 on_or_off: ON • - 112 on_with_loc: ON • with_loc - WITH décalage et aller à l'état 215 - LOCATION décalage et aller à l'état 216 +État 214 - $défaut réduction par utilisation de la règle 110 (on_or_off) + 133 variable_or_literal: "Variable" • - with_loc aller à l'état 247 + $défaut réduction par utilisation de la règle 133 (variable_or_literal) État 215 - 114 with_loc: WITH • LOCATION + 131 garbage: garbage variable_or_literal • - LOCATION décalage et aller à l'état 248 + $défaut réduction par utilisation de la règle 131 (garbage) État 216 - 115 with_loc: LOCATION • + 114 on_or_off: OFF • - $défaut réduction par utilisation de la règle 115 (with_loc) + $défaut réduction par utilisation de la règle 114 (on_or_off) État 217 - 106 turn_directive: ec_list CHECKING on_or_off • + 113 on_or_off: ON • + 115 on_with_loc: ON • with_loc - $défaut réduction par utilisation de la règle 106 (turn_directive) + WITH décalage et aller à l'état 218 + LOCATION décalage et aller à l'état 219 + + $défaut réduction par utilisation de la règle 113 (on_or_off) + + with_loc aller à l'état 250 État 218 - 109 on_or_off: on_with_loc • + 117 with_loc: WITH • LOCATION - $défaut réduction par utilisation de la règle 109 (on_or_off) + LOCATION décalage et aller à l'état 251 État 219 - 113 on_with_loc: with_loc • + 118 with_loc: LOCATION • - $défaut réduction par utilisation de la règle 113 (on_with_loc) + $défaut réduction par utilisation de la règle 118 (with_loc) État 220 - 195 _printing: PRINTING • + 109 turn_directive: ec_list CHECKING on_or_off • - $défaut réduction par utilisation de la règle 195 (_printing) + $défaut réduction par utilisation de la règle 109 (turn_directive) État 221 - 153 copy_suppress: SUPPRESS _printing • + 112 on_or_off: on_with_loc • - $défaut réduction par utilisation de la règle 153 (copy_suppress) + $défaut réduction par utilisation de la règle 112 (on_or_off) État 222 - 155 copy_replacing: REPLACING • replacing_list - - "==" décalage et aller à l'état 105 - LEADING décalage et aller à l'état 106 - TRAILING décalage et aller à l'état 107 - "Identifier or Literal" décalage et aller à l'état 108 + 116 on_with_loc: with_loc • - replacing_list aller à l'état 249 - text_src aller à l'état 110 - identifier aller à l'état 111 - lead_trail aller à l'état 112 + $défaut réduction par utilisation de la règle 116 (on_with_loc) État 223 - 145 copy_statement: COPY copy_source copy_in copy_suppress copy_replacing • + 198 _printing: PRINTING • - $défaut réduction par utilisation de la règle 145 (copy_statement) + $défaut réduction par utilisation de la règle 198 (_printing) État 224 - 162 text_src: "==" token_list "==" • + 156 copy_suppress: SUPPRESS _printing • - $défaut réduction par utilisation de la règle 162 (text_src) + $défaut réduction par utilisation de la règle 156 (copy_suppress) État 225 - 171 token_list: token_list "Identifier or Literal" • + 158 copy_replacing: REPLACING • replacing_list - $défaut réduction par utilisation de la règle 171 (token_list) + "==" décalage et aller à l'état 108 + LEADING décalage et aller à l'état 109 + TRAILING décalage et aller à l'état 110 + "Identifier or Literal" décalage et aller à l'état 111 + replacing_list aller à l'état 252 + text_src aller à l'état 113 + identifier aller à l'état 114 + lead_trail aller à l'état 115 -État 226 - 160 replacing_list: replacing_list text_src BY • text_dst +État 226 - "==" décalage et aller à l'état 228 - "Identifier or Literal" décalage et aller à l'état 108 + 148 copy_statement: COPY copy_source copy_in copy_suppress copy_replacing • - text_dst aller à l'état 250 - identifier aller à l'état 230 + $défaut réduction par utilisation de la règle 148 (copy_statement) État 227 - 161 replacing_list: replacing_list lead_trail text_partial_src • BY text_partial_dst + 165 text_src: "==" token_list "==" • - BY décalage et aller à l'état 251 + $défaut réduction par utilisation de la règle 165 (text_src) État 228 - 164 text_dst: "==" • "==" - 165 | "==" • token_list "==" - - "==" décalage et aller à l'état 252 - "Identifier or Literal" décalage et aller à l'état 174 + 174 token_list: token_list "Identifier or Literal" • - token_list aller à l'état 253 + $défaut réduction par utilisation de la règle 174 (token_list) État 229 - 158 replacing_list: text_src BY text_dst • + 163 replacing_list: replacing_list text_src BY • text_dst - $défaut réduction par utilisation de la règle 158 (replacing_list) + "==" décalage et aller à l'état 231 + "Identifier or Literal" décalage et aller à l'état 111 + text_dst aller à l'état 253 + identifier aller à l'état 233 -État 230 - 166 text_dst: identifier • - 173 identifier: identifier • IN "Identifier or Literal" - 174 | identifier • OF "Identifier or Literal" - 175 | identifier • '(' subscripts ')' +État 230 - IN décalage et aller à l'état 179 - OF décalage et aller à l'état 180 - '(' décalage et aller à l'état 181 + 164 replacing_list: replacing_list lead_trail text_partial_src • BY text_partial_dst - $défaut réduction par utilisation de la règle 166 (text_dst) + BY décalage et aller à l'état 254 État 231 - 173 identifier: identifier IN "Identifier or Literal" • + 167 text_dst: "==" • "==" + 168 | "==" • token_list "==" + + "==" décalage et aller à l'état 255 + "Identifier or Literal" décalage et aller à l'état 177 - $défaut réduction par utilisation de la règle 173 (identifier) + token_list aller à l'état 256 État 232 - 174 identifier: identifier OF "Identifier or Literal" • + 161 replacing_list: text_src BY text_dst • - $défaut réduction par utilisation de la règle 174 (identifier) + $défaut réduction par utilisation de la règle 161 (replacing_list) État 233 - 176 subscripts: "Identifier or Literal" • + 169 text_dst: identifier • + 176 identifier: identifier • IN "Identifier or Literal" + 177 | identifier • OF "Identifier or Literal" + 178 | identifier • '(' subscripts ')' + + IN décalage et aller à l'état 182 + OF décalage et aller à l'état 183 + '(' décalage et aller à l'état 184 - $défaut réduction par utilisation de la règle 176 (subscripts) + $défaut réduction par utilisation de la règle 169 (text_dst) État 234 - 175 identifier: identifier '(' subscripts • ')' - 177 subscripts: subscripts • "Identifier or Literal" + 176 identifier: identifier IN "Identifier or Literal" • - "Identifier or Literal" décalage et aller à l'état 254 - ')' décalage et aller à l'état 255 + $défaut réduction par utilisation de la règle 176 (identifier) État 235 - 167 text_partial_src: "==" "Identifier or Literal" • "==" + 177 identifier: identifier OF "Identifier or Literal" • - "==" décalage et aller à l'état 256 + $défaut réduction par utilisation de la règle 177 (identifier) État 236 - 159 replacing_list: lead_trail text_partial_src BY • text_partial_dst + 179 subscripts: "Identifier or Literal" • - "==" décalage et aller à l'état 257 - - text_partial_dst aller à l'état 258 + $défaut réduction par utilisation de la règle 179 (subscripts) État 237 - 64 alnum_with: "Literal" WITH "Literal" • + 178 identifier: identifier '(' subscripts • ')' + 180 subscripts: subscripts • "Identifier or Literal" - $défaut réduction par utilisation de la règle 64 (alnum_with) + "Identifier or Literal" décalage et aller à l'état 257 + ')' décalage et aller à l'état 258 État 238 - 67 alnum_by: "Literal" BY "Literal" • + 170 text_partial_src: "==" "Identifier or Literal" • "==" - $défaut réduction par utilisation de la règle 67 (alnum_by) + "==" décalage et aller à l'état 259 État 239 - 82 define_directive: CONSTANT "Variable" _as "Literal" • _override - - OVERRIDE décalage et aller à l'état 240 + 162 replacing_list: lead_trail text_partial_src BY • text_partial_dst - $défaut réduction par utilisation de la règle 180 (_override) + "==" décalage et aller à l'état 260 - _override aller à l'état 259 + text_partial_dst aller à l'état 261 État 240 - 181 _override: OVERRIDE • + 67 alnum_with: "Literal" WITH "Literal" • - $défaut réduction par utilisation de la règle 181 (_override) + $défaut réduction par utilisation de la règle 67 (alnum_with) État 241 - 80 define_directive: "Variable" _as PARAMETER _override • + 70 alnum_by: "Literal" BY "Literal" • - $défaut réduction par utilisation de la règle 80 (define_directive) + $défaut réduction par utilisation de la règle 70 (alnum_by) État 242 - 79 define_directive: "Variable" _as "Literal" _override • + 85 define_directive: CONSTANT "Variable" _as "Literal" • _override + + OVERRIDE décalage et aller à l'état 243 - $défaut réduction par utilisation de la règle 79 (define_directive) + $défaut réduction par utilisation de la règle 183 (_override) + + _override aller à l'état 262 État 243 - 61 alnum_equality: "Literal" "=" "Literal" • + 184 _override: OVERRIDE • - $défaut réduction par utilisation de la règle 61 (alnum_equality) + $défaut réduction par utilisation de la règle 184 (_override) État 244 - 183 _not: NOT • + 83 define_directive: "Variable" _as PARAMETER _override • - $défaut réduction par utilisation de la règle 183 (_not) + $défaut réduction par utilisation de la règle 83 (define_directive) État 245 - 122 if_directive: "Variable" _is _not • DEFINED - 123 | "Variable" _is _not • SET - 124 | "Variable" _is _not • condition_clause object_id - - ">=" décalage et aller à l'état 260 - "<=" décalage et aller à l'état 261 - "<" décalage et aller à l'état 262 - ">" décalage et aller à l'état 263 - "=" décalage et aller à l'état 264 - "<>" décalage et aller à l'état 265 - EQUAL décalage et aller à l'état 266 - GREATER décalage et aller à l'état 267 - LESS décalage et aller à l'état 268 - SET décalage et aller à l'état 269 - DEFINED décalage et aller à l'état 270 + 82 define_directive: "Variable" _as "Literal" _override • - condition_clause aller à l'état 271 + $défaut réduction par utilisation de la règle 82 (define_directive) État 246 - 125 if_directive: "Literal" _is _not • condition_clause object_id - - ">=" décalage et aller à l'état 260 - "<=" décalage et aller à l'état 261 - "<" décalage et aller à l'état 262 - ">" décalage et aller à l'état 263 - "=" décalage et aller à l'état 264 - "<>" décalage et aller à l'état 265 - EQUAL décalage et aller à l'état 266 - GREATER décalage et aller à l'état 267 - LESS décalage et aller à l'état 268 + 64 alnum_equality: "Literal" "=" "Literal" • - condition_clause aller à l'état 272 + $défaut réduction par utilisation de la règle 64 (alnum_equality) État 247 - 112 on_with_loc: ON with_loc • + 186 _not: NOT • - $défaut réduction par utilisation de la règle 112 (on_with_loc) + $défaut réduction par utilisation de la règle 186 (_not) État 248 - 114 with_loc: WITH LOCATION • + 125 if_directive: "Variable" _is _not • DEFINED + 126 | "Variable" _is _not • SET + 127 | "Variable" _is _not • condition_clause object_id - $défaut réduction par utilisation de la règle 114 (with_loc) + ">=" décalage et aller à l'état 263 + "<=" décalage et aller à l'état 264 + "<" décalage et aller à l'état 265 + ">" décalage et aller à l'état 266 + "=" décalage et aller à l'état 267 + "<>" décalage et aller à l'état 268 + EQUAL décalage et aller à l'état 269 + GREATER décalage et aller à l'état 270 + LESS décalage et aller à l'état 271 + SET décalage et aller à l'état 272 + DEFINED décalage et aller à l'état 273 + condition_clause aller à l'état 274 -État 249 - 155 copy_replacing: REPLACING replacing_list • - 160 replacing_list: replacing_list • text_src BY text_dst - 161 | replacing_list • lead_trail text_partial_src BY text_partial_dst +État 249 - "==" décalage et aller à l'état 105 - LEADING décalage et aller à l'état 106 - TRAILING décalage et aller à l'état 107 - "Identifier or Literal" décalage et aller à l'état 108 + 128 if_directive: "Literal" _is _not • condition_clause object_id - $défaut réduction par utilisation de la règle 155 (copy_replacing) + ">=" décalage et aller à l'état 263 + "<=" décalage et aller à l'état 264 + "<" décalage et aller à l'état 265 + ">" décalage et aller à l'état 266 + "=" décalage et aller à l'état 267 + "<>" décalage et aller à l'état 268 + EQUAL décalage et aller à l'état 269 + GREATER décalage et aller à l'état 270 + LESS décalage et aller à l'état 271 - text_src aller à l'état 176 - identifier aller à l'état 111 - lead_trail aller à l'état 177 + condition_clause aller à l'état 275 État 250 - 160 replacing_list: replacing_list text_src BY text_dst • + 115 on_with_loc: ON with_loc • - $défaut réduction par utilisation de la règle 160 (replacing_list) + $défaut réduction par utilisation de la règle 115 (on_with_loc) État 251 - 161 replacing_list: replacing_list lead_trail text_partial_src BY • text_partial_dst - - "==" décalage et aller à l'état 257 + 117 with_loc: WITH LOCATION • - text_partial_dst aller à l'état 273 + $défaut réduction par utilisation de la règle 117 (with_loc) État 252 - 164 text_dst: "==" "==" • + 158 copy_replacing: REPLACING replacing_list • + 163 replacing_list: replacing_list • text_src BY text_dst + 164 | replacing_list • lead_trail text_partial_src BY text_partial_dst + + "==" décalage et aller à l'état 108 + LEADING décalage et aller à l'état 109 + TRAILING décalage et aller à l'état 110 + "Identifier or Literal" décalage et aller à l'état 111 - $défaut réduction par utilisation de la règle 164 (text_dst) + $défaut réduction par utilisation de la règle 158 (copy_replacing) + + text_src aller à l'état 179 + identifier aller à l'état 114 + lead_trail aller à l'état 180 État 253 - 165 text_dst: "==" token_list • "==" - 171 token_list: token_list • "Identifier or Literal" + 163 replacing_list: replacing_list text_src BY text_dst • - "==" décalage et aller à l'état 274 - "Identifier or Literal" décalage et aller à l'état 225 + $défaut réduction par utilisation de la règle 163 (replacing_list) État 254 - 177 subscripts: subscripts "Identifier or Literal" • + 164 replacing_list: replacing_list lead_trail text_partial_src BY • text_partial_dst + + "==" décalage et aller à l'état 260 - $défaut réduction par utilisation de la règle 177 (subscripts) + text_partial_dst aller à l'état 276 État 255 - 175 identifier: identifier '(' subscripts ')' • + 167 text_dst: "==" "==" • - $défaut réduction par utilisation de la règle 175 (identifier) + $défaut réduction par utilisation de la règle 167 (text_dst) État 256 - 167 text_partial_src: "==" "Identifier or Literal" "==" • + 168 text_dst: "==" token_list • "==" + 174 token_list: token_list • "Identifier or Literal" - $défaut réduction par utilisation de la règle 167 (text_partial_src) + "==" décalage et aller à l'état 277 + "Identifier or Literal" décalage et aller à l'état 228 État 257 - 168 text_partial_dst: "==" • "==" - 169 | "==" • "Identifier or Literal" "==" + 180 subscripts: subscripts "Identifier or Literal" • - "==" décalage et aller à l'état 275 - "Identifier or Literal" décalage et aller à l'état 276 + $défaut réduction par utilisation de la règle 180 (subscripts) État 258 - 159 replacing_list: lead_trail text_partial_src BY text_partial_dst • + 178 identifier: identifier '(' subscripts ')' • - $défaut réduction par utilisation de la règle 159 (replacing_list) + $défaut réduction par utilisation de la règle 178 (identifier) État 259 - 82 define_directive: CONSTANT "Variable" _as "Literal" _override • + 170 text_partial_src: "==" "Identifier or Literal" "==" • - $défaut réduction par utilisation de la règle 82 (define_directive) + $défaut réduction par utilisation de la règle 170 (text_partial_src) État 260 - 139 condition_clause: ">=" • + 171 text_partial_dst: "==" • "==" + 172 | "==" • "Identifier or Literal" "==" - $défaut réduction par utilisation de la règle 139 (condition_clause) + "==" décalage et aller à l'état 278 + "Identifier or Literal" décalage et aller à l'état 279 État 261 - 141 condition_clause: "<=" • + 162 replacing_list: lead_trail text_partial_src BY text_partial_dst • - $défaut réduction par utilisation de la règle 141 (condition_clause) + $défaut réduction par utilisation de la règle 162 (replacing_list) État 262 - 142 condition_clause: "<" • + 85 define_directive: CONSTANT "Variable" _as "Literal" _override • - $défaut réduction par utilisation de la règle 142 (condition_clause) + $défaut réduction par utilisation de la règle 85 (define_directive) État 263 - 140 condition_clause: ">" • + 142 condition_clause: ">=" • - $défaut réduction par utilisation de la règle 140 (condition_clause) + $défaut réduction par utilisation de la règle 142 (condition_clause) État 264 - 143 condition_clause: "=" • + 144 condition_clause: "<=" • - $défaut réduction par utilisation de la règle 143 (condition_clause) + $défaut réduction par utilisation de la règle 144 (condition_clause) État 265 - 144 condition_clause: "<>" • + 145 condition_clause: "<" • - $défaut réduction par utilisation de la règle 144 (condition_clause) + $défaut réduction par utilisation de la règle 145 (condition_clause) État 266 - 138 condition_clause: EQUAL • _to - - TO décalage et aller à l'état 277 - - $défaut réduction par utilisation de la règle 200 (_to) + 143 condition_clause: ">" • - _to aller à l'état 278 + $défaut réduction par utilisation de la règle 143 (condition_clause) État 267 - 134 condition_clause: GREATER • _than OR EQUAL _to - 135 | GREATER • _than - - THAN décalage et aller à l'état 279 - - $défaut réduction par utilisation de la règle 198 (_than) + 146 condition_clause: "=" • - _than aller à l'état 280 + $défaut réduction par utilisation de la règle 146 (condition_clause) État 268 - 136 condition_clause: LESS • _than OR EQUAL _to - 137 | LESS • _than + 147 condition_clause: "<>" • - THAN décalage et aller à l'état 279 + $défaut réduction par utilisation de la règle 147 (condition_clause) - $défaut réduction par utilisation de la règle 198 (_than) - _than aller à l'état 281 +État 269 + 141 condition_clause: EQUAL • _to -État 269 + TO décalage et aller à l'état 280 - 123 if_directive: "Variable" _is _not SET • + $défaut réduction par utilisation de la règle 203 (_to) - $défaut réduction par utilisation de la règle 123 (if_directive) + _to aller à l'état 281 État 270 - 122 if_directive: "Variable" _is _not DEFINED • + 137 condition_clause: GREATER • _than OR EQUAL _to + 138 | GREATER • _than + + THAN décalage et aller à l'état 282 - $défaut réduction par utilisation de la règle 122 (if_directive) + $défaut réduction par utilisation de la règle 201 (_than) + + _than aller à l'état 283 État 271 - 124 if_directive: "Variable" _is _not condition_clause • object_id + 139 condition_clause: LESS • _than OR EQUAL _to + 140 | LESS • _than - "Variable" décalage et aller à l'état 282 - "Literal" décalage et aller à l'état 283 + THAN décalage et aller à l'état 282 - object_id aller à l'état 284 + $défaut réduction par utilisation de la règle 201 (_than) + _than aller à l'état 284 -État 272 - 125 if_directive: "Literal" _is _not condition_clause • object_id +État 272 - "Variable" décalage et aller à l'état 282 - "Literal" décalage et aller à l'état 283 + 126 if_directive: "Variable" _is _not SET • - object_id aller à l'état 285 + $défaut réduction par utilisation de la règle 126 (if_directive) État 273 - 161 replacing_list: replacing_list lead_trail text_partial_src BY text_partial_dst • + 125 if_directive: "Variable" _is _not DEFINED • - $défaut réduction par utilisation de la règle 161 (replacing_list) + $défaut réduction par utilisation de la règle 125 (if_directive) État 274 - 165 text_dst: "==" token_list "==" • + 127 if_directive: "Variable" _is _not condition_clause • object_id + + "Variable" décalage et aller à l'état 285 + "Literal" décalage et aller à l'état 286 - $défaut réduction par utilisation de la règle 165 (text_dst) + object_id aller à l'état 287 État 275 - 168 text_partial_dst: "==" "==" • + 128 if_directive: "Literal" _is _not condition_clause • object_id - $défaut réduction par utilisation de la règle 168 (text_partial_dst) + "Variable" décalage et aller à l'état 285 + "Literal" décalage et aller à l'état 286 + + object_id aller à l'état 288 État 276 - 169 text_partial_dst: "==" "Identifier or Literal" • "==" + 164 replacing_list: replacing_list lead_trail text_partial_src BY text_partial_dst • - "==" décalage et aller à l'état 286 + $défaut réduction par utilisation de la règle 164 (replacing_list) État 277 - 201 _to: TO • + 168 text_dst: "==" token_list "==" • - $défaut réduction par utilisation de la règle 201 (_to) + $défaut réduction par utilisation de la règle 168 (text_dst) État 278 - 138 condition_clause: EQUAL _to • + 171 text_partial_dst: "==" "==" • - $défaut réduction par utilisation de la règle 138 (condition_clause) + $défaut réduction par utilisation de la règle 171 (text_partial_dst) État 279 - 199 _than: THAN • + 172 text_partial_dst: "==" "Identifier or Literal" • "==" - $défaut réduction par utilisation de la règle 199 (_than) + "==" décalage et aller à l'état 289 État 280 - 134 condition_clause: GREATER _than • OR EQUAL _to - 135 | GREATER _than • - - OR décalage et aller à l'état 287 + 204 _to: TO • - $défaut réduction par utilisation de la règle 135 (condition_clause) + $défaut réduction par utilisation de la règle 204 (_to) État 281 - 136 condition_clause: LESS _than • OR EQUAL _to - 137 | LESS _than • + 141 condition_clause: EQUAL _to • - OR décalage et aller à l'état 288 - - $défaut réduction par utilisation de la règle 137 (condition_clause) + $défaut réduction par utilisation de la règle 141 (condition_clause) État 282 - 133 object_id: "Variable" • + 202 _than: THAN • - $défaut réduction par utilisation de la règle 133 (object_id) + $défaut réduction par utilisation de la règle 202 (_than) État 283 - 132 object_id: "Literal" • + 137 condition_clause: GREATER _than • OR EQUAL _to + 138 | GREATER _than • - $défaut réduction par utilisation de la règle 132 (object_id) + OR décalage et aller à l'état 290 + + $défaut réduction par utilisation de la règle 138 (condition_clause) État 284 - 124 if_directive: "Variable" _is _not condition_clause object_id • + 139 condition_clause: LESS _than • OR EQUAL _to + 140 | LESS _than • - $défaut réduction par utilisation de la règle 124 (if_directive) + OR décalage et aller à l'état 291 + + $défaut réduction par utilisation de la règle 140 (condition_clause) État 285 - 125 if_directive: "Literal" _is _not condition_clause object_id • + 136 object_id: "Variable" • - $défaut réduction par utilisation de la règle 125 (if_directive) + $défaut réduction par utilisation de la règle 136 (object_id) État 286 - 169 text_partial_dst: "==" "Identifier or Literal" "==" • + 135 object_id: "Literal" • - $défaut réduction par utilisation de la règle 169 (text_partial_dst) + $défaut réduction par utilisation de la règle 135 (object_id) État 287 - 134 condition_clause: GREATER _than OR • EQUAL _to + 127 if_directive: "Variable" _is _not condition_clause object_id • - EQUAL décalage et aller à l'état 289 + $défaut réduction par utilisation de la règle 127 (if_directive) État 288 - 136 condition_clause: LESS _than OR • EQUAL _to + 128 if_directive: "Literal" _is _not condition_clause object_id • - EQUAL décalage et aller à l'état 290 + $défaut réduction par utilisation de la règle 128 (if_directive) État 289 - 134 condition_clause: GREATER _than OR EQUAL • _to + 172 text_partial_dst: "==" "Identifier or Literal" "==" • - TO décalage et aller à l'état 277 + $défaut réduction par utilisation de la règle 172 (text_partial_dst) - $défaut réduction par utilisation de la règle 200 (_to) - _to aller à l'état 291 +État 290 + 137 condition_clause: GREATER _than OR • EQUAL _to + + EQUAL décalage et aller à l'état 292 -État 290 - 136 condition_clause: LESS _than OR EQUAL • _to +État 291 - TO décalage et aller à l'état 277 + 139 condition_clause: LESS _than OR • EQUAL _to - $défaut réduction par utilisation de la règle 200 (_to) + EQUAL décalage et aller à l'état 293 - _to aller à l'état 292 +État 292 -État 291 + 137 condition_clause: GREATER _than OR EQUAL • _to - 134 condition_clause: GREATER _than OR EQUAL _to • + TO décalage et aller à l'état 280 - $défaut réduction par utilisation de la règle 134 (condition_clause) + $défaut réduction par utilisation de la règle 203 (_to) + _to aller à l'état 294 -État 292 - 136 condition_clause: LESS _than OR EQUAL _to • +État 293 + + 139 condition_clause: LESS _than OR EQUAL • _to + + TO décalage et aller à l'état 280 - $défaut réduction par utilisation de la règle 136 (condition_clause) + $défaut réduction par utilisation de la règle 203 (_to) + + _to aller à l'état 295 + + +État 294 + + 137 condition_clause: GREATER _than OR EQUAL _to • + + $défaut réduction par utilisation de la règle 137 (condition_clause) + + +État 295 + + 139 condition_clause: LESS _than OR EQUAL _to • + + $défaut réduction par utilisation de la règle 139 (condition_clause) diff --git a/cobc/ppparse.y b/cobc/ppparse.y index ac1359a68..b1d1bafab 100644 --- a/cobc/ppparse.y +++ b/cobc/ppparse.y @@ -625,6 +625,7 @@ ppparse_clear_vars (const struct cb_define_struct *p) %token BOUND %token CALLFH %token XFD +%token CHECKNUM %token COMP1 %token CONSTANT %token DPC_IN_DATA "DPC-IN-DATA" @@ -633,9 +634,11 @@ ppparse_clear_vars (const struct cb_define_struct *p) %token NOKEYCOMPRESS %token MAKESYN %token NOBOUND +%token NOCHECKNUM %token NODPC_IN_DATA "NODPC-IN-DATA" %token NOFOLDCOPYNAME %token NOODOSLIDE +%token NOSPZERO %token NOSSRANGE /* OVERRIDE token defined above. */ %token ODOSLIDE @@ -866,6 +869,11 @@ set_choice: p[strlen (p) - 1] = '\0'; fprintf (ppout, "#XFD \"%s\"\n", p); } +| CHECKNUM + { + /* Enable EC-DATA-INCOMPATIBLE checking */ + append_to_turn_list (ppp_list_add (NULL, "EC-DATA-INCOMPATIBLE"), 1, 0); + } | COMP1 LITERAL { char *p = $2; @@ -945,6 +953,11 @@ set_choice: /* Disable EC-BOUND-SUBSCRIPT checking */ append_to_turn_list (ppp_list_add (NULL, "EC-BOUND-SUBSCRIPT"), 0, 0); } +| NOCHECKNUM + { + /* Disable EC-DATA-INCOMPATIBLE checking */ + append_to_turn_list (ppp_list_add (NULL, "EC-DATA-INCOMPATIBLE"), 0, 0); + } | NODPC_IN_DATA { cb_dpc_in_data = CB_DPC_IN_NONE; @@ -953,6 +966,11 @@ set_choice: { cb_fold_copy = 0; } +| NOSPZERO + { + CB_PENDING ("SPZERO"); + /* TODO: cb_space_is_zero = 0; */ + } | NOSSRANGE { /* Disable EC-BOUND-SUBSCRIPT and -REF-MOD checking */