   0  $accept : function $end

   1  function : function stmt
   2           |

   3  stmt : ';'
   4       | HELP
   5       | pgplot_arg
   6       | procedure
   7       | FOR '(' varchange ';' boolean ';' varchange ')' stmt
   8       | FOR varchange ',' expr stmt
   9       | varchange ';'
  10       | FITSFILE '=' expr
  11       | WHILE boolean stmt
  12       | IF boolean stmt
  13       | IF boolean stmt ELSE stmt
  14       | IF expr stmt
  15       | IF expr stmt ELSE stmt
  16       | '{' stmt_list '}'
  17       | error ';'
  18       | error '}'
  19       | EXIT

  20  stmt_list : stmt
  21            | stmt_list stmt

  22  assignment : VARIABLE '=' expr
  23             | VARIABLE '=' boolean
  24             | VARIABLE '=' assignment

  25  varchange : VARIABLE PlusP
  26            | VARIABLE MinusM
  27            | VARIABLE PlusE expr
  28            | VARIABLE MinusE expr
  29            | VARIABLE MulE expr
  30            | VARIABLE DivE expr
  31            | VARIABLE rangeargs '=' expr
  32            | VARIABLE rangeargs PlusE expr
  33            | VARIABLE rangeargs MinusE expr
  34            | VARIABLE rangeargs MulE expr
  35            | VARIABLE rangeargs DivE expr
  36            | VARIABLE rangeargs PlusP
  37            | VARIABLE rangeargs MinusM
  38            | assignment

  39  funcarg_list : FUNCTION '(' expr
  40               | funcarg_list ',' expr
  41               | funcarg_list ',' assignment
  42               | funcarg_list OPTION

  43  rangeargs : rangearg_list ']'

  44  rangearg_list : '[' expr
  45                | '[' '*'
  46                | rangearg_list ':' expr
  47                | rangearg_list ',' expr
  48                | rangearg_list ',' '*'

  49  procedure : PGPLOT
  50            | PGPLOT ','

  51  pgplot_arg : procedure expr
  52             | procedure boolean
  53             | pgplot_arg ',' expr
  54             | pgplot_arg ',' boolean
  55             | pgplot_arg ',' assignment
  56             | pgplot_arg OPTION

  57  expr : INTEGER
  58       | REAL
  59       | COMPLEX
  60       | FITSFILE
  61       | STRING
  62       | VARIABLE
  63       | '-' expr
  64       | expr '+' expr
  65       | expr '-' expr
  66       | expr '*' expr
  67       | expr '/' expr
  68       | expr '^' expr
  69       | boolean '?' expr ':' expr
  70       | '(' expr ')'
  71       | FUNCTION '(' ')'
  72       | WHERE '(' boolean ')'
  73       | funcarg_list ')'
  74       | expr rangeargs
  75       | rangeargs

  76  boolean : expr '<' expr
  77          | expr '>' expr
  78          | expr GE expr
  79          | expr LE expr
  80          | expr NE expr
  81          | expr EQ expr
  82          | '(' boolean ')'
  83          | boolean AND boolean
  84          | boolean OR boolean
  85          | '!' boolean

state 0
	$accept : . function $end  (0)
	function : .  (2)

	.  reduce 2

	function  goto 1


state 1
	$accept : function . $end  (0)
	function : function . stmt  (1)

	$end  accept
	error  shift 2
	FITSFILE  shift 3
	HELP  shift 4
	PGPLOT  shift 5
	VARIABLE  shift 6
	WHILE  shift 7
	IF  shift 8
	EXIT  shift 9
	FOR  shift 10
	';'  shift 11
	'{'  shift 12
	.  error

	stmt  goto 13
	pgplot_arg  goto 14
	assignment  goto 15
	varchange  goto 16
	procedure  goto 17


state 2
	stmt : error . ';'  (17)
	stmt : error . '}'  (18)

	';'  shift 18
	'}'  shift 19
	.  error


state 3
	stmt : FITSFILE . '=' expr  (10)

	'='  shift 20
	.  error


state 4
	stmt : HELP .  (4)

	.  reduce 4


state 5
	procedure : PGPLOT .  (49)
	procedure : PGPLOT . ','  (50)

	','  shift 21
	$end  reduce 49
	error  reduce 49
	INTEGER  reduce 49
	FUNCTION  reduce 49
	REAL  reduce 49
	COMPLEX  reduce 49
	STRING  reduce 49
	FITSFILE  reduce 49
	HELP  reduce 49
	PGPLOT  reduce 49
	VARIABLE  reduce 49
	WHILE  reduce 49
	IF  reduce 49
	EXIT  reduce 49
	FOR  reduce 49
	WHERE  reduce 49
	ELSE  reduce 49
	'-'  reduce 49
	'!'  reduce 49
	'['  reduce 49
	';'  reduce 49
	'('  reduce 49
	'{'  reduce 49
	'}'  reduce 49


state 6
	assignment : VARIABLE . '=' expr  (22)
	assignment : VARIABLE . '=' boolean  (23)
	assignment : VARIABLE . '=' assignment  (24)
	varchange : VARIABLE . PlusP  (25)
	varchange : VARIABLE . MinusM  (26)
	varchange : VARIABLE . PlusE expr  (27)
	varchange : VARIABLE . MinusE expr  (28)
	varchange : VARIABLE . MulE expr  (29)
	varchange : VARIABLE . DivE expr  (30)
	varchange : VARIABLE . rangeargs '=' expr  (31)
	varchange : VARIABLE . rangeargs PlusE expr  (32)
	varchange : VARIABLE . rangeargs MinusE expr  (33)
	varchange : VARIABLE . rangeargs MulE expr  (34)
	varchange : VARIABLE . rangeargs DivE expr  (35)
	varchange : VARIABLE . rangeargs PlusP  (36)
	varchange : VARIABLE . rangeargs MinusM  (37)

	PlusE  shift 22
	MinusE  shift 23
	MulE  shift 24
	DivE  shift 25
	PlusP  shift 26
	MinusM  shift 27
	'['  shift 28
	'='  shift 29
	.  error

	rangearg_list  goto 30
	rangeargs  goto 31


