From 478bb55ab74505766c8a588270ff847568798b45 Mon Sep 17 00:00:00 2001 From: Bill Joy Date: Sun, 29 Jan 1978 16:55:05 -0800 Subject: [PATCH] BSD 1 development Work on file pxp/y.output Work on file UPDATE Work on file printd Synthesized-from: 1bsd --- UPDATE | 1 + printd | 6 + pxp/y.output | 3626 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 3633 insertions(+) create mode 100644 UPDATE create mode 100755 printd create mode 100644 pxp/y.output diff --git a/UPDATE b/UPDATE new file mode 100644 index 0000000000..72b2adc639 --- /dev/null +++ b/UPDATE @@ -0,0 +1 @@ +This tape reflects updates to Thu Jan 19 10:34:29 PST 1978 diff --git a/printd b/printd new file mode 100755 index 0000000000..3756057793 --- /dev/null +++ b/printd @@ -0,0 +1,6 @@ +tbl -ms READ_ME | nroff +pr */READ_ME +cd ex-1.1 +pr SETUP SYSDEP +nroff -ms NOTE +nroff -ms CORRECTIONS diff --git a/pxp/y.output b/pxp/y.output new file mode 100644 index 0000000000..1e628dddce --- /dev/null +++ b/pxp/y.output @@ -0,0 +1,3626 @@ + +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 -- 2.20.1