state 0 $accept : _goal $end YPROG shift 3 . error state 1 $accept : goal_$end $end accept . error state 2 goal : prog_hedr_decls procs block . . reduce 7 state 3 prog_hedr : YPROG_YID ( id_list ) ; prog_hedr : YPROG_error error shift 6 YID shift 5 . error state 4 goal : prog_hedr decls_procs block . decls : decls_decl decls : decls_error error shift 9 YBEGIN reduce 27 YCONST shift 15 YFUNCTION reduce 27 YLABEL shift 14 YPROCEDURE reduce 27 YTYPE shift 16 YVAR shift 17 . error state 5 prog_hedr : YPROG YID_( id_list ) ; ( shift 18 . error state 6 prog_hedr : YPROG error_ . reduce 3 state 7 goal : prog_hedr decls procs_block . procs : procs_proc YBEGIN shift 21 YFUNCTION shift 26 YPROCEDURE shift 25 . error state 8 decls : decls decl_ . reduce 5 state 9 decls : decls error_ . reduce 6 state 10 decl : labels_ . reduce 8 11: shift/reduce conflict (shift 28, red'n 9) on error state 11 decl : const_decl_ const_decl : const_decl_YID = const ; const_decl : const_decl_error error shift 28 YBEGIN reduce 9 YCONST reduce 9 YFUNCTION reduce 9 YID shift 27 YLABEL reduce 9 YPROCEDURE reduce 9 YTYPE reduce 9 YVAR reduce 9 . error 12: shift/reduce conflict (shift 30, red'n 10) on error state 12 decl : type_decl_ type_decl : type_decl_YID = type ; type_decl : type_decl_error error shift 30 YBEGIN reduce 10 YCONST reduce 10 YFUNCTION reduce 10 YID shift 29 YLABEL reduce 10 YPROCEDURE reduce 10 YTYPE reduce 10 YVAR reduce 10 . error 13: shift/reduce conflict (shift 32, red'n 11) on error state 13 decl : var_decl_ var_decl : var_decl_id_list : type ; var_decl : var_decl_error error shift 32 YBEGIN reduce 11 YCONST reduce 11 YFUNCTION reduce 11 YID shift 33 YLABEL reduce 11 YPROCEDURE reduce 11 YTYPE reduce 11 YVAR reduce 11 . error state 14 labels : YLABEL_label_decl ; YINT shift 35 . error state 15 const_decl : YCONST_YID = const ; const_decl : YCONST_error error shift 37 YID shift 36 . error state 16 type_decl : YTYPE_YID = type ; type_decl : YTYPE_error error shift 39 YID shift 38 . error state 17 var_decl : YVAR_id_list : type ; var_decl : YVAR_error error shift 41 YID shift 33 . error state 18 prog_hedr : YPROG YID (_id_list ) ; YID shift 33 . error state 19 goal : prog_hedr decls procs block_. . shift 43 . error state 20 procs : procs proc_ . reduce 28 state 21 block : YBEGIN_stat_list YEND error shift 60 YBEGIN shift 51 YCASE shift 52 YEND reduce 93 YFOR shift 56 YGOTO shift 57 YID shift 49 YIF shift 58 YINT shift 47 YREPEAT shift 55 YWHILE shift 54 YWITH shift 53 YASSERT shift 59 ; reduce 93 . error state 22 proc : phead_YFORWARD ; pheadres : phead_ YFORWARD shift 66 . reduce 31 state 23 proc : pheadres_decls procs block ; same as 2 state 24 phead : porf_YID params ftype ; YID shift 68 . error state 25 porf : YPROCEDURE_ . reduce 33 state 26 porf : YFUNCTION_ . reduce 34 state 27 const_decl : const_decl YID_= const ; = shift 69 . error state 28 const_decl : const_decl error_ . reduce 18 state 29 type_decl : type_decl YID_= type ; = shift 70 . error state 30 type_decl : type_decl error_ . reduce 22 state 31 var_decl : var_decl id_list_: type ; id_list : id_list_, YID , shift 72 : shift 71 . error state 32 var_decl : var_decl error_ . reduce 26 state 33 id_list : YID_ . reduce 175 state 34 labels : YLABEL label_decl_; label_decl : label_decl_, YINT ; shift 73 , shift 74 . error state 35 label_decl : YINT_ . reduce 13 state 36 const_decl : YCONST YID_= const ; = shift 75 . error state 37 const_decl : YCONST error_ . reduce 17 state 38 type_decl : YTYPE YID_= type ; = shift 76 . error state 39 type_decl : YTYPE error_ . reduce 21 state 40 var_decl : YVAR id_list_: type ; id_list : id_list_, YID , shift 72 : shift 77 . error state 41 var_decl : YVAR error_ . reduce 25 state 42 prog_hedr : YPROG YID ( id_list_) ; id_list : id_list_, YID ) shift 78 , shift 72 . error state 43 goal : prog_hedr decls procs block ._ . reduce 1 state 44 block : YBEGIN stat_list_YEND stat_lsth : stat_list_; YEND shift 79 ; shift 80 . error state 45 stat_list : stat_ . reduce 83 state 46 stat_list : stat_lsth_stat error shift 60 YBEGIN shift 51 YCASE shift 52 YEND reduce 93 YFOR shift 56 YGOTO shift 57 YID shift 49 YIF shift 58 YINT shift 47 YREPEAT shift 55 YUNTIL reduce 93 YWHILE shift 54 YWITH shift 53 YASSERT shift 59 ; reduce 93 . error state 47 stat : YINT_: stat : shift 82 . error state 48 stat : proc_id_ stat : proc_id_( wexpr_list ) ( shift 83 . reduce 95 49: shift/reduce conflict (shift 84, red'n 184) on error state 49 stat : YID_error variable : YID_ array_id : YID_ ptr_id : YID_ record_id : YID_ proc_id : YID_ error shift 84 YELSE reduce 184 YEND reduce 184 YUNTIL reduce 184 . reduce 182 ( reduce 184 ; reduce 184 : reduce 135 ^ reduce 181 [ reduce 180 . error state 50 stat : assign_ . reduce 98 state 51 stat : YBEGIN_stat_list YEND same as 21 state 52 stat : YCASE_expr YOF cstat_list YEND error shift 87 YID shift 96 YINT shift 92 YNOT shift 101 YNUMB shift 94 YNIL shift 90 YSTRING shift 91 YBINT shift 93 + shift 88 - shift 89 ( shift 98 [ shift 100 ~ shift 102 . error state 53 stat : YWITH_var_list YDO stat YID shift 105 . error state 54 stat : YWHILE_expr YDO stat same as 52 state 55 stat : YREPEAT_stat_list YUNTIL expr same as 21 state 56 stat : YFOR_assign YTO expr YDO stat stat : YFOR_assign YDOWNTO expr YDO stat YID shift 105 . error state 57 stat : YGOTO_YINT YINT shift 109 . error state 58 stat : YIF_expr YTHEN stat stat : YIF_expr YTHEN stat YELSE stat stat : YIF_expr YTHEN stat YELSE same as 52 state 59 stat : YASSERT_( expr ) ( shift 111 . error state 60 stat : error_ . reduce 111 state 61 assign : variable_: = expr : shift 112 . error state 62 variable : qual_var_ qual_var : qual_var_[ expr_list ] qual_var : qual_var_. field_id qual_var : qual_var_^ . shift 114 ^ shift 115 [ shift 113 . reduce 136 state 63 qual_var : array_id_[ expr_list ] [ shift 116 . error state 64 qual_var : record_id_. field_id . shift 117 . error state 65 qual_var : ptr_id_^ ^ shift 118 . error state 66 proc : phead YFORWARD_; ; shift 119 . error state 67 decls : decls_decl decls : decls_error proc : pheadres decls_procs block ; error shift 9 YBEGIN reduce 27 YCONST shift 15 YFUNCTION reduce 27 YLABEL shift 14 YPROCEDURE reduce 27 YTYPE shift 16 YVAR shift 17 . error state 68 phead : porf YID_params ftype ; ( shift 122 . reduce 36 state 69 const_decl : const_decl YID =_const ; YID shift 132 YINT shift 129 YNUMB shift 131 YSTRING shift 124 YBINT shift 130 + shift 126 - shift 127 . error state 70 type_decl : type_decl YID =_type ; YARRAY shift 141 YFILE shift 142 YID shift 145 YINT shift 129 YNUMB shift 131 YPACKED shift 137 YRECORD shift 144 YSET shift 143 YSTRING shift 124 YBINT shift 130 + shift 126 - shift 127 ( shift 139 ^ shift 135 . error state 71 var_decl : var_decl id_list :_type ; same as 70 state 72 id_list : id_list ,_YID YID shift 147 . error state 73 labels : YLABEL label_decl ;_ . reduce 12 state 74 label_decl : label_decl ,_YINT YINT shift 148 . error state 75 const_decl : YCONST YID =_const ; same as 69 state 76 type_decl : YTYPE YID =_type ; same as 70 state 77 var_decl : YVAR id_list :_type ; same as 70 state 78 prog_hedr : YPROG YID ( id_list )_; ; shift 152 . error state 79 block : YBEGIN stat_list YEND_ . reduce 4 state 80 stat_lsth : stat_list ;_ . reduce 85 state 81 stat_list : stat_lsth stat_ . reduce 84 82: shift/reduce conflict (shift 60, red'n 93) on error state 82 stat : YINT :_stat same as 46 state 83 stat : proc_id (_wexpr_list ) error shift 87 YID shift 96 YINT shift 92 YNOT shift 101 YNUMB shift 94 YNIL shift 90 YSTRING shift 91 YBINT shift 93 + shift 88 - shift 89 ( shift 98 [ shift 100 ~ shift 102 . error state 84 stat : YID error_ . reduce 97 state 85 stat_lsth : stat_list_; stat : YBEGIN stat_list_YEND YEND shift 157 ; shift 80 . error state 86 stat : YCASE expr_YOF cstat_list YEND expr : expr_relop expr expr : expr_addop expr expr : expr_divop expr YAND shift 174 YDIV shift 172 YIN shift 165 YMOD shift 173 YOF shift 158 YOR shift 168 < shift 163 = shift 162 > shift 164 + shift 166 - shift 167 | shift 169 * shift 170 / shift 171 & shift 175 . error state 87 expr : error_ . reduce 113 state 88 expr : +_expr same as 52 state 89 expr : -_expr same as 52 state 90 expr : YNIL_ . reduce 119 state 91 expr : YSTRING_ . reduce 120 state 92 expr : YINT_ . reduce 121 state 93 expr : YBINT_ . reduce 122 state 94 expr : YNUMB_ . reduce 123 state 95 expr : variable_ . reduce 124 96: shift/reduce conflict (shift 178, red'n 135) on error state 96 expr : YID_error variable : YID_ array_id : YID_ ptr_id : YID_ record_id : YID_ func_id : YID_ error shift 178 YAND reduce 135 YDIV reduce 135 YDO reduce 135 YDOTDOT reduce 135 YTO reduce 135 YELSE reduce 135 YEND reduce 135 YIN reduce 135 YMOD reduce 135 YOF reduce 135 YOR reduce 135 YTHEN reduce 135 YDOWNTO reduce 135 YUNTIL reduce 135 YOCT reduce 135 YHEX reduce 135 < reduce 135 = reduce 135 > reduce 135 + reduce 135 - reduce 135 | reduce 135 * reduce 135 / reduce 135 & reduce 135 . reduce 182 ( reduce 185 ) reduce 135 ; reduce 135 , reduce 135 : reduce 135 ^ reduce 181 [ reduce 180 ] reduce 135 . error state 97 expr : func_id_( wexpr_list ) ( shift 179 . error state 98 expr : (_expr ) same as 52 state 99 expr : negop_expr same as 52 state 100 expr : [_element_list ] expr : [_] error shift 87 YID shift 96 YINT shift 92 YNOT shift 101 YNUMB shift 94 YNIL shift 90 YSTRING shift 91 YBINT shift 93 + shift 88 - shift 89 ( shift 98 [ shift 100 ] shift 183 ~ shift 102 . error state 101 negop : YNOT_ . reduce 171 state 102 negop : ~_ . reduce 172 state 103 stat : YWITH var_list_YDO stat var_list : var_list_, variable YDO shift 186 , shift 187 . error state 104 var_list : variable_ . reduce 173 state 105 variable : YID_ array_id : YID_ ptr_id : YID_ record_id : YID_ . reduce 182 ^ reduce 181 [ reduce 180 . reduce 135 state 106 stat : YWHILE expr_YDO stat expr : expr_relop expr expr : expr_addop expr expr : expr_divop expr YAND shift 174 YDIV shift 172 YDO shift 188 YIN shift 165 YMOD shift 173 YOR shift 168 < shift 163 = shift 162 > shift 164 + shift 166 - shift 167 | shift 169 * shift 170 / shift 171 & shift 175 . error state 107 stat_lsth : stat_list_; stat : YREPEAT stat_list_YUNTIL expr YUNTIL shift 189 ; shift 80 . error state 108 stat : YFOR assign_YTO expr YDO stat stat : YFOR assign_YDOWNTO expr YDO stat YTO shift 190 YDOWNTO shift 191 . error state 109 stat : YGOTO YINT_ . reduce 106 state 110 stat : YIF expr_YTHEN stat stat : YIF expr_YTHEN stat YELSE stat stat : YIF expr_YTHEN stat YELSE expr : expr_relop expr expr : expr_addop expr expr : expr_divop expr YAND shift 174 YDIV shift 172 YIN shift 165 YMOD shift 173 YOR shift 168 YTHEN shift 192 < shift 163 = shift 162 > shift 164 + shift 166 - shift 167 | shift 169 * shift 170 / shift 171 & shift 175 . error state 111 stat : YASSERT (_expr ) same as 52 state 112 assign : variable :_= expr = shift 194 . error state 113 qual_var : qual_var [_expr_list ] error shift 87 YID shift 96 YINT shift 92 YNOT shift 101 YNUMB shift 94 YNIL shift 90 YSTRING shift 91 YBINT shift 93 + shift 88 - shift 89 ( shift 98 [ shift 100 ~ shift 102 . error state 114 qual_var : qual_var ._field_id YID shift 198 . error state 115 qual_var : qual_var ^_ . reduce 142 state 116 qual_var : array_id [_expr_list ] same as 113 state 117 qual_var : record_id ._field_id same as 114 state 118 qual_var : ptr_id ^_ . reduce 141 state 119 proc : phead YFORWARD ;_ . reduce 29 state 120 procs : procs_proc proc : pheadres decls procs_block ; YBEGIN shift 21 YFUNCTION shift 26 YPROCEDURE shift 25 . error state 121 phead : porf YID params_ftype ; : shift 203 . reduce 42 state 122 params : (_param_list ) YFUNCTION shift 208 YID shift 33 YPROCEDURE shift 209 YVAR shift 207 . error state 123 const_decl : const_decl YID = const_; ; shift 210 . error state 124 const : YSTRING_ . reduce 45 state 125 const : number_ . reduce 46 state 126 const : +_number YID shift 132 YINT shift 129 YNUMB shift 131 YBINT shift 130 . error state 127 const : -_number same as 126 state 128 number : const_id_ . reduce 49 state 129 number : YINT_ . reduce 50 state 130 number : YBINT_ . reduce 51 state 131 number : YNUMB_ . reduce 52 state 132 const_id : YID_ . reduce 177 state 133 type_decl : type_decl YID = type_; ; shift 213 . error state 134 type : simple_type_ . reduce 55 state 135 type : ^_YID YID shift 214 . error state 136 type : struct_type_ . reduce 57 state 137 type : YPACKED_struct_type YARRAY shift 141 YFILE shift 142 YRECORD shift 144 YSET shift 143 . error state 138 simple_type : type_id_ . reduce 59 state 139 simple_type : (_id_list ) same as 18 state 140 simple_type : const_YDOTDOT const YDOTDOT shift 217 . error state 141 struct_type : YARRAY_[ simple_type_list ] YOF type [ shift 218 . error state 142 struct_type : YFILE_YOF type YOF shift 219 . error state 143 struct_type : YSET_YOF simple_type YOF shift 220 . error state 144 struct_type : YRECORD_field_list YEND YID shift 33 . reduce 72 state 145 const_id : YID_ type_id : YID_ YDOTDOT reduce 177 . reduce 178 state 146 var_decl : var_decl id_list : type_; ; shift 225 . error state 147 id_list : id_list , YID_ . reduce 176 state 148 label_decl : label_decl , YINT_ . reduce 14 state 149 const_decl : YCONST YID = const_; ; shift 226 . error state 150 type_decl : YTYPE YID = type_; ; shift 227 . error state 151 var_decl : YVAR id_list : type_; ; shift 228 . error state 152 prog_hedr : YPROG YID ( id_list ) ;_ . reduce 2 state 153 stat : YINT : stat_ . reduce 94 state 154 stat : proc_id ( wexpr_list_) wexpr_list : wexpr_list_, wexpr ) shift 229 , shift 230 . error state 155 wexpr_list : wexpr_ . reduce 152 state 156 expr : expr_relop expr expr : expr_addop expr expr : expr_divop expr wexpr : expr_ wexpr : expr_: expr wexpr : expr_: expr : expr wexpr : expr_octhex wexpr : expr_: expr octhex YAND shift 174 YDIV shift 172 YIN shift 165 YMOD shift 173 YOR shift 168 YOCT shift 233 YHEX shift 234 < shift 163 = shift 162 > shift 164 + shift 166 - shift 167 | shift 169 * shift 170 / shift 171 & shift 175 : shift 231 . reduce 143 state 157 stat : YBEGIN stat_list YEND_ . reduce 99 158: shift/reduce conflict (shift 237, red'n 92) on error state 158 stat : YCASE expr YOF_cstat_list YEND error shift 237 YEND reduce 92 YID shift 132 YINT shift 129 YNUMB shift 131 YSTRING shift 124 YBINT shift 130 YCASELAB shift 239 + shift 126 - shift 127 ; reduce 92 . error state 159 expr : expr relop_expr same as 52 state 160 expr : expr addop_expr same as 52 state 161 expr : expr divop_expr same as 52 state 162 relop : =_ . reduce 154 state 163 relop : <_ relop : <_> relop : <_= = shift 245 > shift 244 . reduce 155 state 164 relop : >_ relop : >_= = shift 246 . reduce 156 state 165 relop : YIN_ . reduce 160 state 166 addop : +_ . reduce 161 state 167 addop : -_ . reduce 162 state 168 addop : YOR_ . reduce 163 state 169 addop : |_ . reduce 164 state 170 divop : *_ . reduce 165 state 171 divop : /_ . reduce 166 state 172 divop : YDIV_ . reduce 167 state 173 divop : YMOD_ . reduce 168 state 174 divop : YAND_ . reduce 169 state 175 divop : &_ . reduce 170 state 176 expr : expr_relop expr expr : + expr_ expr : expr_addop expr expr : expr_divop expr YAND shift 174 YDIV shift 172 YMOD shift 173 * shift 170 / shift 171 & shift 175 . reduce 115 state 177 expr : expr_relop expr expr : - expr_ expr : expr_addop expr expr : expr_divop expr YAND shift 174 YDIV shift 172 YMOD shift 173 * shift 170 / shift 171 & shift 175 . reduce 116 state 178 expr : YID error_ . reduce 125 state 179 expr : func_id (_wexpr_list ) same as 83 state 180 expr : expr_relop expr expr : expr_addop expr expr : expr_divop expr expr : ( expr_) YAND shift 174 YDIV shift 172 YIN shift 165 YMOD shift 173 YOR shift 168 < shift 163 = shift 162 > shift 164 + shift 166 - shift 167 | shift 169 * shift 170 / shift 171 & shift 175 ) shift 248 . error state 181 expr : expr_relop expr expr : expr_addop expr expr : expr_divop expr expr : negop expr_ . reduce 128 state 182 expr : [ element_list_] element_list : element_list_, element , shift 250 ] shift 249 . error state 183 expr : [ ]_ . reduce 130 state 184 element_list : element_ . reduce 131 state 185 expr : expr_relop expr expr : expr_addop expr expr : expr_divop expr element : expr_ element : expr_YDOTDOT expr YAND shift 174 YDIV shift 172 YDOTDOT shift 251 YIN shift 165 YMOD shift 173 YOR shift 168 < shift 163 = shift 162 > shift 164 + shift 166 - shift 167 | shift 169 * shift 170 / shift 171 & shift 175 . reduce 133 186: shift/reduce conflict (shift 60, red'n 93) on error state 186 stat : YWITH var_list YDO_stat same as 46 state 187 var_list : var_list ,_variable YID shift 105 . error 188: shift/reduce conflict (shift 60, red'n 93) on error state 188 stat : YWHILE expr YDO_stat same as 46 state 189 stat : YREPEAT stat_list YUNTIL_expr same as 52 state 190 stat : YFOR assign YTO_expr YDO stat same as 52 state 191 stat : YFOR assign YDOWNTO_expr YDO stat same as 52 192: shift/reduce conflict (shift 60, red'n 93) on error state 192 stat : YIF expr YTHEN_stat stat : YIF expr YTHEN_stat YELSE stat stat : YIF expr YTHEN_stat YELSE same as 46 state 193 stat : YASSERT ( expr_) expr : expr_relop expr expr : expr_addop expr expr : expr_divop expr YAND shift 174 YDIV shift 172 YIN shift 165 YMOD shift 173 YOR shift 168 < shift 163 = shift 162 > shift 164 + shift 166 - shift 167 | shift 169 * shift 170 / shift 171 & shift 175 ) shift 259 . error state 194 assign : variable : =_expr same as 52 state 195 qual_var : qual_var [ expr_list_] expr_list : expr_list_, expr , shift 262 ] shift 261 . error state 196 expr : expr_relop expr expr : expr_addop expr expr : expr_divop expr expr_list : expr_ YAND shift 174 YDIV shift 172 YIN shift 165 YMOD shift 173 YOR shift 168 < shift 163 = shift 162 > shift 164 + shift 166 - shift 167 | shift 169 * shift 170 / shift 171 & shift 175 . reduce 150 state 197 qual_var : qual_var . field_id_ . reduce 140 state 198 field_id : YID_ . reduce 183 state 199 qual_var : array_id [ expr_list_] expr_list : expr_list_, expr , shift 262 ] shift 263 . error state 200 qual_var : record_id . field_id_ . reduce 139 state 201 proc : pheadres decls procs block_; ; shift 264 . error state 202 phead : porf YID params ftype_; ; shift 265 . error state 203 ftype : :_type same as 70 state 204 params : ( param_list_) param_list : param_list_; param ) shift 267 ; shift 268 . error state 205 param_list : param_ . reduce 43 state 206 param : id_list_: type id_list : id_list_, YID , shift 72 : shift 269 . error state 207 param : YVAR_id_list : type same as 18 state 208 param : YFUNCTION_id_list : type same as 18 state 209 param : YPROCEDURE_id_list same as 18 state 210 const_decl : const_decl YID = const ;_ . reduce 16 state 211 const : + number_ . reduce 47 state 212 const : - number_ . reduce 48 state 213 type_decl : type_decl YID = type ;_ . reduce 20 state 214 type : ^ YID_ . reduce 56 state 215 type : YPACKED struct_type_ . reduce 58 state 216 simple_type : ( id_list_) id_list : id_list_, YID ) shift 273 , shift 72 . error state 217 simple_type : const YDOTDOT_const same as 69 state 218 struct_type : YARRAY [_simple_type_list ] YOF type YID shift 145 YINT shift 129 YNUMB shift 131 YSTRING shift 124 YBINT shift 130 + shift 126 - shift 127 ( shift 139 . error state 219 struct_type : YFILE YOF_type same as 70 state 220 struct_type : YSET YOF_simple_type YID shift 145 YINT shift 129 YNUMB shift 131 YSTRING shift 124 YBINT shift 130 + shift 126 - shift 127 ( shift 139 . error state 221 struct_type : YRECORD field_list_YEND YEND shift 279 . error state 222 field_list : fixed_part_variant_part fixed_part : fixed_part_; field fixed_part : fixed_part_error error shift 282 YCASE shift 283 YEND reduce 74 ) reduce 74 ; shift 281 . error state 223 fixed_part : field_ . reduce 69 state 224 field : id_list_: type id_list : id_list_, YID , shift 72 : shift 284 . error state 225 var_decl : var_decl id_list : type ;_ . reduce 24 state 226 const_decl : YCONST YID = const ;_ . reduce 15 state 227 type_decl : YTYPE YID = type ;_ . reduce 19 state 228 var_decl : YVAR id_list : type ;_ . reduce 23 state 229 stat : proc_id ( wexpr_list )_ . reduce 96 state 230 wexpr_list : wexpr_list ,_wexpr error shift 87 YID shift 96 YINT shift 92 YNOT shift 101 YNUMB shift 94 YNIL shift 90 YSTRING shift 91 YBINT shift 93 + shift 88 - shift 89 ( shift 98 [ shift 100 ~ shift 102 . error state 231 wexpr : expr :_expr wexpr : expr :_expr : expr wexpr : expr :_expr octhex same as 52 state 232 wexpr : expr octhex_ . reduce 146 state 233 octhex : YOCT_ . reduce 148 state 234 octhex : YHEX_ . reduce 149 state 235 cstat_list : cstat_list_; cstat cstat_list : cstat_list_error stat : YCASE expr YOF cstat_list_YEND error shift 288 YEND shift 289 ; shift 287 . error state 236 cstat_list : cstat_ . reduce 86 state 237 cstat_list : error_ . reduce 88 state 238 const_list : const_list_, const cstat : const_list_: stat , shift 290 : shift 291 . error 239: shift/reduce conflict (shift 60, red'n 93) on error state 239 cstat : YCASELAB_stat same as 46 state 240 const_list : const_ . reduce 53 state 241 expr : expr_relop expr expr : expr relop expr_ expr : expr_addop expr expr : expr_divop expr YAND shift 174 YDIV shift 172 YIN error YMOD shift 173 YOR shift 168 < error = error > error + shift 166 - shift 167 | shift 169 * shift 170 / shift 171 & shift 175 . reduce 114 state 242 expr : expr_relop expr expr : expr_addop expr expr : expr addop expr_ expr : expr_divop expr YAND shift 174 YDIV shift 172 YMOD shift 173 * shift 170 / shift 171 & shift 175 . reduce 117 state 243 expr : expr_relop expr expr : expr_addop expr expr : expr_divop expr expr : expr divop expr_ . reduce 118 state 244 relop : < >_ . reduce 157 state 245 relop : < =_ . reduce 158 state 246 relop : > =_ . reduce 159 state 247 expr : func_id ( wexpr_list_) wexpr_list : wexpr_list_, wexpr ) shift 293 , shift 230 . error state 248 expr : ( expr )_ . reduce 127 state 249 expr : [ element_list ]_ . reduce 129 state 250 element_list : element_list ,_element error shift 87 YID shift 96 YINT shift 92 YNOT shift 101 YNUMB shift 94 YNIL shift 90 YSTRING shift 91 YBINT shift 93 + shift 88 - shift 89 ( shift 98 [ shift 100 ~ shift 102 . error state 251 element : expr YDOTDOT_expr same as 52 state 252 stat : YWITH var_list YDO stat_ . reduce 101 state 253 var_list : var_list , variable_ . reduce 174 state 254 stat : YWHILE expr YDO stat_ . reduce 102 state 255 stat : YREPEAT stat_list YUNTIL expr_ expr : expr_relop expr expr : expr_addop expr expr : expr_divop expr YAND shift 174 YDIV shift 172 YIN shift 165 YMOD shift 173 YOR shift 168 < shift 163 = shift 162 > shift 164 + shift 166 - shift 167 | shift 169 * shift 170 / shift 171 & shift 175 . reduce 103 state 256 stat : YFOR assign YTO expr_YDO stat expr : expr_relop expr expr : expr_addop expr expr : expr_divop expr YAND shift 174 YDIV shift 172 YDO shift 296 YIN shift 165 YMOD shift 173 YOR shift 168 < shift 163 = shift 162 > shift 164 + shift 166 - shift 167 | shift 169 * shift 170 / shift 171 & shift 175 . error state 257 stat : YFOR assign YDOWNTO expr_YDO stat expr : expr_relop expr expr : expr_addop expr expr : expr_divop expr YAND shift 174 YDIV shift 172 YDO shift 297 YIN shift 165 YMOD shift 173 YOR shift 168 < shift 163 = shift 162 > shift 164 + shift 166 - shift 167 | shift 169 * shift 170 / shift 171 & shift 175 . error 258: shift/reduce conflict (shift 298, red'n 107) on YELSE state 258 stat : YIF expr YTHEN stat_ stat : YIF expr YTHEN stat_YELSE stat stat : YIF expr YTHEN stat_YELSE YELSE shift 298 . reduce 107 state 259 stat : YASSERT ( expr )_ . reduce 110 state 260 assign : variable : = expr_ expr : expr_relop expr expr : expr_addop expr expr : expr_divop expr YAND shift 174 YDIV shift 172 YIN shift 165 YMOD shift 173 YOR shift 168 < shift 163 = shift 162 > shift 164 + shift 166 - shift 167 | shift 169 * shift 170 / shift 171 & shift 175 . reduce 112 state 261 qual_var : qual_var [ expr_list ]_ . reduce 138 state 262 expr_list : expr_list ,_expr same as 52 state 263 qual_var : array_id [ expr_list ]_ . reduce 137 state 264 proc : pheadres decls procs block ;_ . reduce 30 state 265 phead : porf YID params ftype ;_ . reduce 32 state 266 ftype : : type_ . reduce 41 state 267 params : ( param_list )_ . reduce 35 state 268 param_list : param_list ;_param YFUNCTION shift 208 YID shift 33 YPROCEDURE shift 209 YVAR shift 207 . error state 269 param : id_list :_type same as 70 state 270 param : YVAR id_list_: type id_list : id_list_, YID , shift 72 : shift 302 . error state 271 param : YFUNCTION id_list_: type id_list : id_list_, YID , shift 72 : shift 303 . error state 272 param : YPROCEDURE id_list_ id_list : id_list_, YID , shift 72 . reduce 40 state 273 simple_type : ( id_list )_ . reduce 60 state 274 simple_type : const YDOTDOT const_ . reduce 61 state 275 struct_type : YARRAY [ simple_type_list_] YOF type simple_type_list : simple_type_list_, simple_type , shift 305 ] shift 304 . error state 276 simple_type_list : simple_type_ . reduce 66 state 277 struct_type : YFILE YOF type_ . reduce 63 state 278 struct_type : YSET YOF simple_type_ . reduce 64 state 279 struct_type : YRECORD field_list YEND_ . reduce 65 state 280 field_list : fixed_part variant_part_ . reduce 68 state 281 fixed_part : fixed_part ;_field YID shift 33 . reduce 72 state 282 fixed_part : fixed_part error_ . reduce 71 state 283 variant_part : YCASE_type_id YOF variant_list variant_part : YCASE_YID : type_id YOF variant_list YID shift 308 . error state 284 field : id_list :_type same as 70 state 285 wexpr_list : wexpr_list , wexpr_ . reduce 153 state 286 expr : expr_relop expr expr : expr_addop expr expr : expr_divop expr wexpr : expr : expr_ wexpr : expr : expr_: expr wexpr : expr : expr_octhex YAND shift 174 YDIV shift 172 YIN shift 165 YMOD shift 173 YOR shift 168 YOCT shift 233 YHEX shift 234 < shift 163 = shift 162 > shift 164 + shift 166 - shift 167 | shift 169 * shift 170 / shift 171 & shift 175 : shift 310 . reduce 144 state 287 cstat_list : cstat_list ;_cstat YID shift 132 YINT shift 129 YNUMB shift 131 YSTRING shift 124 YBINT shift 130 YCASELAB shift 239 + shift 126 - shift 127 . reduce 92 state 288 cstat_list : cstat_list error_ . reduce 89 state 289 stat : YCASE expr YOF cstat_list YEND_ . reduce 100 state 290 const_list : const_list ,_const same as 69 291: shift/reduce conflict (shift 60, red'n 93) on error state 291 cstat : const_list :_stat same as 46 state 292 cstat : YCASELAB stat_ . reduce 91 state 293 expr : func_id ( wexpr_list )_ . reduce 126 state 294 element_list : element_list , element_ . reduce 132 state 295 expr : expr_relop expr expr : expr_addop expr expr : expr_divop expr element : expr YDOTDOT expr_ YAND shift 174 YDIV shift 172 YIN shift 165 YMOD shift 173 YOR shift 168 < shift 163 = shift 162 > shift 164 + shift 166 - shift 167 | shift 169 * shift 170 / shift 171 & shift 175 . reduce 134 296: shift/reduce conflict (shift 60, red'n 93) on error state 296 stat : YFOR assign YTO expr YDO_stat same as 46 297: shift/reduce conflict (shift 60, red'n 93) on error state 297 stat : YFOR assign YDOWNTO expr YDO_stat same as 46 298: shift/reduce conflict (shift 60, red'n 109) on error 298: shift/reduce conflict (shift 60, red'n 93) on error 298: reduce/reduce conflict (red'ns 109 and 93 ) on YELSE 298: reduce/reduce conflict (red'ns 109 and 93 ) on YEND 298: reduce/reduce conflict (red'ns 109 and 93 ) on YUNTIL 298: reduce/reduce conflict (red'ns 109 and 93 ) on ; state 298 stat : YIF expr YTHEN stat YELSE_stat stat : YIF expr YTHEN stat YELSE_ error shift 60 YBEGIN shift 51 YCASE shift 52 YELSE reduce 93 YEND reduce 93 YFOR shift 56 YGOTO shift 57 YID shift 49 YIF shift 58 YINT shift 47 YREPEAT shift 55 YUNTIL reduce 93 YWHILE shift 54 YWITH shift 53 YASSERT shift 59 ; reduce 93 . error state 299 expr : expr_relop expr expr : expr_addop expr expr : expr_divop expr expr_list : expr_list , expr_ YAND shift 174 YDIV shift 172 YIN shift 165 YMOD shift 173 YOR shift 168 < shift 163 = shift 162 > shift 164 + shift 166 - shift 167 | shift 169 * shift 170 / shift 171 & shift 175 . reduce 151 state 300 param_list : param_list ; param_ . reduce 44 state 301 param : id_list : type_ . reduce 37 state 302 param : YVAR id_list :_type same as 70 state 303 param : YFUNCTION id_list :_type same as 70 state 304 struct_type : YARRAY [ simple_type_list ]_YOF type YOF shift 320 . error state 305 simple_type_list : simple_type_list ,_simple_type same as 220 state 306 fixed_part : fixed_part ; field_ . reduce 70 state 307 variant_part : YCASE type_id_YOF variant_list YOF shift 322 . error state 308 variant_part : YCASE YID_: type_id YOF variant_list type_id : YID_ : shift 323 . reduce 178 state 309 field : id_list : type_ . reduce 73 state 310 wexpr : expr : expr :_expr same as 52 state 311 wexpr : expr : expr octhex_ . reduce 147 state 312 cstat_list : cstat_list ; cstat_ . reduce 87 state 313 const_list : const_list , const_ . reduce 54 state 314 cstat : const_list : stat_ . reduce 90 state 315 stat : YFOR assign YTO expr YDO stat_ . reduce 104 state 316 stat : YFOR assign YDOWNTO expr YDO stat_ . reduce 105 state 317 stat : YIF expr YTHEN stat YELSE stat_ . reduce 108 state 318 param : YVAR id_list : type_ . reduce 38 state 319 param : YFUNCTION id_list : type_ . reduce 39 state 320 struct_type : YARRAY [ simple_type_list ] YOF_type same as 70 state 321 simple_type_list : simple_type_list , simple_type_ . reduce 67 state 322 variant_part : YCASE type_id YOF_variant_list YID shift 132 YINT shift 129 YNUMB shift 131 YSTRING shift 124 YBINT shift 130 + shift 126 - shift 127 . reduce 80 state 323 variant_part : YCASE YID :_type_id YOF variant_list YID shift 330 . error state 324 expr : expr_relop expr expr : expr_addop expr expr : expr_divop expr wexpr : expr : expr : expr_ YAND shift 174 YDIV shift 172 YIN shift 165 YMOD shift 173 YOR shift 168 < shift 163 = shift 162 > shift 164 + shift 166 - shift 167 | shift 169 * shift 170 / shift 171 & shift 175 . reduce 145 state 325 struct_type : YARRAY [ simple_type_list ] YOF type_ . reduce 62 state 326 variant_part : YCASE type_id YOF variant_list_ variant_list : variant_list_; variant variant_list : variant_list_error error shift 332 YEND reduce 75 ) reduce 75 ; shift 331 . error state 327 variant_list : variant_ . reduce 77 state 328 const_list : const_list_, const variant : const_list_: ( field_list ) variant : const_list_: ( ) , shift 290 : shift 333 . error state 329 variant_part : YCASE YID : type_id_YOF variant_list YOF shift 334 . error state 330 type_id : YID_ . reduce 178 state 331 variant_list : variant_list ;_variant YID shift 132 YINT shift 129 YNUMB shift 131 YSTRING shift 124 YBINT shift 130 + shift 126 - shift 127 . reduce 80 state 332 variant_list : variant_list error_ . reduce 79 state 333 variant : const_list :_( field_list ) variant : const_list :_( ) ( shift 336 . error state 334 variant_part : YCASE YID : type_id YOF_variant_list same as 322 state 335 variant_list : variant_list ; variant_ . reduce 78 336: shift/reduce conflict (shift 339, red'n 72) on ) state 336 variant : const_list : (_field_list ) variant : const_list : (_) YID shift 33 ) shift 339 . reduce 72 state 337 variant_part : YCASE YID : type_id YOF variant_list_ variant_list : variant_list_; variant variant_list : variant_list_error error shift 332 YEND reduce 76 ) reduce 76 ; shift 331 . error state 338 variant : const_list : ( field_list_) ) shift 340 . error state 339 variant : const_list : ( )_ . reduce 82 state 340 variant : const_list : ( field_list )_ . reduce 81 nonterminal goal 0 1 nonterminal prog_hedr 0 2 nonterminal decls 2 4 23 67 nonterminal procs 4 7 67 120 nonterminal block 7 19 120 201 nonterminal id_list 13 31 17 40 18 42 122 206 139 216 144 224 207 270 208 271 209 272 268 206 281 224 336 224 nonterminal stat_list 21 44 51 85 55 107 nonterminal decl 4 8 67 8 nonterminal labels 4 10 67 10 nonterminal const_decl 4 11 67 11 nonterminal type_decl 4 12 67 12 nonterminal var_decl 4 13 67 13 nonterminal label_decl 14 34 nonterminal const 69 123 70 140 71 140 75 149 76 140 77 140 158 240 203 140 217 274 218 140 219 140 220 140 269 140 284 140 287 240 290 313 302 140 303 140 305 140 320 140 322 240 331 240 334 240 nonterminal type 70 133 71 146 76 150 77 151 203 266 219 277 269 301 284 309 302 318 303 319 320 325 nonterminal proc 7 20 120 20 nonterminal phead 7 22 120 22 nonterminal pheadres 7 23 120 23 nonterminal porf 7 24 120 24 nonterminal params 68 121 nonterminal ftype 121 202 nonterminal param_list 122 204 nonterminal param 122 205 268 300 nonterminal number 69 125 70 125 71 125 75 125 76 125 77 125 126 211 127 212 158 125 203 125 217 125 218 125 219 125 220 125 269 125 284 125 287 125 290 125 302 125 303 125 305 125 320 125 322 125 331 125 334 125 nonterminal const_id 69 128 70 128 71 128 75 128 76 128 77 128 126 128 127 128 158 128 203 128 217 128 218 128 219 128 220 128 269 128 284 128 287 128 290 128 302 128 303 128 305 128 320 128 322 128 331 128 334 128 nonterminal const_list 158 238 287 238 322 328 331 328 334 328 nonterminal simple_type 70 134 71 134 76 134 77 134 203 134 218 276 219 134 220 278 269 134 284 134 302 134 303 134 305 321 320 134 nonterminal struct_type 70 136 71 136 76 136 77 136 137 215 203 136 219 136 269 136 284 136 302 136 303 136 320 136 nonterminal type_id 70 138 71 138 76 138 77 138 203 138 218 138 219 138 220 138 269 138 283 307 284 138 302 138 303 138 305 138 320 138 323 329 nonterminal simple_type_list 218 275 nonterminal field_list 144 221 336 338 nonterminal fixed_part 144 222 336 222 nonterminal variant_part 222 280 nonterminal field 144 223 281 306 336 223 nonterminal variant_list 322 326 334 337 nonterminal variant 322 327 331 335 334 327 nonterminal stat 21 45 46 81 51 45 55 45 82 153 186 252 188 254 192 258 239 292 291 314 296 315 297 316 298 317 nonterminal stat_lsth 21 46 51 46 55 46 nonterminal cstat_list 158 235 nonterminal cstat 158 236 287 312 nonterminal proc_id 21 48 46 48 51 48 55 48 82 48 186 48 188 48 192 48 239 48 291 48 296 48 297 48 298 48 nonterminal wexpr_list 83 154 179 247 nonterminal assign 21 50 46 50 51 50 55 50 56 108 82 50 186 50 188 50 192 50 239 50 291 50 296 50 297 50 298 50 nonterminal expr 52 86 54 106 58 110 83 156 88 176 89 177 98 180 99 181 100 185 111 193 113 196 116 196 159 241 160 242 161 243 179 156 189 255 190 256 191 257 194 260 230 156 231 286 250 185 251 295 262 299 310 324 nonterminal var_list 53 103 nonterminal variable 21 61 46 61 51 61 52 95 53 104 54 95 55 61 56 61 58 95 82 61 83 95 88 95 89 95 98 95 99 95 100 95 111 95 113 95 116 95 159 95 160 95 161 95 179 95 186 61 187 253 188 61 189 95 190 95 191 95 192 61 194 95 230 95 231 95 239 61 250 95 251 95 262 95 291 61 296 61 297 61 298 61 310 95 nonterminal relop 86 159 106 159 110 159 156 159 176 159 177 159 180 159 181 159 185 159 193 159 196 159 241 159 242 159 243 159 255 159 256 159 257 159 260 159 286 159 295 159 299 159 324 159 nonterminal addop 86 160 106 160 110 160 156 160 176 160 177 160 180 160 181 160 185 160 193 160 196 160 241 160 242 160 243 160 255 160 256 160 257 160 260 160 286 160 295 160 299 160 324 160 nonterminal divop 86 161 106 161 110 161 156 161 176 161 177 161 180 161 181 161 185 161 193 161 196 161 241 161 242 161 243 161 255 161 256 161 257 161 260 161 286 161 295 161 299 161 324 161 nonterminal func_id 52 97 54 97 58 97 83 97 88 97 89 97 98 97 99 97 100 97 111 97 113 97 116 97 159 97 160 97 161 97 179 97 189 97 190 97 191 97 194 97 230 97 231 97 250 97 251 97 262 97 310 97 nonterminal negop 52 99 54 99 58 99 83 99 88 99 89 99 98 99 99 99 100 99 111 99 113 99 116 99 159 99 160 99 161 99 179 99 189 99 190 99 191 99 194 99 230 99 231 99 250 99 251 99 262 99 310 99 nonterminal element_list 100 182 nonterminal element 100 184 250 294 nonterminal qual_var 21 62 46 62 51 62 52 62 53 62 54 62 55 62 56 62 58 62 82 62 83 62 88 62 89 62 98 62 99 62 100 62 111 62 113 62 116 62 159 62 160 62 161 62 179 62 186 62 187 62 188 62 189 62 190 62 191 62 192 62 194 62 230 62 231 62 239 62 250 62 251 62 262 62 291 62 296 62 297 62 298 62 310 62 nonterminal array_id 21 63 46 63 51 63 52 63 53 63 54 63 55 63 56 63 58 63 82 63 83 63 88 63 89 63 98 63 99 63 100 63 111 63 113 63 116 63 159 63 160 63 161 63 179 63 186 63 187 63 188 63 189 63 190 63 191 63 192 63 194 63 230 63 231 63 239 63 250 63 251 63 262 63 291 63 296 63 297 63 298 63 310 63 nonterminal expr_list 113 195 116 199 nonterminal record_id 21 64 46 64 51 64 52 64 53 64 54 64 55 64 56 64 58 64 82 64 83 64 88 64 89 64 98 64 99 64 100 64 111 64 113 64 116 64 159 64 160 64 161 64 179 64 186 64 187 64 188 64 189 64 190 64 191 64 192 64 194 64 230 64 231 64 239 64 250 64 251 64 262 64 291 64 296 64 297 64 298 64 310 64 nonterminal field_id 114 197 117 200 nonterminal ptr_id 21 65 46 65 51 65 52 65 53 65 54 65 55 65 56 65 58 65 82 65 83 65 88 65 89 65 98 65 99 65 100 65 111 65 113 65 116 65 159 65 160 65 161 65 179 65 186 65 187 65 188 65 189 65 190 65 191 65 192 65 194 65 230 65 231 65 239 65 250 65 251 65 262 65 291 65 296 65 297 65 298 65 310 65 nonterminal wexpr 83 155 179 155 230 285 nonterminal octhex 156 232 286 311 nonterminal var_id 70/95 terminals, 62/150 nonterminals 186/250 grammar rules, 341/600 states 18 shift/reduce, 4 reduce/reduce conflicts reported 40/350 working sets used memory: states,etc. 2164/2500, parser 957/2000 139/500 distinct lookahead sets 386 extra closures 1717 action entries 1238 action entries saved through merging 52 states 334 goto entries 880 entries saved by goto default