state 7
	stmt : WHILE . boolean stmt  (11)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 43
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 46


state 8
	stmt : IF . boolean stmt  (12)
	stmt : IF . boolean stmt ELSE stmt  (13)
	stmt : IF . expr stmt  (14)
	stmt : IF . expr stmt ELSE stmt  (15)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 47
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 48


state 9
	stmt : EXIT .  (19)

	.  reduce 19


state 10
	stmt : FOR . '(' varchange ';' boolean ';' varchange ')' stmt  (7)
	stmt : FOR . varchange ',' expr stmt  (8)

	VARIABLE  shift 6
	'('  shift 49
	.  error

	assignment  goto 15
	varchange  goto 50


state 11
	stmt : ';' .  (3)

	.  reduce 3


state 12
	stmt : '{' . stmt_list '}'  (16)

	error  shift 2
	FITSFILE  shift 3
	HELP  shift 4
	PGPLOT  shift 5
	VARIABLE  shift 6
	WHILE  shift 7
	IF  shift 8
	EXIT  shift 9
	FOR  shift 10
	';'  shift 11
	'{'  shift 12
	.  error

	stmt  goto 51
	stmt_list  goto 52
	pgplot_arg  goto 14
	assignment  goto 15
	varchange  goto 16
	procedure  goto 17


state 13
	function : function stmt .  (1)

	.  reduce 1


state 14
	stmt : pgplot_arg .  (5)
	pgplot_arg : pgplot_arg . ',' expr  (53)
	pgplot_arg : pgplot_arg . ',' boolean  (54)
	pgplot_arg : pgplot_arg . ',' assignment  (55)
	pgplot_arg : pgplot_arg . OPTION  (56)

	OPTION  shift 53
	','  shift 54
	$end  reduce 5
	error  reduce 5
	FITSFILE  reduce 5
	HELP  reduce 5
	PGPLOT  reduce 5
	VARIABLE  reduce 5
	WHILE  reduce 5
	IF  reduce 5
	EXIT  reduce 5
	FOR  reduce 5
	ELSE  reduce 5
	';'  reduce 5
	'{'  reduce 5
	'}'  reduce 5


state 15
	varchange : assignment .  (38)

	.  reduce 38


state 16
	stmt : varchange . ';'  (9)

	';'  shift 55
	.  error


17: shift/reduce conflict (shift 37, reduce 6) on FITSFILE
17: shift/reduce conflict (shift 38, reduce 6) on VARIABLE
state 17
	stmt : procedure .  (6)
	pgplot_arg : procedure . expr  (51)
	pgplot_arg : procedure . boolean  (52)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	$end  reduce 6
	error  reduce 6
	HELP  reduce 6
	PGPLOT  reduce 6
	WHILE  reduce 6
	IF  reduce 6
	EXIT  reduce 6
	FOR  reduce 6
	ELSE  reduce 6
	';'  reduce 6
	'{'  reduce 6
	'}'  reduce 6

	expr  goto 56
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 57


state 18
	stmt : error ';' .  (17)

	.  reduce 17


state 19
	stmt : error '}' .  (18)

	.  reduce 18


state 20
	stmt : FITSFILE '=' . expr  (10)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 58
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 21
	procedure : PGPLOT ',' .  (50)

	.  reduce 50


state 22
	varchange : VARIABLE PlusE . expr  (27)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 60
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 23
	varchange : VARIABLE MinusE . expr  (28)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 61
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 24
	varchange : VARIABLE MulE . expr  (29)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 62
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 25
	varchange : VARIABLE DivE . expr  (30)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 63
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 26
	varchange : VARIABLE PlusP .  (25)

	.  reduce 25


state 27
	varchange : VARIABLE MinusM .  (26)

	.  reduce 26


state 28
	rangearg_list : '[' . expr  (44)
	rangearg_list : '[' . '*'  (45)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'*'  shift 64
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 65
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 29
	assignment : VARIABLE '=' . expr  (22)
	assignment : VARIABLE '=' . boolean  (23)
	assignment : VARIABLE '=' . assignment  (24)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 66
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 67
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 68
	assignment  goto 69


state 30
	rangeargs : rangearg_list . ']'  (43)
	rangearg_list : rangearg_list . ':' expr  (46)
	rangearg_list : rangearg_list . ',' expr  (47)
	rangearg_list : rangearg_list . ',' '*'  (48)

	']'  shift 70
	','  shift 71
	':'  shift 72
	.  error


state 31
	varchange : VARIABLE rangeargs . '=' expr  (31)
	varchange : VARIABLE rangeargs . PlusE expr  (32)
	varchange : VARIABLE rangeargs . MinusE expr  (33)
	varchange : VARIABLE rangeargs . MulE expr  (34)
	varchange : VARIABLE rangeargs . DivE expr  (35)
	varchange : VARIABLE rangeargs . PlusP  (36)
	varchange : VARIABLE rangeargs . MinusM  (37)

	PlusE  shift 73
	MinusE  shift 74
	MulE  shift 75
	DivE  shift 76
	PlusP  shift 77
	MinusM  shift 78
	'='  shift 79
	.  error


state 32
	expr : INTEGER .  (57)

	.  reduce 57


state 33
	funcarg_list : FUNCTION . '(' expr  (39)
	expr : FUNCTION . '(' ')'  (71)

	'('  shift 80
	.  error


state 34
	expr : REAL .  (58)

	.  reduce 58


state 35
	expr : COMPLEX .  (59)

	.  reduce 59


state 36
	expr : STRING .  (61)

	.  reduce 61


state 37
	expr : FITSFILE .  (60)

	.  reduce 60


state 38
	expr : VARIABLE .  (62)

	.  reduce 62


state 39
	expr : WHERE . '(' boolean ')'  (72)

	'('  shift 81
	.  error


state 40
	expr : '-' . expr  (63)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 82
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 41
	boolean : '!' . boolean  (85)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 43
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 83


