6894 lines
118 KiB
Plaintext
Executable File
6894 lines
118 KiB
Plaintext
Executable File
|
|
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
|