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
;
struct addrblock
*typeaddr
;
struct addrblock
*retslot
;
int procclass
= CLUNKNOWN
;
struct ctlframe ctls
[MAXCTL
];
struct ctlframe
*ctlstack
= ctls
-1;
struct ctlframe
*lastctl
= ctls
+MAXCTL
;
struct nameblock
*regnamep
[MAXREGVAR
];
struct extsym extsymtab
[MAXEXT
];
struct extsym
*nextext
= extsymtab
;
struct extsym
*lastext
= extsymtab
+MAXEXT
;
struct equivblock eqvclass
[MAXEQUIV
];
struct hashentry hashtab
[MAXHASH
];
struct hashentry
*lasthash
= hashtab
+MAXHASH
;
struct labelblock labeltab
[MAXSTNO
];
struct labelblock
*labtabend
= labeltab
+MAXSTNO
;
struct labelblock
*highlabtab
= labeltab
;
struct rplblock
*rpllist
= NULL
;
struct entrypoint
*entries
= NULL
;
struct addrblock
*ioblkp
;
struct literal litpool
[MAXLITERALS
];
register struct nameblock
*p
;
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
);
for(cp
= templist
; cp
; cp
= cp
->nextp
)
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
)
err( 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
;