state 42
	expr : '(' . expr ')'  (70)
	boolean : '(' . boolean ')'  (82)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 84
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 85


state 43
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	.  error

	rangearg_list  goto 30
	rangeargs  goto 97


state 44
	funcarg_list : funcarg_list . ',' expr  (40)
	funcarg_list : funcarg_list . ',' assignment  (41)
	funcarg_list : funcarg_list . OPTION  (42)
	expr : funcarg_list . ')'  (73)

	OPTION  shift 98
	')'  shift 99
	','  shift 100
	.  error


state 45
	expr : rangeargs .  (75)

	.  reduce 75


state 46
	stmt : WHILE boolean . stmt  (11)
	expr : boolean . '?' expr ':' expr  (69)
	boolean : boolean . AND boolean  (83)
	boolean : boolean . OR boolean  (84)

	error  shift 2
	FITSFILE  shift 3
	HELP  shift 4
	PGPLOT  shift 5
	VARIABLE  shift 6
	WHILE  shift 7
	IF  shift 8
	EXIT  shift 9
	FOR  shift 10
	'?'  shift 101
	AND  shift 102
	OR  shift 103
	';'  shift 11
	'{'  shift 12
	.  error

	stmt  goto 104
	pgplot_arg  goto 14
	assignment  goto 15
	varchange  goto 16
	procedure  goto 17


state 47
	stmt : IF expr . stmt  (14)
	stmt : IF expr . stmt ELSE stmt  (15)
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	error  shift 2
	FITSFILE  shift 3
	HELP  shift 4
	PGPLOT  shift 5
	VARIABLE  shift 6
	WHILE  shift 7
	IF  shift 8
	EXIT  shift 9
	FOR  shift 10
	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	';'  shift 11
	'{'  shift 12
	.  error

	stmt  goto 105
	rangearg_list  goto 30
	rangeargs  goto 97
	pgplot_arg  goto 14
	assignment  goto 15
	varchange  goto 16
	procedure  goto 17


state 48
	stmt : IF boolean . stmt  (12)
	stmt : IF boolean . stmt ELSE stmt  (13)
	expr : boolean . '?' expr ':' expr  (69)
	boolean : boolean . AND boolean  (83)
	boolean : boolean . OR boolean  (84)

	error  shift 2
	FITSFILE  shift 3
	HELP  shift 4
	PGPLOT  shift 5
	VARIABLE  shift 6
	WHILE  shift 7
	IF  shift 8
	EXIT  shift 9
	FOR  shift 10
	'?'  shift 101
	AND  shift 102
	OR  shift 103
	';'  shift 11
	'{'  shift 12
	.  error

	stmt  goto 106
	pgplot_arg  goto 14
	assignment  goto 15
	varchange  goto 16
	procedure  goto 17


state 49
	stmt : FOR '(' . varchange ';' boolean ';' varchange ')' stmt  (7)

	VARIABLE  shift 6
	.  error

	assignment  goto 15
	varchange  goto 107


state 50
	stmt : FOR varchange . ',' expr stmt  (8)

	','  shift 108
	.  error


state 51
	stmt_list : stmt .  (20)

	.  reduce 20


state 52
	stmt : '{' stmt_list . '}'  (16)
	stmt_list : stmt_list . stmt  (21)

	error  shift 2
	FITSFILE  shift 3
	HELP  shift 4
	PGPLOT  shift 5
	VARIABLE  shift 6
	WHILE  shift 7
	IF  shift 8
	EXIT  shift 9
	FOR  shift 10
	';'  shift 11
	'{'  shift 12
	'}'  shift 109
	.  error

	stmt  goto 110
	pgplot_arg  goto 14
	assignment  goto 15
	varchange  goto 16
	procedure  goto 17


state 53
	pgplot_arg : pgplot_arg OPTION .  (56)

	.  reduce 56


state 54
	pgplot_arg : pgplot_arg ',' . expr  (53)
	pgplot_arg : pgplot_arg ',' . boolean  (54)
	pgplot_arg : pgplot_arg ',' . assignment  (55)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 66
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 111
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 112
	assignment  goto 113


state 55
	stmt : varchange ';' .  (9)

	.  reduce 9


state 56
	pgplot_arg : procedure expr .  (51)
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	$end  reduce 51
	error  reduce 51
	FITSFILE  reduce 51
	HELP  reduce 51
	OPTION  reduce 51
	PGPLOT  reduce 51
	VARIABLE  reduce 51
	WHILE  reduce 51
	IF  reduce 51
	EXIT  reduce 51
	FOR  reduce 51
	ELSE  reduce 51
	';'  reduce 51
	','  reduce 51
	'{'  reduce 51
	'}'  reduce 51

	rangearg_list  goto 30
	rangeargs  goto 97


state 57
	pgplot_arg : procedure boolean .  (52)
	expr : boolean . '?' expr ':' expr  (69)
	boolean : boolean . AND boolean  (83)
	boolean : boolean . OR boolean  (84)

	'?'  shift 101
	AND  shift 102
	OR  shift 103
	$end  reduce 52
	error  reduce 52
	FITSFILE  reduce 52
	HELP  reduce 52
	OPTION  reduce 52
	PGPLOT  reduce 52
	VARIABLE  reduce 52
	WHILE  reduce 52
	IF  reduce 52
	EXIT  reduce 52
	FOR  reduce 52
	ELSE  reduce 52
	';'  reduce 52
	','  reduce 52
	'{'  reduce 52
	'}'  reduce 52


state 58
	stmt : FITSFILE '=' expr .  (10)
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	$end  reduce 10
	error  reduce 10
	FITSFILE  reduce 10
	HELP  reduce 10
	PGPLOT  reduce 10
	VARIABLE  reduce 10
	WHILE  reduce 10
	IF  reduce 10
	EXIT  reduce 10
	FOR  reduce 10
	ELSE  reduce 10
	';'  reduce 10
	'{'  reduce 10
	'}'  reduce 10

	rangearg_list  goto 30
	rangeargs  goto 97


