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