state 0 $accept: .top $end top: . (2) $end reduce 2 (src line 90) error shift 3 BOX shift 16 LINE shift 20 ARROW shift 21 CIRCLE shift 17 ELLIPSE shift 18 ARC shift 19 SPLINE shift 22 TEXT shift 35 TROFF shift 25 MOVE shift 23 PRINT shift 10 RESET shift 11 FOR shift 30 IF shift 31 COPY shift 29 PLACENAME shift 7 VARNAME shift 28 SPRINTF shift 36 DIR shift 9 ST shift 15 '{' shift 27 '[' shift 33 . error asgn goto 8 text goto 34 if goto 14 for goto 13 copy goto 12 leftbrace goto 6 picture goto 4 piclist goto 2 lbracket goto 26 prim goto 5 textlist goto 24 textattr goto 32 top goto 1 state 1 $accept: top.$end $end accept . error state 2 top: piclist. (1) piclist: piclist.picture BOX shift 16 LINE shift 20 ARROW shift 21 CIRCLE shift 17 ELLIPSE shift 18 ARC shift 19 SPLINE shift 22 TEXT shift 35 TROFF shift 25 MOVE shift 23 PRINT shift 10 RESET shift 11 FOR shift 30 IF shift 31 COPY shift 29 PLACENAME shift 7 VARNAME shift 28 SPRINTF shift 36 DIR shift 9 ST shift 15 '{' shift 27 '[' shift 33 . reduce 1 (src line 88) asgn goto 8 text goto 34 if goto 14 for goto 13 copy goto 12 leftbrace goto 6 picture goto 37 lbracket goto 26 prim goto 5 textlist goto 24 textattr goto 32 state 3 top: error. (3) . reduce 3 (src line 91) state 4 piclist: picture. (4) . reduce 4 (src line 94) state 5 picture: prim.ST ST shift 38 . error state 6 picture: leftbrace.piclist '}' BOX shift 16 LINE shift 20 ARROW shift 21 CIRCLE shift 17 ELLIPSE shift 18 ARC shift 19 SPLINE shift 22 TEXT shift 35 TROFF shift 25 MOVE shift 23 PRINT shift 10 RESET shift 11 FOR shift 30 IF shift 31 COPY shift 29 PLACENAME shift 7 VARNAME shift 28 SPRINTF shift 36 DIR shift 9 ST shift 15 '{' shift 27 '[' shift 33 . error asgn goto 8 text goto 34 if goto 14 for goto 13 copy goto 12 leftbrace goto 6 picture goto 4 piclist goto 39 lbracket goto 26 prim goto 5 textlist goto 24 textattr goto 32 state 7 picture: PLACENAME.':' picture picture: PLACENAME.':' ST picture picture: PLACENAME.':' position ST ':' shift 40 . error state 8 picture: asgn.ST ST shift 41 . error state 9 picture: DIR. (12) . reduce 12 (src line 106) state 10 picture: PRINT.expr ST picture: PRINT.position ST picture: PRINT.text ST TEXT shift 35 PLACENAME shift 52 VARNAME shift 46 SPRINTF shift 36 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 50 . error expr goto 42 asgn goto 47 text goto 44 position goto 43 place goto 51 blockname goto 68 last goto 53 11: shift/reduce conflict (shift 71(0), red'n 21(0)) on VARNAME state 11 picture: RESET.varlist ST varlist: . (21) VARNAME shift 71 . reduce 21 (src line 117) varlist goto 70 state 12 picture: copy. (17) . reduce 17 (src line 111) state 13 picture: for. (18) . reduce 18 (src line 112) state 14 picture: if. (19) . reduce 19 (src line 113) state 15 picture: ST. (20) . reduce 20 (src line 114) state 16 prim: BOX.attrlist attrlist: . (62) . reduce 62 (src line 199) attrlist goto 72 state 17 prim: CIRCLE.attrlist attrlist: . (62) . reduce 62 (src line 199) attrlist goto 73 state 18 prim: ELLIPSE.attrlist attrlist: . (62) . reduce 62 (src line 199) attrlist goto 74 state 19 prim: ARC.attrlist attrlist: . (62) . reduce 62 (src line 199) attrlist goto 75 state 20 prim: LINE.attrlist attrlist: . (62) . reduce 62 (src line 199) attrlist goto 76 state 21 prim: ARROW.attrlist attrlist: . (62) . reduce 62 (src line 199) attrlist goto 77 state 22 prim: SPLINE.attrlist attrlist: . (62) . reduce 62 (src line 199) attrlist goto 78 state 23 prim: MOVE.attrlist attrlist: . (62) . reduce 62 (src line 199) attrlist goto 79 24: shift/reduce conflict (shift 35(0), red'n 62(0)) on TEXT 24: shift/reduce conflict (shift 36(0), red'n 62(0)) on SPRINTF state 24 prim: textlist.attrlist textlist: textlist.textattr attrlist: . (62) TEXT shift 35 SPRINTF shift 36 . reduce 62 (src line 199) text goto 34 textattr goto 81 attrlist goto 80 state 25 prim: TROFF. (57) . reduce 57 (src line 188) state 26 prim: lbracket.piclist ']' $$58 attrlist BOX shift 16 LINE shift 20 ARROW shift 21 CIRCLE shift 17 ELLIPSE shift 18 ARC shift 19 SPLINE shift 22 TEXT shift 35 TROFF shift 25 MOVE shift 23 PRINT shift 10 RESET shift 11 FOR shift 30 IF shift 31 COPY shift 29 PLACENAME shift 7 VARNAME shift 28 SPRINTF shift 36 DIR shift 9 ST shift 15 '{' shift 27 '[' shift 33 . error asgn goto 8 text goto 34 if goto 14 for goto 13 copy goto 12 leftbrace goto 6 picture goto 4 piclist goto 82 lbracket goto 26 prim goto 5 textlist goto 24 textattr goto 32 state 27 leftbrace: '{'. (47) . reduce 47 (src line 174) state 28 asgn: VARNAME.'=' expr '=' shift 83 . error state 29 copy: COPY.copylist TEXT shift 35 THRU shift 87 UNTIL shift 88 SPRINTF shift 36 . error text goto 86 copylist goto 84 copyattr goto 85 state 30 for: FOR.name FROM expr TO expr BY optop expr DOSTR for: FOR.name FROM expr TO expr DOSTR for: FOR.name '=' expr TO expr BY optop expr DOSTR for: FOR.name '=' expr TO expr DOSTR VARNAME shift 90 . error name goto 89 state 31 if: IF.if_expr THENSTR ELSESTR if: IF.if_expr THENSTR TEXT shift 35 PLACENAME shift 52 VARNAME shift 46 SPRINTF shift 36 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 92 if_expr goto 91 asgn goto 47 text goto 93 place goto 95 blockname goto 68 last goto 53 32: shift/reduce conflict (shift 96(0), red'n 90(0)) on TEXTATTR state 32 textlist: textattr. (90) textattr: textattr.TEXTATTR TEXTATTR shift 96 . reduce 90 (src line 233) state 33 lbracket: '['. (60) . reduce 60 (src line 193) 34: shift/reduce conflict (shift 97(0), red'n 92(0)) on TEXTATTR state 34 textattr: text. (92) textattr: text.TEXTATTR TEXTATTR shift 97 . reduce 92 (src line 237) state 35 text: TEXT. (95) . reduce 95 (src line 242) state 36 text: SPRINTF.'(' text ')' text: SPRINTF.'(' text ',' exprlist ')' '(' shift 98 . error state 37 piclist: piclist picture. (5) . reduce 5 (src line 96) state 38 picture: prim ST. (6) . reduce 6 (src line 99) state 39 piclist: piclist.picture picture: leftbrace piclist.'}' BOX shift 16 LINE shift 20 ARROW shift 21 CIRCLE shift 17 ELLIPSE shift 18 ARC shift 19 SPLINE shift 22 TEXT shift 35 TROFF shift 25 MOVE shift 23 PRINT shift 10 RESET shift 11 FOR shift 30 IF shift 31 COPY shift 29 PLACENAME shift 7 VARNAME shift 28 SPRINTF shift 36 DIR shift 9 ST shift 15 '}' shift 99 '{' shift 27 '[' shift 33 . error asgn goto 8 text goto 34 if goto 14 for goto 13 copy goto 12 leftbrace goto 6 picture goto 37 lbracket goto 26 prim goto 5 textlist goto 24 textattr goto 32 state 40 picture: PLACENAME ':'.picture picture: PLACENAME ':'.ST picture picture: PLACENAME ':'.position ST BOX shift 16 LINE shift 20 ARROW shift 21 CIRCLE shift 17 ELLIPSE shift 18 ARC shift 19 SPLINE shift 22 TEXT shift 35 TROFF shift 25 MOVE shift 23 PRINT shift 10 RESET shift 11 FOR shift 30 IF shift 31 COPY shift 29 PLACENAME shift 103 VARNAME shift 46 SPRINTF shift 36 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 DIR shift 9 ST shift 101 '+' shift 49 '-' shift 48 NOT shift 55 '{' shift 27 '[' shift 33 '(' shift 50 . error expr goto 105 asgn goto 104 text goto 34 if goto 14 for goto 13 copy goto 12 leftbrace goto 6 picture goto 100 position goto 102 lbracket goto 26 prim goto 5 place goto 51 blockname goto 68 textlist goto 24 textattr goto 32 last goto 53 state 41 picture: asgn ST. (11) . reduce 11 (src line 105) state 42 picture: PRINT expr.ST position: expr.',' expr position: expr.LT position ',' position GT position: expr.BETWEEN position AND position expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr BETWEEN shift 109 ST shift 106 OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 108 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ',' shift 107 . error state 43 picture: PRINT position.ST position: position.'+' expr ',' expr position: position.'-' expr ',' expr position: position.'+' '(' expr ',' expr ')' position: position.'-' '(' expr ',' expr ')' position: position.'+' place position: position.'-' place ST shift 123 '+' shift 124 '-' shift 125 . error state 44 picture: PRINT text.ST ST shift 126 . error state 45 expr: NUMBER. (139) . reduce 139 (src line 307) state 46 asgn: VARNAME.'=' expr expr: VARNAME. (140) '=' shift 83 . reduce 140 (src line 309) state 47 expr: asgn. (141) . reduce 141 (src line 310) state 48 expr: '-'.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 127 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 49 expr: '+'.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 128 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 50 position: '('.position ')' position: '('.place ',' place ')' expr: '('.expr ')' PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 50 . error expr goto 131 asgn goto 47 position goto 129 place goto 130 blockname goto 68 last goto 53 state 51 position: place. (100) expr: place.DOTX expr: place.DOTY expr: place.DOTHT expr: place.DOTWID expr: place.DOTRAD DOTX shift 132 DOTY shift 133 DOTHT shift 134 DOTWID shift 135 DOTRAD shift 136 . reduce 100 (src line 253) 52: shift/reduce conflict (shift 137(0), red'n 112(0)) on CORNER state 52 place: PLACENAME. (112) place: PLACENAME.CORNER blockname: PLACENAME.'.' PLACENAME expr: PLACENAME.'.' VARNAME CORNER shift 137 '.' shift 138 . reduce 112 (src line 268) state 53 place: last.type place: last.type CORNER blockname: last.BLOCK '.' PLACENAME last: last.LAST expr: last.BLOCK '.' VARNAME BOX shift 142 LINE shift 146 ARROW shift 147 CIRCLE shift 143 ELLIPSE shift 144 ARC shift 145 SPLINE shift 148 BLOCK shift 140 LAST shift 141 . error type goto 139 state 54 place: NTH.type place: NTH.type CORNER blockname: NTH.BLOCK '.' PLACENAME last: NTH.LAST expr: NTH.BLOCK '.' VARNAME BOX shift 142 LINE shift 146 ARROW shift 147 CIRCLE shift 143 ELLIPSE shift 144 ARC shift 145 SPLINE shift 148 BLOCK shift 150 LAST shift 151 . error type goto 149 state 55 expr: NOT.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 152 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 56 expr: LOG.'(' expr ')' '(' shift 153 . error state 57 expr: EXP.'(' expr ')' '(' shift 154 . error state 58 expr: SIN.'(' expr ')' '(' shift 155 . error state 59 expr: COS.'(' expr ')' '(' shift 156 . error state 60 expr: ATAN2.'(' expr ',' expr ')' '(' shift 157 . error state 61 expr: SQRT.'(' expr ')' '(' shift 158 . error state 62 expr: RAND.'(' ')' '(' shift 159 . error state 63 expr: MAX.'(' expr ',' expr ')' '(' shift 160 . error state 64 expr: MIN.'(' expr ',' expr ')' '(' shift 161 . error state 65 expr: INT.'(' expr ')' '(' shift 162 . error state 66 place: CORNER.PLACENAME place: CORNER.last type place: CORNER.NTH type place: CORNER.blockname PLACENAME shift 163 LAST shift 69 NTH shift 165 . error blockname goto 166 last goto 164 state 67 place: HERE. (115) . reduce 115 (src line 272) 68: shift/reduce conflict (shift 167(0), red'n 122(0)) on CORNER state 68 place: blockname. (122) place: blockname.CORNER CORNER shift 167 . reduce 122 (src line 279) state 69 last: LAST. (130) . reduce 130 (src line 293) state 70 picture: RESET varlist.ST varlist: varlist.VARNAME varlist: varlist.',' VARNAME VARNAME shift 169 ST shift 168 ',' shift 170 . error state 71 varlist: VARNAME. (22) . reduce 22 (src line 119) state 72 prim: BOX attrlist. (48) attrlist: attrlist.attr TEXT shift 35 PLACENAME shift 52 VARNAME shift 46 SPRINTF shift 36 ATTR shift 172 TEXTATTR shift 181 FROM shift 175 TO shift 176 AT shift 177 BY shift 178 WITH shift 179 HEAD shift 182 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 SAME shift 180 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 DIR shift 174 DOT shift 183 DASH shift 184 CHOP shift 185 FILL shift 186 NOEDGE shift 187 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . reduce 48 (src line 178) expr goto 173 asgn goto 47 text goto 34 place goto 95 blockname goto 68 textlist goto 188 textattr goto 32 last goto 53 attr goto 171 state 73 prim: CIRCLE attrlist. (49) attrlist: attrlist.attr TEXT shift 35 PLACENAME shift 52 VARNAME shift 46 SPRINTF shift 36 ATTR shift 172 TEXTATTR shift 181 FROM shift 175 TO shift 176 AT shift 177 BY shift 178 WITH shift 179 HEAD shift 182 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 SAME shift 180 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 DIR shift 174 DOT shift 183 DASH shift 184 CHOP shift 185 FILL shift 186 NOEDGE shift 187 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . reduce 49 (src line 180) expr goto 173 asgn goto 47 text goto 34 place goto 95 blockname goto 68 textlist goto 188 textattr goto 32 last goto 53 attr goto 171 state 74 prim: ELLIPSE attrlist. (50) attrlist: attrlist.attr TEXT shift 35 PLACENAME shift 52 VARNAME shift 46 SPRINTF shift 36 ATTR shift 172 TEXTATTR shift 181 FROM shift 175 TO shift 176 AT shift 177 BY shift 178 WITH shift 179 HEAD shift 182 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 SAME shift 180 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 DIR shift 174 DOT shift 183 DASH shift 184 CHOP shift 185 FILL shift 186 NOEDGE shift 187 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . reduce 50 (src line 181) expr goto 173 asgn goto 47 text goto 34 place goto 95 blockname goto 68 textlist goto 188 textattr goto 32 last goto 53 attr goto 171 state 75 prim: ARC attrlist. (51) attrlist: attrlist.attr TEXT shift 35 PLACENAME shift 52 VARNAME shift 46 SPRINTF shift 36 ATTR shift 172 TEXTATTR shift 181 FROM shift 175 TO shift 176 AT shift 177 BY shift 178 WITH shift 179 HEAD shift 182 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 SAME shift 180 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 DIR shift 174 DOT shift 183 DASH shift 184 CHOP shift 185 FILL shift 186 NOEDGE shift 187 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . reduce 51 (src line 182) expr goto 173 asgn goto 47 text goto 34 place goto 95 blockname goto 68 textlist goto 188 textattr goto 32 last goto 53 attr goto 171 state 76 prim: LINE attrlist. (52) attrlist: attrlist.attr TEXT shift 35 PLACENAME shift 52 VARNAME shift 46 SPRINTF shift 36 ATTR shift 172 TEXTATTR shift 181 FROM shift 175 TO shift 176 AT shift 177 BY shift 178 WITH shift 179 HEAD shift 182 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 SAME shift 180 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 DIR shift 174 DOT shift 183 DASH shift 184 CHOP shift 185 FILL shift 186 NOEDGE shift 187 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . reduce 52 (src line 183) expr goto 173 asgn goto 47 text goto 34 place goto 95 blockname goto 68 textlist goto 188 textattr goto 32 last goto 53 attr goto 171 state 77 prim: ARROW attrlist. (53) attrlist: attrlist.attr TEXT shift 35 PLACENAME shift 52 VARNAME shift 46 SPRINTF shift 36 ATTR shift 172 TEXTATTR shift 181 FROM shift 175 TO shift 176 AT shift 177 BY shift 178 WITH shift 179 HEAD shift 182 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 SAME shift 180 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 DIR shift 174 DOT shift 183 DASH shift 184 CHOP shift 185 FILL shift 186 NOEDGE shift 187 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . reduce 53 (src line 184) expr goto 173 asgn goto 47 text goto 34 place goto 95 blockname goto 68 textlist goto 188 textattr goto 32 last goto 53 attr goto 171 state 78 prim: SPLINE attrlist. (54) attrlist: attrlist.attr TEXT shift 35 PLACENAME shift 52 VARNAME shift 46 SPRINTF shift 36 ATTR shift 172 TEXTATTR shift 181 FROM shift 175 TO shift 176 AT shift 177 BY shift 178 WITH shift 179 HEAD shift 182 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 SAME shift 180 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 DIR shift 174 DOT shift 183 DASH shift 184 CHOP shift 185 FILL shift 186 NOEDGE shift 187 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . reduce 54 (src line 185) expr goto 173 asgn goto 47 text goto 34 place goto 95 blockname goto 68 textlist goto 188 textattr goto 32 last goto 53 attr goto 171 state 79 prim: MOVE attrlist. (55) attrlist: attrlist.attr TEXT shift 35 PLACENAME shift 52 VARNAME shift 46 SPRINTF shift 36 ATTR shift 172 TEXTATTR shift 181 FROM shift 175 TO shift 176 AT shift 177 BY shift 178 WITH shift 179 HEAD shift 182 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 SAME shift 180 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 DIR shift 174 DOT shift 183 DASH shift 184 CHOP shift 185 FILL shift 186 NOEDGE shift 187 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . reduce 55 (src line 186) expr goto 173 asgn goto 47 text goto 34 place goto 95 blockname goto 68 textlist goto 188 textattr goto 32 last goto 53 attr goto 171 state 80 prim: textlist attrlist. (56) attrlist: attrlist.attr TEXT shift 35 PLACENAME shift 52 VARNAME shift 46 SPRINTF shift 36 ATTR shift 172 TEXTATTR shift 181 FROM shift 175 TO shift 176 AT shift 177 BY shift 178 WITH shift 179 HEAD shift 182 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 SAME shift 180 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 DIR shift 174 DOT shift 183 DASH shift 184 CHOP shift 185 FILL shift 186 NOEDGE shift 187 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . reduce 56 (src line 187) expr goto 173 asgn goto 47 text goto 34 place goto 95 blockname goto 68 textlist goto 188 textattr goto 32 last goto 53 attr goto 171 81: shift/reduce conflict (shift 96(0), red'n 91(0)) on TEXTATTR state 81 textlist: textlist textattr. (91) textattr: textattr.TEXTATTR TEXTATTR shift 96 . reduce 91 (src line 235) state 82 piclist: piclist.picture prim: lbracket piclist.']' $$58 attrlist BOX shift 16 LINE shift 20 ARROW shift 21 CIRCLE shift 17 ELLIPSE shift 18 ARC shift 19 SPLINE shift 22 TEXT shift 35 TROFF shift 25 MOVE shift 23 PRINT shift 10 RESET shift 11 FOR shift 30 IF shift 31 COPY shift 29 PLACENAME shift 7 VARNAME shift 28 SPRINTF shift 36 DIR shift 9 ST shift 15 '{' shift 27 ']' shift 189 '[' shift 33 . error asgn goto 8 text goto 34 if goto 14 for goto 13 copy goto 12 leftbrace goto 6 picture goto 37 lbracket goto 26 prim goto 5 textlist goto 24 textattr goto 32 state 83 asgn: VARNAME '='.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 190 asgn goto 47 place goto 95 blockname goto 68 last goto 53 84: shift/reduce conflict (shift 35(0), red'n 26(0)) on TEXT 84: shift/reduce conflict (shift 36(0), red'n 26(0)) on SPRINTF state 84 copy: COPY copylist. (26) copylist: copylist.copyattr TEXT shift 35 THRU shift 87 UNTIL shift 88 SPRINTF shift 36 . reduce 26 (src line 128) text goto 86 copyattr goto 191 state 85 copylist: copyattr. (27) . reduce 27 (src line 131) state 86 copyattr: text. (29) . reduce 29 (src line 135) state 87 copyattr: THRU.DEFNAME DEFNAME shift 192 . error state 88 copyattr: UNTIL.text TEXT shift 35 SPRINTF shift 36 . error text goto 193 state 89 for: FOR name.FROM expr TO expr BY optop expr DOSTR for: FOR name.FROM expr TO expr DOSTR for: FOR name.'=' expr TO expr BY optop expr DOSTR for: FOR name.'=' expr TO expr DOSTR FROM shift 194 '=' shift 195 . error state 90 name: VARNAME. (41) . reduce 41 (src line 162) state 91 if: IF if_expr.THENSTR ELSESTR if: IF if_expr.THENSTR THENSTR shift 196 . error state 92 if_expr: expr. (38) expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 38 (src line 156) state 93 if_expr: text.EQ text if_expr: text.NEQ text EQ shift 198 NEQ shift 199 . error state 94 expr: '('.expr ')' PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 200 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 95 expr: place.DOTX expr: place.DOTY expr: place.DOTHT expr: place.DOTWID expr: place.DOTRAD DOTX shift 132 DOTY shift 133 DOTHT shift 134 DOTWID shift 135 DOTRAD shift 136 . error state 96 textattr: textattr TEXTATTR. (94) . reduce 94 (src line 240) state 97 textattr: text TEXTATTR. (93) . reduce 93 (src line 239) state 98 text: SPRINTF '('.text ')' text: SPRINTF '('.text ',' exprlist ')' TEXT shift 35 SPRINTF shift 36 . error text goto 201 state 99 picture: leftbrace piclist '}'. (7) . reduce 7 (src line 101) state 100 picture: PLACENAME ':' picture. (8) . reduce 8 (src line 102) 101: shift/reduce conflict (shift 16(0), red'n 20(0)) on BOX 101: shift/reduce conflict (shift 20(0), red'n 20(0)) on LINE 101: shift/reduce conflict (shift 21(0), red'n 20(0)) on ARROW 101: shift/reduce conflict (shift 17(0), red'n 20(0)) on CIRCLE 101: shift/reduce conflict (shift 18(0), red'n 20(0)) on ELLIPSE 101: shift/reduce conflict (shift 19(0), red'n 20(0)) on ARC 101: shift/reduce conflict (shift 22(0), red'n 20(0)) on SPLINE 101: shift/reduce conflict (shift 35(0), red'n 20(0)) on TEXT 101: shift/reduce conflict (shift 25(0), red'n 20(0)) on TROFF 101: shift/reduce conflict (shift 23(0), red'n 20(0)) on MOVE 101: shift/reduce conflict (shift 10(0), red'n 20(0)) on PRINT 101: shift/reduce conflict (shift 11(0), red'n 20(0)) on RESET 101: shift/reduce conflict (shift 30(0), red'n 20(0)) on FOR 101: shift/reduce conflict (shift 31(0), red'n 20(0)) on IF 101: shift/reduce conflict (shift 29(0), red'n 20(0)) on COPY 101: shift/reduce conflict (shift 7(0), red'n 20(0)) on PLACENAME 101: shift/reduce conflict (shift 28(0), red'n 20(0)) on VARNAME 101: shift/reduce conflict (shift 36(0), red'n 20(0)) on SPRINTF 101: shift/reduce conflict (shift 9(0), red'n 20(0)) on DIR 101: shift/reduce conflict (shift 15(0), red'n 20(0)) on ST 101: shift/reduce conflict (shift 27(0), red'n 20(0)) on '{' 101: shift/reduce conflict (shift 33(0), red'n 20(0)) on '[' state 101 picture: PLACENAME ':' ST.picture picture: ST. (20) BOX shift 16 LINE shift 20 ARROW shift 21 CIRCLE shift 17 ELLIPSE shift 18 ARC shift 19 SPLINE shift 22 TEXT shift 35 TROFF shift 25 MOVE shift 23 PRINT shift 10 RESET shift 11 FOR shift 30 IF shift 31 COPY shift 29 PLACENAME shift 7 VARNAME shift 28 SPRINTF shift 36 DIR shift 9 ST shift 15 '{' shift 27 '[' shift 33 . reduce 20 (src line 114) asgn goto 8 text goto 34 if goto 14 for goto 13 copy goto 12 leftbrace goto 6 picture goto 202 lbracket goto 26 prim goto 5 textlist goto 24 textattr goto 32 state 102 picture: PLACENAME ':' position.ST position: position.'+' expr ',' expr position: position.'-' expr ',' expr position: position.'+' '(' expr ',' expr ')' position: position.'-' '(' expr ',' expr ')' position: position.'+' place position: position.'-' place ST shift 203 '+' shift 124 '-' shift 125 . error state 103 picture: PLACENAME.':' picture picture: PLACENAME.':' ST picture picture: PLACENAME.':' position ST place: PLACENAME. (112) place: PLACENAME.CORNER blockname: PLACENAME.'.' PLACENAME expr: PLACENAME.'.' VARNAME CORNER shift 137 ':' shift 40 '.' shift 138 . reduce 112 (src line 268) state 104 picture: asgn.ST expr: asgn. (141) ST shift 41 . reduce 141 (src line 310) state 105 position: expr.',' expr position: expr.LT position ',' position GT position: expr.BETWEEN position AND position expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr BETWEEN shift 109 OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 108 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ',' shift 107 . error state 106 picture: PRINT expr ST. (13) . reduce 13 (src line 107) state 107 position: expr ','.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 204 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 108 position: expr LT.position ',' position GT expr: expr LT.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 50 . error expr goto 206 asgn goto 47 position goto 205 place goto 51 blockname goto 68 last goto 53 state 109 position: expr BETWEEN.position AND position PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 50 . error expr goto 105 asgn goto 47 position goto 207 place goto 51 blockname goto 68 last goto 53 state 110 expr: expr '+'.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 208 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 111 expr: expr '-'.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 209 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 112 expr: expr '*'.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 210 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 113 expr: expr '/'.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 211 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 114 expr: expr '%'.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 212 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 115 expr: expr GT.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 213 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 116 expr: expr LE.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 214 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 117 expr: expr GE.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 215 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 118 expr: expr EQ.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 216 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 119 expr: expr NEQ.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 217 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 120 expr: expr ANDAND.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 218 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 121 expr: expr OROR.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 219 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 122 expr: expr '^'.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 220 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 123 picture: PRINT position ST. (14) . reduce 14 (src line 108) state 124 position: position '+'.expr ',' expr position: position '+'.'(' expr ',' expr ')' position: position '+'.place PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 222 . error expr goto 221 asgn goto 47 place goto 223 blockname goto 68 last goto 53 state 125 position: position '-'.expr ',' expr position: position '-'.'(' expr ',' expr ')' position: position '-'.place PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 225 . error expr goto 224 asgn goto 47 place goto 226 blockname goto 68 last goto 53 state 126 picture: PRINT text ST. (15) . reduce 15 (src line 109) state 127 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: '-' expr. (147) expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr '^' shift 122 . reduce 147 (src line 320) state 128 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: '+' expr. (148) expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr '^' shift 122 . reduce 148 (src line 321) state 129 position: '(' position.')' position: position.'+' expr ',' expr position: position.'-' expr ',' expr position: position.'+' '(' expr ',' expr ')' position: position.'-' '(' expr ',' expr ')' position: position.'+' place position: position.'-' place '+' shift 124 '-' shift 125 ')' shift 227 . error state 130 position: place. (100) position: '(' place.',' place ')' expr: place.DOTX expr: place.DOTY expr: place.DOTHT expr: place.DOTWID expr: place.DOTRAD DOTX shift 132 DOTY shift 133 DOTHT shift 134 DOTWID shift 135 DOTRAD shift 136 ',' shift 228 . reduce 100 (src line 253) state 131 position: expr.',' expr position: expr.LT position ',' position GT position: expr.BETWEEN position AND position expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: '(' expr.')' expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr BETWEEN shift 109 OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 108 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ',' shift 107 ')' shift 229 . error state 132 expr: place DOTX. (150) . reduce 150 (src line 323) state 133 expr: place DOTY. (151) . reduce 151 (src line 324) state 134 expr: place DOTHT. (152) . reduce 152 (src line 325) state 135 expr: place DOTWID. (153) . reduce 153 (src line 326) state 136 expr: place DOTRAD. (154) . reduce 154 (src line 327) state 137 place: PLACENAME CORNER. (113) . reduce 113 (src line 270) state 138 blockname: PLACENAME '.'.PLACENAME expr: PLACENAME '.'.VARNAME PLACENAME shift 230 VARNAME shift 231 . error 139: shift/reduce conflict (shift 232(0), red'n 116(0)) on CORNER state 139 place: last type. (116) place: last type.CORNER CORNER shift 232 . reduce 116 (src line 273) state 140 blockname: last BLOCK.'.' PLACENAME type: BLOCK. (138) expr: last BLOCK.'.' VARNAME '.' shift 233 . reduce 138 (src line 304) state 141 last: last LAST. (128) . reduce 128 (src line 290) state 142 type: BOX. (131) . reduce 131 (src line 296) state 143 type: CIRCLE. (132) . reduce 132 (src line 298) state 144 type: ELLIPSE. (133) . reduce 133 (src line 299) state 145 type: ARC. (134) . reduce 134 (src line 300) state 146 type: LINE. (135) . reduce 135 (src line 301) state 147 type: ARROW. (136) . reduce 136 (src line 302) state 148 type: SPLINE. (137) . reduce 137 (src line 303) 149: shift/reduce conflict (shift 234(0), red'n 119(0)) on CORNER state 149 place: NTH type. (119) place: NTH type.CORNER CORNER shift 234 . reduce 119 (src line 276) state 150 blockname: NTH BLOCK.'.' PLACENAME type: BLOCK. (138) expr: NTH BLOCK.'.' VARNAME '.' shift 235 . reduce 138 (src line 304) state 151 last: NTH LAST. (129) . reduce 129 (src line 292) state 152 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: NOT expr. (166) expr: expr.'^' expr '^' shift 122 . reduce 166 (src line 339) state 153 expr: LOG '('.expr ')' PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 236 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 154 expr: EXP '('.expr ')' PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 237 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 155 expr: SIN '('.expr ')' PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 238 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 156 expr: COS '('.expr ')' PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 239 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 157 expr: ATAN2 '('.expr ',' expr ')' PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 240 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 158 expr: SQRT '('.expr ')' PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 241 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 159 expr: RAND '('.')' ')' shift 242 . error state 160 expr: MAX '('.expr ',' expr ')' PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 243 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 161 expr: MIN '('.expr ',' expr ')' PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 244 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 162 expr: INT '('.expr ')' PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 245 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 163 place: CORNER PLACENAME. (114) blockname: PLACENAME.'.' PLACENAME '.' shift 246 . reduce 114 (src line 271) state 164 place: CORNER last.type blockname: last.BLOCK '.' PLACENAME last: last.LAST BOX shift 142 LINE shift 146 ARROW shift 147 CIRCLE shift 143 ELLIPSE shift 144 ARC shift 145 SPLINE shift 148 BLOCK shift 248 LAST shift 141 . error type goto 247 state 165 place: CORNER NTH.type blockname: NTH.BLOCK '.' PLACENAME last: NTH.LAST BOX shift 142 LINE shift 146 ARROW shift 147 CIRCLE shift 143 ELLIPSE shift 144 ARC shift 145 SPLINE shift 148 BLOCK shift 250 LAST shift 151 . error type goto 249 state 166 place: CORNER blockname. (124) . reduce 124 (src line 281) state 167 place: blockname CORNER. (123) . reduce 123 (src line 280) state 168 picture: RESET varlist ST. (16) . reduce 16 (src line 110) state 169 varlist: varlist VARNAME. (23) . reduce 23 (src line 120) state 170 varlist: varlist ','.VARNAME VARNAME shift 251 . error state 171 attrlist: attrlist attr. (61) . reduce 61 (src line 197) 172: shift/reduce conflict (shift 52(0), red'n 64(0)) on PLACENAME 172: shift/reduce conflict (shift 46(0), red'n 64(0)) on VARNAME 172: shift/reduce conflict (shift 66(0), red'n 64(0)) on CORNER 172: shift/reduce conflict (shift 67(0), red'n 64(0)) on HERE 172: shift/reduce conflict (shift 69(0), red'n 64(0)) on LAST 172: shift/reduce conflict (shift 54(0), red'n 64(0)) on NTH 172: shift/reduce conflict (shift 45(0), red'n 64(0)) on NUMBER 172: shift/reduce conflict (shift 56(0), red'n 64(0)) on LOG 172: shift/reduce conflict (shift 57(0), red'n 64(0)) on EXP 172: shift/reduce conflict (shift 58(0), red'n 64(0)) on SIN 172: shift/reduce conflict (shift 59(0), red'n 64(0)) on COS 172: shift/reduce conflict (shift 60(0), red'n 64(0)) on ATAN2 172: shift/reduce conflict (shift 61(0), red'n 64(0)) on SQRT 172: shift/reduce conflict (shift 62(0), red'n 64(0)) on RAND 172: shift/reduce conflict (shift 64(0), red'n 64(0)) on MIN 172: shift/reduce conflict (shift 63(0), red'n 64(0)) on MAX 172: shift/reduce conflict (shift 65(0), red'n 64(0)) on INT 172: shift/reduce conflict (shift 49(5), red'n 64(0)) on '+' 172: shift/reduce conflict (shift 48(5), red'n 64(0)) on '-' 172: shift/reduce conflict (shift 55(7), red'n 64(0)) on NOT 172: shift/reduce conflict (shift 94(0), red'n 64(0)) on '(' state 172 attr: ATTR.expr attr: ATTR. (64) PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . reduce 64 (src line 204) expr goto 252 asgn goto 47 place goto 95 blockname goto 68 last goto 53 173: shift/reduce conflict (shift 110(5), red'n 65(0)) on '+' 173: shift/reduce conflict (shift 111(5), red'n 65(0)) on '-' state 173 attr: expr. (65) expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 65 (src line 205) 174: shift/reduce conflict (shift 52(0), red'n 67(0)) on PLACENAME 174: shift/reduce conflict (shift 46(0), red'n 67(0)) on VARNAME 174: shift/reduce conflict (shift 66(0), red'n 67(0)) on CORNER 174: shift/reduce conflict (shift 67(0), red'n 67(0)) on HERE 174: shift/reduce conflict (shift 69(0), red'n 67(0)) on LAST 174: shift/reduce conflict (shift 54(0), red'n 67(0)) on NTH 174: shift/reduce conflict (shift 45(0), red'n 67(0)) on NUMBER 174: shift/reduce conflict (shift 56(0), red'n 67(0)) on LOG 174: shift/reduce conflict (shift 57(0), red'n 67(0)) on EXP 174: shift/reduce conflict (shift 58(0), red'n 67(0)) on SIN 174: shift/reduce conflict (shift 59(0), red'n 67(0)) on COS 174: shift/reduce conflict (shift 60(0), red'n 67(0)) on ATAN2 174: shift/reduce conflict (shift 61(0), red'n 67(0)) on SQRT 174: shift/reduce conflict (shift 62(0), red'n 67(0)) on RAND 174: shift/reduce conflict (shift 64(0), red'n 67(0)) on MIN 174: shift/reduce conflict (shift 63(0), red'n 67(0)) on MAX 174: shift/reduce conflict (shift 65(0), red'n 67(0)) on INT 174: shift/reduce conflict (shift 49(5), red'n 67(0)) on '+' 174: shift/reduce conflict (shift 48(5), red'n 67(0)) on '-' 174: shift/reduce conflict (shift 55(7), red'n 67(0)) on NOT 174: shift/reduce conflict (shift 94(0), red'n 67(0)) on '(' state 174 attr: DIR.expr attr: DIR. (67) PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . reduce 67 (src line 207) expr goto 253 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 175 attr: FROM.position PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 50 . error expr goto 105 asgn goto 47 position goto 254 place goto 51 blockname goto 68 last goto 53 state 176 attr: TO.position PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 50 . error expr goto 105 asgn goto 47 position goto 255 place goto 51 blockname goto 68 last goto 53 state 177 attr: AT.position PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 50 . error expr goto 105 asgn goto 47 position goto 256 place goto 51 blockname goto 68 last goto 53 state 178 attr: BY.position PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 50 . error expr goto 105 asgn goto 47 position goto 257 place goto 51 blockname goto 68 last goto 53 state 179 attr: WITH.CORNER attr: WITH.'.' PLACENAME attr: WITH.'.' PLACENAME CORNER attr: WITH.position PLACENAME shift 52 VARNAME shift 46 CORNER shift 258 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '.' shift 259 '(' shift 50 . error expr goto 105 asgn goto 47 position goto 260 place goto 51 blockname goto 68 last goto 53 state 180 attr: SAME. (76) . reduce 76 (src line 217) state 181 attr: TEXTATTR. (77) . reduce 77 (src line 218) state 182 attr: HEAD. (78) . reduce 78 (src line 219) 183: shift/reduce conflict (shift 52(0), red'n 80(0)) on PLACENAME 183: shift/reduce conflict (shift 46(0), red'n 80(0)) on VARNAME 183: shift/reduce conflict (shift 66(0), red'n 80(0)) on CORNER 183: shift/reduce conflict (shift 67(0), red'n 80(0)) on HERE 183: shift/reduce conflict (shift 69(0), red'n 80(0)) on LAST 183: shift/reduce conflict (shift 54(0), red'n 80(0)) on NTH 183: shift/reduce conflict (shift 45(0), red'n 80(0)) on NUMBER 183: shift/reduce conflict (shift 56(0), red'n 80(0)) on LOG 183: shift/reduce conflict (shift 57(0), red'n 80(0)) on EXP 183: shift/reduce conflict (shift 58(0), red'n 80(0)) on SIN 183: shift/reduce conflict (shift 59(0), red'n 80(0)) on COS 183: shift/reduce conflict (shift 60(0), red'n 80(0)) on ATAN2 183: shift/reduce conflict (shift 61(0), red'n 80(0)) on SQRT 183: shift/reduce conflict (shift 62(0), red'n 80(0)) on RAND 183: shift/reduce conflict (shift 64(0), red'n 80(0)) on MIN 183: shift/reduce conflict (shift 63(0), red'n 80(0)) on MAX 183: shift/reduce conflict (shift 65(0), red'n 80(0)) on INT 183: shift/reduce conflict (shift 49(5), red'n 80(0)) on '+' 183: shift/reduce conflict (shift 48(5), red'n 80(0)) on '-' 183: shift/reduce conflict (shift 55(7), red'n 80(0)) on NOT 183: shift/reduce conflict (shift 94(0), red'n 80(0)) on '(' state 183 attr: DOT.expr attr: DOT. (80) PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . reduce 80 (src line 221) expr goto 261 asgn goto 47 place goto 95 blockname goto 68 last goto 53 184: shift/reduce conflict (shift 52(0), red'n 82(0)) on PLACENAME 184: shift/reduce conflict (shift 46(0), red'n 82(0)) on VARNAME 184: shift/reduce conflict (shift 66(0), red'n 82(0)) on CORNER 184: shift/reduce conflict (shift 67(0), red'n 82(0)) on HERE 184: shift/reduce conflict (shift 69(0), red'n 82(0)) on LAST 184: shift/reduce conflict (shift 54(0), red'n 82(0)) on NTH 184: shift/reduce conflict (shift 45(0), red'n 82(0)) on NUMBER 184: shift/reduce conflict (shift 56(0), red'n 82(0)) on LOG 184: shift/reduce conflict (shift 57(0), red'n 82(0)) on EXP 184: shift/reduce conflict (shift 58(0), red'n 82(0)) on SIN 184: shift/reduce conflict (shift 59(0), red'n 82(0)) on COS 184: shift/reduce conflict (shift 60(0), red'n 82(0)) on ATAN2 184: shift/reduce conflict (shift 61(0), red'n 82(0)) on SQRT 184: shift/reduce conflict (shift 62(0), red'n 82(0)) on RAND 184: shift/reduce conflict (shift 64(0), red'n 82(0)) on MIN 184: shift/reduce conflict (shift 63(0), red'n 82(0)) on MAX 184: shift/reduce conflict (shift 65(0), red'n 82(0)) on INT 184: shift/reduce conflict (shift 49(5), red'n 82(0)) on '+' 184: shift/reduce conflict (shift 48(5), red'n 82(0)) on '-' 184: shift/reduce conflict (shift 55(7), red'n 82(0)) on NOT 184: shift/reduce conflict (shift 94(0), red'n 82(0)) on '(' state 184 attr: DASH.expr attr: DASH. (82) PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . reduce 82 (src line 223) expr goto 262 asgn goto 47 place goto 95 blockname goto 68 last goto 53 185: shift/reduce conflict (shift 264(0), red'n 84(0)) on PLACENAME 185: shift/reduce conflict (shift 46(0), red'n 84(0)) on VARNAME 185: shift/reduce conflict (shift 66(0), red'n 84(0)) on CORNER 185: shift/reduce conflict (shift 67(0), red'n 84(0)) on HERE 185: shift/reduce conflict (shift 69(0), red'n 84(0)) on LAST 185: shift/reduce conflict (shift 54(0), red'n 84(0)) on NTH 185: shift/reduce conflict (shift 45(0), red'n 84(0)) on NUMBER 185: shift/reduce conflict (shift 56(0), red'n 84(0)) on LOG 185: shift/reduce conflict (shift 57(0), red'n 84(0)) on EXP 185: shift/reduce conflict (shift 58(0), red'n 84(0)) on SIN 185: shift/reduce conflict (shift 59(0), red'n 84(0)) on COS 185: shift/reduce conflict (shift 60(0), red'n 84(0)) on ATAN2 185: shift/reduce conflict (shift 61(0), red'n 84(0)) on SQRT 185: shift/reduce conflict (shift 62(0), red'n 84(0)) on RAND 185: shift/reduce conflict (shift 64(0), red'n 84(0)) on MIN 185: shift/reduce conflict (shift 63(0), red'n 84(0)) on MAX 185: shift/reduce conflict (shift 65(0), red'n 84(0)) on INT 185: shift/reduce conflict (shift 49(5), red'n 84(0)) on '+' 185: shift/reduce conflict (shift 48(5), red'n 84(0)) on '-' 185: shift/reduce conflict (shift 55(7), red'n 84(0)) on NOT 185: shift/reduce conflict (shift 94(0), red'n 84(0)) on '(' state 185 attr: CHOP.expr attr: CHOP. (84) attr: CHOP.PLACENAME PLACENAME shift 264 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . reduce 84 (src line 225) expr goto 263 asgn goto 47 place goto 95 blockname goto 68 last goto 53 186: shift/reduce conflict (shift 52(0), red'n 87(0)) on PLACENAME 186: shift/reduce conflict (shift 46(0), red'n 87(0)) on VARNAME 186: shift/reduce conflict (shift 66(0), red'n 87(0)) on CORNER 186: shift/reduce conflict (shift 67(0), red'n 87(0)) on HERE 186: shift/reduce conflict (shift 69(0), red'n 87(0)) on LAST 186: shift/reduce conflict (shift 54(0), red'n 87(0)) on NTH 186: shift/reduce conflict (shift 45(0), red'n 87(0)) on NUMBER 186: shift/reduce conflict (shift 56(0), red'n 87(0)) on LOG 186: shift/reduce conflict (shift 57(0), red'n 87(0)) on EXP 186: shift/reduce conflict (shift 58(0), red'n 87(0)) on SIN 186: shift/reduce conflict (shift 59(0), red'n 87(0)) on COS 186: shift/reduce conflict (shift 60(0), red'n 87(0)) on ATAN2 186: shift/reduce conflict (shift 61(0), red'n 87(0)) on SQRT 186: shift/reduce conflict (shift 62(0), red'n 87(0)) on RAND 186: shift/reduce conflict (shift 64(0), red'n 87(0)) on MIN 186: shift/reduce conflict (shift 63(0), red'n 87(0)) on MAX 186: shift/reduce conflict (shift 65(0), red'n 87(0)) on INT 186: shift/reduce conflict (shift 49(5), red'n 87(0)) on '+' 186: shift/reduce conflict (shift 48(5), red'n 87(0)) on '-' 186: shift/reduce conflict (shift 55(7), red'n 87(0)) on NOT 186: shift/reduce conflict (shift 94(0), red'n 87(0)) on '(' state 186 attr: FILL.expr attr: FILL. (87) PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . reduce 87 (src line 228) expr goto 265 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 187 attr: NOEDGE. (88) . reduce 88 (src line 229) 188: shift/reduce conflict (shift 35(0), red'n 89(0)) on TEXT 188: shift/reduce conflict (shift 36(0), red'n 89(0)) on SPRINTF state 188 attr: textlist. (89) textlist: textlist.textattr TEXT shift 35 SPRINTF shift 36 . reduce 89 (src line 230) text goto 34 textattr goto 81 state 189 prim: lbracket piclist ']'.$$58 attrlist $$58: . (58) . reduce 58 (src line 189) $$58 goto 266 state 190 asgn: VARNAME '=' expr. (25) expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 25 (src line 124) state 191 copylist: copylist copyattr. (28) . reduce 28 (src line 133) state 192 copyattr: THRU DEFNAME. (30) . reduce 30 (src line 137) state 193 copyattr: UNTIL text. (31) . reduce 31 (src line 138) state 194 for: FOR name FROM.expr TO expr BY optop expr DOSTR for: FOR name FROM.expr TO expr DOSTR PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 267 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 195 for: FOR name '='.expr TO expr BY optop expr DOSTR for: FOR name '='.expr TO expr DOSTR PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 268 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 196 if: IF if_expr THENSTR.ELSESTR if: IF if_expr THENSTR. (37) ELSESTR shift 269 . reduce 37 (src line 154) state 197 expr: expr LT.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 270 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 198 if_expr: text EQ.text TEXT shift 35 SPRINTF shift 36 . error text goto 271 state 199 if_expr: text NEQ.text TEXT shift 35 SPRINTF shift 36 . error text goto 272 state 200 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: '(' expr.')' expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ')' shift 229 . error state 201 text: SPRINTF '(' text.')' text: SPRINTF '(' text.',' exprlist ')' ',' shift 274 ')' shift 273 . error state 202 picture: PLACENAME ':' ST picture. (9) . reduce 9 (src line 103) state 203 picture: PLACENAME ':' position ST. (10) . reduce 10 (src line 104) 204: shift/reduce conflict (shift 115(4), red'n 102(0)) on GT 204: shift/reduce conflict (shift 110(5), red'n 102(0)) on '+' 204: shift/reduce conflict (shift 111(5), red'n 102(0)) on '-' state 204 position: expr ',' expr. (102) expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 102 (src line 256) state 205 position: position.'+' expr ',' expr position: position.'-' expr ',' expr position: position.'+' '(' expr ',' expr ')' position: position.'-' '(' expr ',' expr ')' position: position.'+' place position: position.'-' place position: expr LT position.',' position GT '+' shift 124 '-' shift 125 ',' shift 275 . error 206: shift/reduce conflict (shift 109(0), red'n 159(4)) on BETWEEN 206: shift/reduce conflict (shift 107(0), red'n 159(4)) on ',' state 206 position: expr.',' expr position: expr.LT position ',' position GT position: expr.BETWEEN position AND position expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr LT expr. (159) expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr BETWEEN shift 109 GT error LT error LE error GE error EQ error NEQ error '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ',' shift 107 . reduce 159 (src line 332) state 207 position: position.'+' expr ',' expr position: position.'-' expr ',' expr position: position.'+' '(' expr ',' expr ')' position: position.'-' '(' expr ',' expr ')' position: position.'+' place position: position.'-' place position: expr BETWEEN position.AND position AND shift 276 '+' shift 124 '-' shift 125 . error state 208 expr: expr.'+' expr expr: expr '+' expr. (142) expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 142 (src line 311) state 209 expr: expr.'+' expr expr: expr.'-' expr expr: expr '-' expr. (143) expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 143 (src line 312) state 210 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr '*' expr. (144) expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr '^' shift 122 . reduce 144 (src line 313) state 211 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr '/' expr. (145) expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr '^' shift 122 . reduce 145 (src line 314) state 212 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr '%' expr. (146) expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr '^' shift 122 . reduce 146 (src line 317) state 213 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr GT expr. (158) expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr GT error LT error LE error GE error EQ error NEQ error '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 158 (src line 331) state 214 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr LE expr. (160) expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr GT error LT error LE error GE error EQ error NEQ error '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 160 (src line 333) state 215 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr GE expr. (161) expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr GT error LT error LE error GE error EQ error NEQ error '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 161 (src line 334) state 216 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr EQ expr. (162) expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr GT error LT error LE error GE error EQ error NEQ error '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 162 (src line 335) state 217 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr NEQ expr. (163) expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr GT error LT error LE error GE error EQ error NEQ error '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 163 (src line 336) state 218 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr ANDAND expr. (164) expr: expr.OROR expr expr: expr.'^' expr GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 164 (src line 337) state 219 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr OROR expr. (165) expr: expr.'^' expr ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 165 (src line 338) state 220 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr expr: expr '^' expr. (169) '^' shift 122 . reduce 169 (src line 342) state 221 position: position '+' expr.',' expr expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ',' shift 277 . error state 222 position: position '+' '('.expr ',' expr ')' expr: '('.expr ')' PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 278 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 223 position: position '+' place. (107) expr: place.DOTX expr: place.DOTY expr: place.DOTHT expr: place.DOTWID expr: place.DOTRAD DOTX shift 132 DOTY shift 133 DOTHT shift 134 DOTWID shift 135 DOTRAD shift 136 . reduce 107 (src line 261) state 224 position: position '-' expr.',' expr expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ',' shift 279 . error state 225 position: position '-' '('.expr ',' expr ')' expr: '('.expr ')' PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 280 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 226 position: position '-' place. (108) expr: place.DOTX expr: place.DOTY expr: place.DOTHT expr: place.DOTWID expr: place.DOTRAD DOTX shift 132 DOTY shift 133 DOTHT shift 134 DOTWID shift 135 DOTRAD shift 136 . reduce 108 (src line 262) state 227 position: '(' position ')'. (101) . reduce 101 (src line 255) state 228 position: '(' place ','.place ')' PLACENAME shift 282 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 284 . error place goto 281 blockname goto 68 last goto 283 state 229 expr: '(' expr ')'. (149) . reduce 149 (src line 322) state 230 blockname: PLACENAME '.' PLACENAME. (127) . reduce 127 (src line 287) state 231 expr: PLACENAME '.' VARNAME. (155) . reduce 155 (src line 328) state 232 place: last type CORNER. (117) . reduce 117 (src line 274) state 233 blockname: last BLOCK '.'.PLACENAME expr: last BLOCK '.'.VARNAME PLACENAME shift 285 VARNAME shift 286 . error state 234 place: NTH type CORNER. (120) . reduce 120 (src line 277) state 235 blockname: NTH BLOCK '.'.PLACENAME expr: NTH BLOCK '.'.VARNAME PLACENAME shift 287 VARNAME shift 288 . error state 236 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: LOG '(' expr.')' expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ')' shift 289 . error state 237 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: EXP '(' expr.')' expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ')' shift 290 . error state 238 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr expr: SIN '(' expr.')' OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ')' shift 291 . error state 239 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr expr: COS '(' expr.')' OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ')' shift 292 . error state 240 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr expr: ATAN2 '(' expr.',' expr ')' OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ',' shift 293 . error state 241 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr expr: SQRT '(' expr.')' OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ')' shift 294 . error state 242 expr: RAND '(' ')'. (174) . reduce 174 (src line 347) state 243 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr expr: MAX '(' expr.',' expr ')' OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ',' shift 295 . error state 244 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr expr: MIN '(' expr.',' expr ')' OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ',' shift 296 . error state 245 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr expr: INT '(' expr.')' OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ')' shift 297 . error state 246 blockname: PLACENAME '.'.PLACENAME PLACENAME shift 230 . error state 247 place: CORNER last type. (118) . reduce 118 (src line 275) state 248 blockname: last BLOCK.'.' PLACENAME type: BLOCK. (138) '.' shift 298 . reduce 138 (src line 304) state 249 place: CORNER NTH type. (121) . reduce 121 (src line 278) state 250 blockname: NTH BLOCK.'.' PLACENAME type: BLOCK. (138) '.' shift 299 . reduce 138 (src line 304) state 251 varlist: varlist ',' VARNAME. (24) . reduce 24 (src line 121) 252: shift/reduce conflict (shift 110(5), red'n 63(0)) on '+' 252: shift/reduce conflict (shift 111(5), red'n 63(0)) on '-' state 252 attr: ATTR expr. (63) expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 63 (src line 202) 253: shift/reduce conflict (shift 110(5), red'n 66(0)) on '+' 253: shift/reduce conflict (shift 111(5), red'n 66(0)) on '-' state 253 attr: DIR expr. (66) expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 66 (src line 206) 254: shift/reduce conflict (shift 124(5), red'n 68(0)) on '+' 254: shift/reduce conflict (shift 125(5), red'n 68(0)) on '-' state 254 attr: FROM position. (68) position: position.'+' expr ',' expr position: position.'-' expr ',' expr position: position.'+' '(' expr ',' expr ')' position: position.'-' '(' expr ',' expr ')' position: position.'+' place position: position.'-' place '+' shift 124 '-' shift 125 . reduce 68 (src line 208) 255: shift/reduce conflict (shift 124(5), red'n 69(0)) on '+' 255: shift/reduce conflict (shift 125(5), red'n 69(0)) on '-' state 255 attr: TO position. (69) position: position.'+' expr ',' expr position: position.'-' expr ',' expr position: position.'+' '(' expr ',' expr ')' position: position.'-' '(' expr ',' expr ')' position: position.'+' place position: position.'-' place '+' shift 124 '-' shift 125 . reduce 69 (src line 209) 256: shift/reduce conflict (shift 124(5), red'n 70(0)) on '+' 256: shift/reduce conflict (shift 125(5), red'n 70(0)) on '-' state 256 attr: AT position. (70) position: position.'+' expr ',' expr position: position.'-' expr ',' expr position: position.'+' '(' expr ',' expr ')' position: position.'-' '(' expr ',' expr ')' position: position.'+' place position: position.'-' place '+' shift 124 '-' shift 125 . reduce 70 (src line 210) 257: shift/reduce conflict (shift 124(5), red'n 71(0)) on '+' 257: shift/reduce conflict (shift 125(5), red'n 71(0)) on '-' state 257 attr: BY position. (71) position: position.'+' expr ',' expr position: position.'-' expr ',' expr position: position.'+' '(' expr ',' expr ')' position: position.'-' '(' expr ',' expr ')' position: position.'+' place position: position.'-' place '+' shift 124 '-' shift 125 . reduce 71 (src line 211) 258: shift/reduce conflict (shift 163(0), red'n 72(0)) on PLACENAME 258: shift/reduce conflict (shift 69(0), red'n 72(0)) on LAST 258: shift/reduce conflict (shift 165(0), red'n 72(0)) on NTH state 258 attr: WITH CORNER. (72) place: CORNER.PLACENAME place: CORNER.last type place: CORNER.NTH type place: CORNER.blockname PLACENAME shift 163 LAST shift 69 NTH shift 165 . reduce 72 (src line 212) blockname goto 166 last goto 164 state 259 attr: WITH '.'.PLACENAME attr: WITH '.'.PLACENAME CORNER PLACENAME shift 300 . error 260: shift/reduce conflict (shift 124(5), red'n 75(0)) on '+' 260: shift/reduce conflict (shift 125(5), red'n 75(0)) on '-' state 260 attr: WITH position. (75) position: position.'+' expr ',' expr position: position.'-' expr ',' expr position: position.'+' '(' expr ',' expr ')' position: position.'-' '(' expr ',' expr ')' position: position.'+' place position: position.'-' place '+' shift 124 '-' shift 125 . reduce 75 (src line 216) 261: shift/reduce conflict (shift 110(5), red'n 79(0)) on '+' 261: shift/reduce conflict (shift 111(5), red'n 79(0)) on '-' state 261 attr: DOT expr. (79) expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 79 (src line 220) 262: shift/reduce conflict (shift 110(5), red'n 81(0)) on '+' 262: shift/reduce conflict (shift 111(5), red'n 81(0)) on '-' state 262 attr: DASH expr. (81) expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 81 (src line 222) 263: shift/reduce conflict (shift 110(5), red'n 83(0)) on '+' 263: shift/reduce conflict (shift 111(5), red'n 83(0)) on '-' state 263 attr: CHOP expr. (83) expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 83 (src line 224) 264: shift/reduce conflict (shift 137(0), red'n 85(0)) on CORNER state 264 attr: CHOP PLACENAME. (85) place: PLACENAME. (112) place: PLACENAME.CORNER blockname: PLACENAME.'.' PLACENAME expr: PLACENAME.'.' VARNAME CORNER shift 137 DOTX reduce 112 (src line 268) DOTY reduce 112 (src line 268) DOTHT reduce 112 (src line 268) DOTWID reduce 112 (src line 268) DOTRAD reduce 112 (src line 268) '.' shift 138 . reduce 85 (src line 226) 265: shift/reduce conflict (shift 110(5), red'n 86(0)) on '+' 265: shift/reduce conflict (shift 111(5), red'n 86(0)) on '-' state 265 attr: FILL expr. (86) expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 86 (src line 227) state 266 prim: lbracket piclist ']' $$58.attrlist attrlist: . (62) . reduce 62 (src line 199) attrlist goto 301 state 267 for: FOR name FROM expr.TO expr BY optop expr DOSTR for: FOR name FROM expr.TO expr DOSTR expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr TO shift 302 OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . error state 268 for: FOR name '=' expr.TO expr BY optop expr DOSTR for: FOR name '=' expr.TO expr DOSTR expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr TO shift 303 OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . error state 269 if: IF if_expr THENSTR ELSESTR. (36) . reduce 36 (src line 152) state 270 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr LT expr. (159) expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr GT error LT error LE error GE error EQ error NEQ error '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 159 (src line 332) state 271 if_expr: text EQ text. (39) . reduce 39 (src line 158) state 272 if_expr: text NEQ text. (40) . reduce 40 (src line 159) state 273 text: SPRINTF '(' text ')'. (96) . reduce 96 (src line 244) state 274 text: SPRINTF '(' text ','.exprlist ')' PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 305 asgn goto 47 exprlist goto 304 place goto 95 blockname goto 68 last goto 53 state 275 position: expr LT position ','.position GT PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 50 . error expr goto 105 asgn goto 47 position goto 306 place goto 51 blockname goto 68 last goto 53 state 276 position: expr BETWEEN position AND.position PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 50 . error expr goto 105 asgn goto 47 position goto 307 place goto 51 blockname goto 68 last goto 53 state 277 position: position '+' expr ','.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 308 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 278 position: position '+' '(' expr.',' expr ')' expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: '(' expr.')' expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ',' shift 309 ')' shift 229 . error state 279 position: position '-' expr ','.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 310 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 280 position: position '-' '(' expr.',' expr ')' expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: '(' expr.')' expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ',' shift 311 ')' shift 229 . error state 281 position: '(' place ',' place.')' ')' shift 312 . error state 282 place: PLACENAME. (112) place: PLACENAME.CORNER blockname: PLACENAME.'.' PLACENAME CORNER shift 137 '.' shift 246 . reduce 112 (src line 268) state 283 place: last.type place: last.type CORNER blockname: last.BLOCK '.' PLACENAME last: last.LAST BOX shift 142 LINE shift 146 ARROW shift 147 CIRCLE shift 143 ELLIPSE shift 144 ARC shift 145 SPLINE shift 148 BLOCK shift 248 LAST shift 141 . error type goto 139 state 284 place: NTH.type place: NTH.type CORNER blockname: NTH.BLOCK '.' PLACENAME last: NTH.LAST BOX shift 142 LINE shift 146 ARROW shift 147 CIRCLE shift 143 ELLIPSE shift 144 ARC shift 145 SPLINE shift 148 BLOCK shift 250 LAST shift 151 . error type goto 149 state 285 blockname: last BLOCK '.' PLACENAME. (125) . reduce 125 (src line 284) state 286 expr: last BLOCK '.' VARNAME. (156) . reduce 156 (src line 329) state 287 blockname: NTH BLOCK '.' PLACENAME. (126) . reduce 126 (src line 286) state 288 expr: NTH BLOCK '.' VARNAME. (157) . reduce 157 (src line 330) state 289 expr: LOG '(' expr ')'. (167) . reduce 167 (src line 340) state 290 expr: EXP '(' expr ')'. (168) . reduce 168 (src line 341) state 291 expr: SIN '(' expr ')'. (170) . reduce 170 (src line 343) state 292 expr: COS '(' expr ')'. (171) . reduce 171 (src line 344) state 293 expr: ATAN2 '(' expr ','.expr ')' PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 313 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 294 expr: SQRT '(' expr ')'. (173) . reduce 173 (src line 346) state 295 expr: MAX '(' expr ','.expr ')' PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 314 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 296 expr: MIN '(' expr ','.expr ')' PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 315 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 297 expr: INT '(' expr ')'. (177) . reduce 177 (src line 350) state 298 blockname: last BLOCK '.'.PLACENAME PLACENAME shift 285 . error state 299 blockname: NTH BLOCK '.'.PLACENAME PLACENAME shift 287 . error 300: shift/reduce conflict (shift 316(0), red'n 73(0)) on CORNER state 300 attr: WITH '.' PLACENAME. (73) attr: WITH '.' PLACENAME.CORNER CORNER shift 316 . reduce 73 (src line 213) state 301 prim: lbracket piclist ']' $$58 attrlist. (59) attrlist: attrlist.attr TEXT shift 35 PLACENAME shift 52 VARNAME shift 46 SPRINTF shift 36 ATTR shift 172 TEXTATTR shift 181 FROM shift 175 TO shift 176 AT shift 177 BY shift 178 WITH shift 179 HEAD shift 182 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 SAME shift 180 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 DIR shift 174 DOT shift 183 DASH shift 184 CHOP shift 185 FILL shift 186 NOEDGE shift 187 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . reduce 59 (src line 189) expr goto 173 asgn goto 47 text goto 34 place goto 95 blockname goto 68 textlist goto 188 textattr goto 32 last goto 53 attr goto 171 state 302 for: FOR name FROM expr TO.expr BY optop expr DOSTR for: FOR name FROM expr TO.expr DOSTR PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 317 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 303 for: FOR name '=' expr TO.expr BY optop expr DOSTR for: FOR name '=' expr TO.expr DOSTR PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 318 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 304 text: SPRINTF '(' text ',' exprlist.')' exprlist: exprlist.',' expr ',' shift 320 ')' shift 319 . error state 305 exprlist: expr. (98) expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 98 (src line 248) state 306 position: position.'+' expr ',' expr position: position.'-' expr ',' expr position: position.'+' '(' expr ',' expr ')' position: position.'-' '(' expr ',' expr ')' position: position.'+' place position: position.'-' place position: expr LT position ',' position.GT GT shift 321 '+' shift 124 '-' shift 125 . error 307: shift/reduce conflict (shift 124(5), red'n 111(0)) on '+' 307: shift/reduce conflict (shift 125(5), red'n 111(0)) on '-' state 307 position: position.'+' expr ',' expr position: position.'-' expr ',' expr position: position.'+' '(' expr ',' expr ')' position: position.'-' '(' expr ',' expr ')' position: position.'+' place position: position.'-' place position: expr BETWEEN position AND position. (111) '+' shift 124 '-' shift 125 . reduce 111 (src line 265) 308: shift/reduce conflict (shift 115(4), red'n 103(0)) on GT 308: shift/reduce conflict (shift 110(5), red'n 103(0)) on '+' 308: shift/reduce conflict (shift 111(5), red'n 103(0)) on '-' state 308 position: position '+' expr ',' expr. (103) expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 103 (src line 257) state 309 position: position '+' '(' expr ','.expr ')' PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 322 asgn goto 47 place goto 95 blockname goto 68 last goto 53 310: shift/reduce conflict (shift 115(4), red'n 104(0)) on GT 310: shift/reduce conflict (shift 110(5), red'n 104(0)) on '+' 310: shift/reduce conflict (shift 111(5), red'n 104(0)) on '-' state 310 position: position '-' expr ',' expr. (104) expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 104 (src line 258) state 311 position: position '-' '(' expr ','.expr ')' PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 323 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 312 position: '(' place ',' place ')'. (109) . reduce 109 (src line 263) state 313 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr expr: ATAN2 '(' expr ',' expr.')' OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ')' shift 324 . error state 314 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr expr: MAX '(' expr ',' expr.')' OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ')' shift 325 . error state 315 expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr expr: MIN '(' expr ',' expr.')' OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ')' shift 326 . error state 316 attr: WITH '.' PLACENAME CORNER. (74) . reduce 74 (src line 214) state 317 for: FOR name FROM expr TO expr.BY optop expr DOSTR for: FOR name FROM expr TO expr.DOSTR expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr DOSTR shift 328 BY shift 327 OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . error state 318 for: FOR name '=' expr TO expr.BY optop expr DOSTR for: FOR name '=' expr TO expr.DOSTR expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr DOSTR shift 330 BY shift 329 OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . error state 319 text: SPRINTF '(' text ',' exprlist ')'. (97) . reduce 97 (src line 245) state 320 exprlist: exprlist ','.expr PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 331 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 321 position: expr LT position ',' position GT. (110) . reduce 110 (src line 264) state 322 position: position '+' '(' expr ',' expr.')' expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ')' shift 332 . error state 323 position: position '-' '(' expr ',' expr.')' expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 ')' shift 333 . error state 324 expr: ATAN2 '(' expr ',' expr ')'. (172) . reduce 172 (src line 345) state 325 expr: MAX '(' expr ',' expr ')'. (175) . reduce 175 (src line 348) state 326 expr: MIN '(' expr ',' expr ')'. (176) . reduce 176 (src line 349) 327: shift/reduce conflict (shift 335(5), red'n 46(0)) on '+' 327: shift/reduce conflict (shift 336(5), red'n 46(0)) on '-' state 327 for: FOR name FROM expr TO expr BY.optop expr DOSTR optop: . (46) '+' shift 335 '-' shift 336 '*' shift 337 '/' shift 338 . reduce 46 (src line 170) optop goto 334 state 328 for: FOR name FROM expr TO expr DOSTR. (33) . reduce 33 (src line 144) 329: shift/reduce conflict (shift 335(5), red'n 46(0)) on '+' 329: shift/reduce conflict (shift 336(5), red'n 46(0)) on '-' state 329 for: FOR name '=' expr TO expr BY.optop expr DOSTR optop: . (46) '+' shift 335 '-' shift 336 '*' shift 337 '/' shift 338 . reduce 46 (src line 170) optop goto 339 state 330 for: FOR name '=' expr TO expr DOSTR. (35) . reduce 35 (src line 148) state 331 exprlist: exprlist ',' expr. (99) expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . reduce 99 (src line 250) state 332 position: position '+' '(' expr ',' expr ')'. (105) . reduce 105 (src line 259) state 333 position: position '-' '(' expr ',' expr ')'. (106) . reduce 106 (src line 260) state 334 for: FOR name FROM expr TO expr BY optop.expr DOSTR PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 340 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 335 optop: '+'. (42) . reduce 42 (src line 165) state 336 optop: '-'. (43) . reduce 43 (src line 167) state 337 optop: '*'. (44) . reduce 44 (src line 168) state 338 optop: '/'. (45) . reduce 45 (src line 169) state 339 for: FOR name '=' expr TO expr BY optop.expr DOSTR PLACENAME shift 52 VARNAME shift 46 CORNER shift 66 HERE shift 67 LAST shift 69 NTH shift 54 NUMBER shift 45 LOG shift 56 EXP shift 57 SIN shift 58 COS shift 59 ATAN2 shift 60 SQRT shift 61 RAND shift 62 MIN shift 64 MAX shift 63 INT shift 65 '+' shift 49 '-' shift 48 NOT shift 55 '(' shift 94 . error expr goto 341 asgn goto 47 place goto 95 blockname goto 68 last goto 53 state 340 for: FOR name FROM expr TO expr BY optop expr.DOSTR expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr DOSTR shift 342 OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . error state 341 for: FOR name '=' expr TO expr BY optop expr.DOSTR expr: expr.'+' expr expr: expr.'-' expr expr: expr.'*' expr expr: expr.'/' expr expr: expr.'%' expr expr: expr.GT expr expr: expr.LT expr expr: expr.LE expr expr: expr.GE expr expr: expr.EQ expr expr: expr.NEQ expr expr: expr.ANDAND expr expr: expr.OROR expr expr: expr.'^' expr DOSTR shift 343 OROR shift 121 ANDAND shift 120 GT shift 115 LT shift 197 LE shift 116 GE shift 117 EQ shift 118 NEQ shift 119 '+' shift 110 '-' shift 111 '*' shift 112 '/' shift 113 '%' shift 114 '^' shift 122 . error state 342 for: FOR name FROM expr TO expr BY optop expr DOSTR. (32) . reduce 32 (src line 141) state 343 for: FOR name '=' expr TO expr BY optop expr DOSTR. (34) . reduce 34 (src line 146) 117 terminals, 30 nonterminals 178 grammar rules, 344/8000 states 208 shift/reduce, 0 reduce/reduce conflicts reported 129 working sets used memory: parser 785/120000 323 extra closures 2895 shift entries, 49 exceptions 175 goto entries 398 entries saved by goto default Optimizer space used: output 1654/120000 1654 table entries, 501 zero maximum spread: 117, maximum offset: 339