state 59
	expr : boolean . '?' expr ':' expr  (69)
	boolean : boolean . AND boolean  (83)
	boolean : boolean . OR boolean  (84)

	'?'  shift 101
	AND  shift 102
	OR  shift 103
	.  error


state 60
	varchange : VARIABLE PlusE expr .  (27)
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	';'  reduce 27
	')'  reduce 27
	','  reduce 27

	rangearg_list  goto 30
	rangeargs  goto 97


state 61
	varchange : VARIABLE MinusE expr .  (28)
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	';'  reduce 28
	')'  reduce 28
	','  reduce 28

	rangearg_list  goto 30
	rangeargs  goto 97


state 62
	varchange : VARIABLE MulE expr .  (29)
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	';'  reduce 29
	')'  reduce 29
	','  reduce 29

	rangearg_list  goto 30
	rangeargs  goto 97


state 63
	varchange : VARIABLE DivE expr .  (30)
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	';'  reduce 30
	')'  reduce 30
	','  reduce 30

	rangearg_list  goto 30
	rangeargs  goto 97


state 64
	rangearg_list : '[' '*' .  (45)

	.  reduce 45


state 65
	rangearg_list : '[' expr .  (44)
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	']'  reduce 44
	','  reduce 44
	':'  reduce 44

	rangearg_list  goto 30
	rangeargs  goto 97


state 66
	assignment : VARIABLE . '=' expr  (22)
	assignment : VARIABLE . '=' boolean  (23)
	assignment : VARIABLE . '=' assignment  (24)
	expr : VARIABLE .  (62)

	'='  shift 29
	$end  reduce 62
	error  reduce 62
	FITSFILE  reduce 62
	HELP  reduce 62
	OPTION  reduce 62
	PGPLOT  reduce 62
	VARIABLE  reduce 62
	WHILE  reduce 62
	IF  reduce 62
	EXIT  reduce 62
	FOR  reduce 62
	ELSE  reduce 62
	EQ  reduce 62
	NE  reduce 62
	GE  reduce 62
	LE  reduce 62
	'>'  reduce 62
	'<'  reduce 62
	'+'  reduce 62
	'-'  reduce 62
	'*'  reduce 62
	'/'  reduce 62
	'^'  reduce 62
	'['  reduce 62
	';'  reduce 62
	')'  reduce 62
	','  reduce 62
	'{'  reduce 62
	'}'  reduce 62


state 67
	assignment : VARIABLE '=' expr .  (22)
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	$end  reduce 22
	error  reduce 22
	FITSFILE  reduce 22
	HELP  reduce 22
	OPTION  reduce 22
	PGPLOT  reduce 22
	VARIABLE  reduce 22
	WHILE  reduce 22
	IF  reduce 22
	EXIT  reduce 22
	FOR  reduce 22
	ELSE  reduce 22
	';'  reduce 22
	')'  reduce 22
	','  reduce 22
	'{'  reduce 22
	'}'  reduce 22

	rangearg_list  goto 30
	rangeargs  goto 97


state 68
	assignment : VARIABLE '=' boolean .  (23)
	expr : boolean . '?' expr ':' expr  (69)
	boolean : boolean . AND boolean  (83)
	boolean : boolean . OR boolean  (84)

	'?'  shift 101
	AND  shift 102
	OR  shift 103
	$end  reduce 23
	error  reduce 23
	FITSFILE  reduce 23
	HELP  reduce 23
	OPTION  reduce 23
	PGPLOT  reduce 23
	VARIABLE  reduce 23
	WHILE  reduce 23
	IF  reduce 23
	EXIT  reduce 23
	FOR  reduce 23
	ELSE  reduce 23
	';'  reduce 23
	')'  reduce 23
	','  reduce 23
	'{'  reduce 23
	'}'  reduce 23


state 69
	assignment : VARIABLE '=' assignment .  (24)

	.  reduce 24


state 70
	rangeargs : rangearg_list ']' .  (43)

	.  reduce 43


state 71
	rangearg_list : rangearg_list ',' . expr  (47)
	rangearg_list : rangearg_list ',' . '*'  (48)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'*'  shift 114
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 115
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 72
	rangearg_list : rangearg_list ':' . expr  (46)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 116
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 73
	varchange : VARIABLE rangeargs PlusE . expr  (32)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 117
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 74
	varchange : VARIABLE rangeargs MinusE . expr  (33)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 118
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 75
	varchange : VARIABLE rangeargs MulE . expr  (34)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 119
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 76
	varchange : VARIABLE rangeargs DivE . expr  (35)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 120
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 77
	varchange : VARIABLE rangeargs PlusP .  (36)

	.  reduce 36


state 78
	varchange : VARIABLE rangeargs MinusM .  (37)

	.  reduce 37


state 79
	varchange : VARIABLE rangeargs '=' . expr  (31)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 121
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 80
	funcarg_list : FUNCTION '(' . expr  (39)
	expr : FUNCTION '(' . ')'  (71)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	')'  shift 122
	.  error

	expr  goto 123
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 81
	expr : WHERE '(' . boolean ')'  (72)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 43
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 124


state 82
	expr : '-' expr .  (63)
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	'['  shift 28
	$end  reduce 63
	error  reduce 63
	FITSFILE  reduce 63
	HELP  reduce 63
	OPTION  reduce 63
	PGPLOT  reduce 63
	VARIABLE  reduce 63
	WHILE  reduce 63
	IF  reduce 63
	EXIT  reduce 63
	FOR  reduce 63
	ELSE  reduce 63
	'?'  reduce 63
	AND  reduce 63
	OR  reduce 63
	EQ  reduce 63
	NE  reduce 63
	GE  reduce 63
	LE  reduce 63
	'>'  reduce 63
	'<'  reduce 63
	'+'  reduce 63
	'-'  reduce 63
	'*'  reduce 63
	'/'  reduce 63
	'^'  reduce 63
	']'  reduce 63
	';'  reduce 63
	')'  reduce 63
	','  reduce 63
	'{'  reduce 63
	'}'  reduce 63
	':'  reduce 63

	rangearg_list  goto 30
	rangeargs  goto 97


