FILEP infile
= { stdin
};
FILEP diagfile
= { stderr
};
struct Labelblock
*thislabel
= NULL
;
= { 1, SZADDR
, SZSHORT
, SZLONG
, SZLONG
, 2*SZLONG
,
2*SZLONG
, 4*SZLONG
, SZLONG
, 1, 1, 1};
= { 1, ALIADDR
, ALISHORT
, ALILONG
, ALILONG
, ALIDOUBLE
,
ALILONG
, ALIDOUBLE
, ALILONG
, 1, 1, 1};
int proctype
= TYUNKNOWN
;
int procclass
= CLUNKNOWN
;
struct Ctlframe
*ctlstack
;
struct Ctlframe
*lastctl
;
Namep regnamep
[MAXREGVAR
];
struct Extsym
*extsymtab
;
struct Equivblock
*eqvclass
;
struct Hashentry
*hashtab
;
struct Hashentry
*lasthash
;
struct Labelblock
*labeltab
;
struct Labelblock
*labtabend
;
struct Labelblock
*highlabtab
;
struct Rplblock
*rpllist
= NULL
;
struct Chain
*curdtp
= NULL
;
struct Entrypoint
*entries
= NULL
;
struct Literal litpool
[MAXLITERALS
];
ctls
= ALLOCN(maxctl
, Ctlframe
);
extsymtab
= ALLOCN(maxext
, Extsym
);
eqvclass
= ALLOCN(maxequiv
, Equivblock
);
hashtab
= ALLOCN(maxhash
, Hashentry
);
labeltab
= ALLOCN(maxstno
, Labelblock
);
lastext
= extsymtab
+ maxext
;
lasthash
= hashtab
+ maxhash
;
labtabend
= labeltab
+ maxstno
;
register struct Dimblock
*q
;
register struct Hashentry
*hp
;
register struct Labelblock
*lp
;
pruse(asmfile
, USECONST
);
for(lp
= labeltab
; lp
< labtabend
; ++lp
)
for(hp
= hashtab
; hp
< lasthash
; ++hp
)
for(i
= 0 ; i
< q
->ndim
; ++i
)
frexpr(q
->dims
[i
].dimsize
);
frexpr(q
->dims
[i
].dimexpr
);
if(p
->vclass
== CLNAMELIST
)
frchain( &(p
->varxptr
.namelist
) );
for(cp
= templist
; cp
; cp
= cp
->nextp
)
free( (charptr
) (cp
->datap
) );
for(i
= 0 ; i
<NTYPES
; ++i
)
setimpl(TYUNKNOWN
, (ftnint
) 0, 'a', 'z');
setimpl(TYREAL
, (ftnint
) 0, 'a', 'z');
setimpl(tyint
, (ftnint
) 0, 'i', 'n');
setimpl(-STGBSS
, (ftnint
) 0, 'a', 'z'); /* set class */
setimpl(type
, length
, c1
, c2
)
sprintf(buff
, "characters out of order in implicit:%c-%c", c1
, c2
);
for(i
= c1
; i
<=c2
; ++i
)
type
= lengtype(type
, (int) length
);
for(i
= c1
; i
<=c2
; ++i
)
implleng
[i
-'a'] = length
;