1
integer function setgetmode(id)
2
c Determine if stackg may get the variable id by reference (-4) or
8
integer plus,minus,comma,rparen
11
data plus/45/,minus/46/,comma/52/,rparen/42/
16
if(sym.eq.plus.or.sym.eq.minus) then
19
c call basout(io,wte,' setgetmode '//buf(1:nlgh)//'+- ')
23
if(rstk(pt).ne.201.or.
24
$ rstk(pt-1).ne.101.or.pstk(pt-1).ne.301.or.
25
$ rstk(pt-2).ne.307) goto 33
26
c pstk(pt-1).ne.301 checks if name is not preceeded by a minus sign
27
c name is a first factor of an argument or subscript
30
31 if (sym.ne.comma.and.sym.ne.rparen) goto 33
31
c name is followed by a , or a )
33
c variable is an argument of a function
36
if (allowptr(ifun).or.ifun.lt.0) then
39
write(buf(nlgh+1:nlgh+16),'(2i8)') ifun,rstk(ip)
40
call basout(io,wte,' setgetmode '//buf(1:nlgh)//' '//
41
$ buf(nlgh+1:nlgh+16))