state 83
	expr : boolean . '?' expr ':' expr  (69)
	boolean : boolean . AND boolean  (83)
	boolean : boolean . OR boolean  (84)
	boolean : '!' boolean .  (85)

	.  reduce 85


state 84
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : '(' expr . ')'  (70)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	')'  shift 125
	.  error

	rangearg_list  goto 30
	rangeargs  goto 97


state 85
	expr : boolean . '?' expr ':' expr  (69)
	boolean : '(' boolean . ')'  (82)
	boolean : boolean . AND boolean  (83)
	boolean : boolean . OR boolean  (84)

	'?'  shift 101
	AND  shift 102
	OR  shift 103
	')'  shift 126
	.  error


state 86
	boolean : expr EQ . expr  (81)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 127
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 87
	boolean : expr NE . expr  (80)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 128
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 88
	boolean : expr GE . expr  (78)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 129
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 89
	boolean : expr LE . expr  (79)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 130
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 90
	boolean : expr '>' . expr  (77)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 131
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 91
	boolean : expr '<' . expr  (76)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 132
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 92
	expr : expr '+' . expr  (64)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 133
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 93
	expr : expr '-' . expr  (65)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 134
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 94
	expr : expr '*' . expr  (66)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 135
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 95
	expr : expr '/' . expr  (67)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 136
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 96
	expr : expr '^' . expr  (68)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 137
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 97
	expr : expr rangeargs .  (74)

	.  reduce 74


state 98
	funcarg_list : funcarg_list OPTION .  (42)

	.  reduce 42


state 99
	expr : funcarg_list ')' .  (73)

	.  reduce 73


state 100
	funcarg_list : funcarg_list ',' . expr  (40)
	funcarg_list : funcarg_list ',' . assignment  (41)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 66
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 138
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59
	assignment  goto 139


state 101
	expr : boolean '?' . expr ':' expr  (69)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 140
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 102
	boolean : boolean AND . boolean  (83)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 43
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 141


state 103
	boolean : boolean OR . boolean  (84)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 43
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 142


state 104
	stmt : WHILE boolean stmt .  (11)

	.  reduce 11


state 105
	stmt : IF expr stmt .  (14)
	stmt : IF expr stmt . ELSE stmt  (15)

	ELSE  shift 143
	$end  reduce 14
	error  reduce 14
	FITSFILE  reduce 14
	HELP  reduce 14
	PGPLOT  reduce 14
	VARIABLE  reduce 14
	WHILE  reduce 14
	IF  reduce 14
	EXIT  reduce 14
	FOR  reduce 14
	';'  reduce 14
	'{'  reduce 14
	'}'  reduce 14


state 106
	stmt : IF boolean stmt .  (12)
	stmt : IF boolean stmt . ELSE stmt  (13)

	ELSE  shift 144
	$end  reduce 12
	error  reduce 12
	FITSFILE  reduce 12
	HELP  reduce 12
	PGPLOT  reduce 12
	VARIABLE  reduce 12
	WHILE  reduce 12
	IF  reduce 12
	EXIT  reduce 12
	FOR  reduce 12
	';'  reduce 12
	'{'  reduce 12
	'}'  reduce 12


state 107
	stmt : FOR '(' varchange . ';' boolean ';' varchange ')' stmt  (7)

	';'  shift 145
	.  error


state 108
	stmt : FOR varchange ',' . expr stmt  (8)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 146
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 109
	stmt : '{' stmt_list '}' .  (16)

	.  reduce 16


state 110
	stmt_list : stmt_list stmt .  (21)

	.  reduce 21


state 111
	pgplot_arg : pgplot_arg ',' expr .  (53)
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	$end  reduce 53
	error  reduce 53
	FITSFILE  reduce 53
	HELP  reduce 53
	OPTION  reduce 53
	PGPLOT  reduce 53
	VARIABLE  reduce 53
	WHILE  reduce 53
	IF  reduce 53
	EXIT  reduce 53
	FOR  reduce 53
	ELSE  reduce 53
	';'  reduce 53
	','  reduce 53
	'{'  reduce 53
	'}'  reduce 53

	rangearg_list  goto 30
	rangeargs  goto 97


state 112
	pgplot_arg : pgplot_arg ',' boolean .  (54)
	expr : boolean . '?' expr ':' expr  (69)
	boolean : boolean . AND boolean  (83)
	boolean : boolean . OR boolean  (84)

	'?'  shift 101
	AND  shift 102
	OR  shift 103
	$end  reduce 54
	error  reduce 54
	FITSFILE  reduce 54
	HELP  reduce 54
	OPTION  reduce 54
	PGPLOT  reduce 54
	VARIABLE  reduce 54
	WHILE  reduce 54
	IF  reduce 54
	EXIT  reduce 54
	FOR  reduce 54
	ELSE  reduce 54
	';'  reduce 54
	','  reduce 54
	'{'  reduce 54
	'}'  reduce 54


state 113
	pgplot_arg : pgplot_arg ',' assignment .  (55)

	.  reduce 55


state 114
	rangearg_list : rangearg_list ',' '*' .  (48)

	.  reduce 48


state 115
	rangearg_list : rangearg_list ',' expr .  (47)
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	']'  reduce 47
	','  reduce 47
	':'  reduce 47

	rangearg_list  goto 30
	rangeargs  goto 97


state 116
	rangearg_list : rangearg_list ':' expr .  (46)
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	']'  reduce 46
	','  reduce 46
	':'  reduce 46

	rangearg_list  goto 30
	rangeargs  goto 97


state 117
	varchange : VARIABLE rangeargs PlusE expr .  (32)
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	';'  reduce 32
	')'  reduce 32
	','  reduce 32

	rangearg_list  goto 30
	rangeargs  goto 97


state 118
	varchange : VARIABLE rangeargs MinusE expr .  (33)
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	';'  reduce 33
	')'  reduce 33
	','  reduce 33

	rangearg_list  goto 30
	rangeargs  goto 97


state 119
	varchange : VARIABLE rangeargs MulE expr .  (34)
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	';'  reduce 34
	')'  reduce 34
	','  reduce 34

	rangearg_list  goto 30
	rangeargs  goto 97


state 120
	varchange : VARIABLE rangeargs DivE expr .  (35)
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	';'  reduce 35
	')'  reduce 35
	','  reduce 35

	rangearg_list  goto 30
	rangeargs  goto 97


state 121
	varchange : VARIABLE rangeargs '=' expr .  (31)
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	';'  reduce 31
	')'  reduce 31
	','  reduce 31

	rangearg_list  goto 30
	rangeargs  goto 97


state 122
	expr : FUNCTION '(' ')' .  (71)

	.  reduce 71


state 123
	funcarg_list : FUNCTION '(' expr .  (39)
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	OPTION  reduce 39
	')'  reduce 39
	','  reduce 39

	rangearg_list  goto 30
	rangeargs  goto 97


state 124
	expr : boolean . '?' expr ':' expr  (69)
	expr : WHERE '(' boolean . ')'  (72)
	boolean : boolean . AND boolean  (83)
	boolean : boolean . OR boolean  (84)

	'?'  shift 101
	AND  shift 102
	OR  shift 103
	')'  shift 147
	.  error


state 125
	expr : '(' expr ')' .  (70)

	.  reduce 70


state 126
	boolean : '(' boolean ')' .  (82)

	.  reduce 82


state 127
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)
	boolean : expr EQ expr .  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	$end  reduce 81
	error  reduce 81
	FITSFILE  reduce 81
	HELP  reduce 81
	OPTION  reduce 81
	PGPLOT  reduce 81
	VARIABLE  reduce 81
	WHILE  reduce 81
	IF  reduce 81
	EXIT  reduce 81
	FOR  reduce 81
	ELSE  reduce 81
	'?'  reduce 81
	AND  reduce 81
	OR  reduce 81
	';'  reduce 81
	')'  reduce 81
	','  reduce 81
	'{'  reduce 81
	'}'  reduce 81

	rangearg_list  goto 30
	rangeargs  goto 97


state 128
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr NE expr .  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	$end  reduce 80
	error  reduce 80
	FITSFILE  reduce 80
	HELP  reduce 80
	OPTION  reduce 80
	PGPLOT  reduce 80
	VARIABLE  reduce 80
	WHILE  reduce 80
	IF  reduce 80
	EXIT  reduce 80
	FOR  reduce 80
	ELSE  reduce 80
	'?'  reduce 80
	AND  reduce 80
	OR  reduce 80
	';'  reduce 80
	')'  reduce 80
	','  reduce 80
	'{'  reduce 80
	'}'  reduce 80

	rangearg_list  goto 30
	rangeargs  goto 97


state 129
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr GE expr .  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	$end  reduce 78
	error  reduce 78
	FITSFILE  reduce 78
	HELP  reduce 78
	OPTION  reduce 78
	PGPLOT  reduce 78
	VARIABLE  reduce 78
	WHILE  reduce 78
	IF  reduce 78
	EXIT  reduce 78
	FOR  reduce 78
	ELSE  reduce 78
	'?'  reduce 78
	AND  reduce 78
	OR  reduce 78
	';'  reduce 78
	')'  reduce 78
	','  reduce 78
	'{'  reduce 78
	'}'  reduce 78

	rangearg_list  goto 30
	rangeargs  goto 97


state 130
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr LE expr .  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	$end  reduce 79
	error  reduce 79
	FITSFILE  reduce 79
	HELP  reduce 79
	OPTION  reduce 79
	PGPLOT  reduce 79
	VARIABLE  reduce 79
	WHILE  reduce 79
	IF  reduce 79
	EXIT  reduce 79
	FOR  reduce 79
	ELSE  reduce 79
	'?'  reduce 79
	AND  reduce 79
	OR  reduce 79
	';'  reduce 79
	')'  reduce 79
	','  reduce 79
	'{'  reduce 79
	'}'  reduce 79

	rangearg_list  goto 30
	rangeargs  goto 97


state 131
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr '>' expr .  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	$end  reduce 77
	error  reduce 77
	FITSFILE  reduce 77
	HELP  reduce 77
	OPTION  reduce 77
	PGPLOT  reduce 77
	VARIABLE  reduce 77
	WHILE  reduce 77
	IF  reduce 77
	EXIT  reduce 77
	FOR  reduce 77
	ELSE  reduce 77
	'?'  reduce 77
	AND  reduce 77
	OR  reduce 77
	';'  reduce 77
	')'  reduce 77
	','  reduce 77
	'{'  reduce 77
	'}'  reduce 77

	rangearg_list  goto 30
	rangeargs  goto 97


state 132
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr '<' expr .  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	$end  reduce 76
	error  reduce 76
	FITSFILE  reduce 76
	HELP  reduce 76
	OPTION  reduce 76
	PGPLOT  reduce 76
	VARIABLE  reduce 76
	WHILE  reduce 76
	IF  reduce 76
	EXIT  reduce 76
	FOR  reduce 76
	ELSE  reduce 76
	'?'  reduce 76
	AND  reduce 76
	OR  reduce 76
	';'  reduce 76
	')'  reduce 76
	','  reduce 76
	'{'  reduce 76
	'}'  reduce 76

	rangearg_list  goto 30
	rangeargs  goto 97


state 133
	expr : expr . '+' expr  (64)
	expr : expr '+' expr .  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	$end  reduce 64
	error  reduce 64
	FITSFILE  reduce 64
	HELP  reduce 64
	OPTION  reduce 64
	PGPLOT  reduce 64
	VARIABLE  reduce 64
	WHILE  reduce 64
	IF  reduce 64
	EXIT  reduce 64
	FOR  reduce 64
	ELSE  reduce 64
	'?'  reduce 64
	AND  reduce 64
	OR  reduce 64
	EQ  reduce 64
	NE  reduce 64
	GE  reduce 64
	LE  reduce 64
	'>'  reduce 64
	'<'  reduce 64
	'+'  reduce 64
	'-'  reduce 64
	']'  reduce 64
	';'  reduce 64
	')'  reduce 64
	','  reduce 64
	'{'  reduce 64
	'}'  reduce 64
	':'  reduce 64

	rangearg_list  goto 30
	rangeargs  goto 97


state 134
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr '-' expr .  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	$end  reduce 65
	error  reduce 65
	FITSFILE  reduce 65
	HELP  reduce 65
	OPTION  reduce 65
	PGPLOT  reduce 65
	VARIABLE  reduce 65
	WHILE  reduce 65
	IF  reduce 65
	EXIT  reduce 65
	FOR  reduce 65
	ELSE  reduce 65
	'?'  reduce 65
	AND  reduce 65
	OR  reduce 65
	EQ  reduce 65
	NE  reduce 65
	GE  reduce 65
	LE  reduce 65
	'>'  reduce 65
	'<'  reduce 65
	'+'  reduce 65
	'-'  reduce 65
	']'  reduce 65
	';'  reduce 65
	')'  reduce 65
	','  reduce 65
	'{'  reduce 65
	'}'  reduce 65
	':'  reduce 65

	rangearg_list  goto 30
	rangeargs  goto 97


state 135
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr '*' expr .  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	'^'  shift 96
	'['  shift 28
	$end  reduce 66
	error  reduce 66
	FITSFILE  reduce 66
	HELP  reduce 66
	OPTION  reduce 66
	PGPLOT  reduce 66
	VARIABLE  reduce 66
	WHILE  reduce 66
	IF  reduce 66
	EXIT  reduce 66
	FOR  reduce 66
	ELSE  reduce 66
	'?'  reduce 66
	AND  reduce 66
	OR  reduce 66
	EQ  reduce 66
	NE  reduce 66
	GE  reduce 66
	LE  reduce 66
	'>'  reduce 66
	'<'  reduce 66
	'+'  reduce 66
	'-'  reduce 66
	'*'  reduce 66
	'/'  reduce 66
	']'  reduce 66
	';'  reduce 66
	')'  reduce 66
	','  reduce 66
	'{'  reduce 66
	'}'  reduce 66
	':'  reduce 66

	rangearg_list  goto 30
	rangeargs  goto 97


state 136
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr '/' expr .  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	'^'  shift 96
	'['  shift 28
	$end  reduce 67
	error  reduce 67
	FITSFILE  reduce 67
	HELP  reduce 67
	OPTION  reduce 67
	PGPLOT  reduce 67
	VARIABLE  reduce 67
	WHILE  reduce 67
	IF  reduce 67
	EXIT  reduce 67
	FOR  reduce 67
	ELSE  reduce 67
	'?'  reduce 67
	AND  reduce 67
	OR  reduce 67
	EQ  reduce 67
	NE  reduce 67
	GE  reduce 67
	LE  reduce 67
	'>'  reduce 67
	'<'  reduce 67
	'+'  reduce 67
	'-'  reduce 67
	'*'  reduce 67
	'/'  reduce 67
	']'  reduce 67
	';'  reduce 67
	')'  reduce 67
	','  reduce 67
	'{'  reduce 67
	'}'  reduce 67
	':'  reduce 67

	rangearg_list  goto 30
	rangeargs  goto 97


state 137
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr '^' expr .  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	'^'  shift 96
	'['  shift 28
	$end  reduce 68
	error  reduce 68
	FITSFILE  reduce 68
	HELP  reduce 68
	OPTION  reduce 68
	PGPLOT  reduce 68
	VARIABLE  reduce 68
	WHILE  reduce 68
	IF  reduce 68
	EXIT  reduce 68
	FOR  reduce 68
	ELSE  reduce 68
	'?'  reduce 68
	AND  reduce 68
	OR  reduce 68
	EQ  reduce 68
	NE  reduce 68
	GE  reduce 68
	LE  reduce 68
	'>'  reduce 68
	'<'  reduce 68
	'+'  reduce 68
	'-'  reduce 68
	'*'  reduce 68
	'/'  reduce 68
	']'  reduce 68
	';'  reduce 68
	')'  reduce 68
	','  reduce 68
	'{'  reduce 68
	'}'  reduce 68
	':'  reduce 68

	rangearg_list  goto 30
	rangeargs  goto 97


state 138
	funcarg_list : funcarg_list ',' expr .  (40)
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	OPTION  reduce 40
	')'  reduce 40
	','  reduce 40

	rangearg_list  goto 30
	rangeargs  goto 97


state 139
	funcarg_list : funcarg_list ',' assignment .  (41)

	.  reduce 41


state 140
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : boolean '?' expr . ':' expr  (69)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	':'  shift 148
	.  error

	rangearg_list  goto 30
	rangeargs  goto 97


state 141
	expr : boolean . '?' expr ':' expr  (69)
	boolean : boolean . AND boolean  (83)
	boolean : boolean AND boolean .  (83)
	boolean : boolean . OR boolean  (84)

	.  reduce 83


state 142
	expr : boolean . '?' expr ':' expr  (69)
	boolean : boolean . AND boolean  (83)
	boolean : boolean . OR boolean  (84)
	boolean : boolean OR boolean .  (84)

	.  reduce 84


state 143
	stmt : IF expr stmt ELSE . stmt  (15)

	error  shift 2
	FITSFILE  shift 3
	HELP  shift 4
	PGPLOT  shift 5
	VARIABLE  shift 6
	WHILE  shift 7
	IF  shift 8
	EXIT  shift 9
	FOR  shift 10
	';'  shift 11
	'{'  shift 12
	.  error

	stmt  goto 149
	pgplot_arg  goto 14
	assignment  goto 15
	varchange  goto 16
	procedure  goto 17


state 144
	stmt : IF boolean stmt ELSE . stmt  (13)

	error  shift 2
	FITSFILE  shift 3
	HELP  shift 4
	PGPLOT  shift 5
	VARIABLE  shift 6
	WHILE  shift 7
	IF  shift 8
	EXIT  shift 9
	FOR  shift 10
	';'  shift 11
	'{'  shift 12
	.  error

	stmt  goto 150
	pgplot_arg  goto 14
	assignment  goto 15
	varchange  goto 16
	procedure  goto 17


state 145
	stmt : FOR '(' varchange ';' . boolean ';' varchange ')' stmt  (7)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 43
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 151


state 146
	stmt : FOR varchange ',' expr . stmt  (8)
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	error  shift 2
	FITSFILE  shift 3
	HELP  shift 4
	PGPLOT  shift 5
	VARIABLE  shift 6
	WHILE  shift 7
	IF  shift 8
	EXIT  shift 9
	FOR  shift 10
	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	';'  shift 11
	'{'  shift 12
	.  error

	stmt  goto 152
	rangearg_list  goto 30
	rangeargs  goto 97
	pgplot_arg  goto 14
	assignment  goto 15
	varchange  goto 16
	procedure  goto 17


state 147
	expr : WHERE '(' boolean ')' .  (72)

	.  reduce 72


state 148
	expr : boolean '?' expr ':' . expr  (69)

	INTEGER  shift 32
	FUNCTION  shift 33
	REAL  shift 34
	COMPLEX  shift 35
	STRING  shift 36
	FITSFILE  shift 37
	VARIABLE  shift 38
	WHERE  shift 39
	'-'  shift 40
	'!'  shift 41
	'['  shift 28
	'('  shift 42
	.  error

	expr  goto 153
	funcarg_list  goto 44
	rangearg_list  goto 30
	rangeargs  goto 45
	boolean  goto 59


state 149
	stmt : IF expr stmt ELSE stmt .  (15)

	.  reduce 15


state 150
	stmt : IF boolean stmt ELSE stmt .  (13)

	.  reduce 13


state 151
	stmt : FOR '(' varchange ';' boolean . ';' varchange ')' stmt  (7)
	expr : boolean . '?' expr ':' expr  (69)
	boolean : boolean . AND boolean  (83)
	boolean : boolean . OR boolean  (84)

	'?'  shift 101
	AND  shift 102
	OR  shift 103
	';'  shift 154
	.  error


state 152
	stmt : FOR varchange ',' expr stmt .  (8)

	.  reduce 8


153: shift/reduce conflict (shift 86, reduce 69) on EQ
153: shift/reduce conflict (shift 87, reduce 69) on NE
153: shift/reduce conflict (shift 88, reduce 69) on GE
153: shift/reduce conflict (shift 89, reduce 69) on LE
153: shift/reduce conflict (shift 90, reduce 69) on '>'
153: shift/reduce conflict (shift 91, reduce 69) on '<'
153: shift/reduce conflict (shift 92, reduce 69) on '+'
153: shift/reduce conflict (shift 93, reduce 69) on '-'
153: shift/reduce conflict (shift 94, reduce 69) on '*'
153: shift/reduce conflict (shift 95, reduce 69) on '/'
153: shift/reduce conflict (shift 96, reduce 69) on '^'
153: shift/reduce conflict (shift 28, reduce 69) on '['
state 153
	expr : expr . '+' expr  (64)
	expr : expr . '-' expr  (65)
	expr : expr . '*' expr  (66)
	expr : expr . '/' expr  (67)
	expr : expr . '^' expr  (68)
	expr : boolean '?' expr ':' expr .  (69)
	expr : expr . rangeargs  (74)
	boolean : expr . '<' expr  (76)
	boolean : expr . '>' expr  (77)
	boolean : expr . GE expr  (78)
	boolean : expr . LE expr  (79)
	boolean : expr . NE expr  (80)
	boolean : expr . EQ expr  (81)

	EQ  shift 86
	NE  shift 87
	GE  shift 88
	LE  shift 89
	'>'  shift 90
	'<'  shift 91
	'+'  shift 92
	'-'  shift 93
	'*'  shift 94
	'/'  shift 95
	'^'  shift 96
	'['  shift 28
	$end  reduce 69
	error  reduce 69
	FITSFILE  reduce 69
	HELP  reduce 69
	OPTION  reduce 69
	PGPLOT  reduce 69
	VARIABLE  reduce 69
	WHILE  reduce 69
	IF  reduce 69
	EXIT  reduce 69
	FOR  reduce 69
	ELSE  reduce 69
	'?'  reduce 69
	AND  reduce 69
	OR  reduce 69
	']'  reduce 69
	';'  reduce 69
	')'  reduce 69
	','  reduce 69
	'{'  reduce 69
	'}'  reduce 69
	':'  reduce 69

	rangearg_list  goto 30
	rangeargs  goto 97


state 154
	stmt : FOR '(' varchange ';' boolean ';' . varchange ')' stmt  (7)

	VARIABLE  shift 6
	.  error

	assignment  goto 15
	varchange  goto 155


state 155
	stmt : FOR '(' varchange ';' boolean ';' varchange . ')' stmt  (7)

	')'  shift 156
	.  error


state 156
	stmt : FOR '(' varchange ';' boolean ';' varchange ')' . stmt  (7)

	error  shift 2
	FITSFILE  shift 3
	HELP  shift 4
	PGPLOT  shift 5
	VARIABLE  shift 6
	WHILE  shift 7
	IF  shift 8
	EXIT  shift 9
	FOR  shift 10
	';'  shift 11
	'{'  shift 12
	.  error

	stmt  goto 157
	pgplot_arg  goto 14
	assignment  goto 15
	varchange  goto 16
	procedure  goto 17


state 157
	stmt : FOR '(' varchange ';' boolean ';' varchange ')' stmt .  (7)

	.  reduce 7


State 17 contains 2 shift/reduce conflicts.
State 153 contains 12 shift/reduce conflicts.


63 terminals, 13 nonterminals
86 grammar rules, 158 states
