1987-03-09 19:15:41 +00:00
|
|
|
/*
|
|
|
|
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
|
|
|
|
* See the copyright notice in the ACK home directory, in the file "Copyright".
|
|
|
|
*/
|
1985-01-08 09:59:28 +00:00
|
|
|
#ifndef NORCSID
|
|
|
|
static char rcsid[]= "$Header$";
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#include "param.h"
|
|
|
|
#include "reg.h"
|
|
|
|
#include "property.h"
|
|
|
|
#include "token.h"
|
|
|
|
#include "set.h"
|
|
|
|
#include "instruct.h"
|
|
|
|
#include "lookup.h"
|
|
|
|
#include <cgg_cg.h>
|
|
|
|
|
|
|
|
int wordsize;
|
|
|
|
int pointersize;
|
|
|
|
int nregs=1;
|
|
|
|
int nprops;
|
|
|
|
int ntokens=1;
|
|
|
|
int nsets;
|
|
|
|
int ninstr;
|
|
|
|
int codeindex;
|
1989-11-08 17:14:52 +00:00
|
|
|
int empatlen,emrepllen,emmnem[EMPATMAX];
|
|
|
|
int maxempatlen, maxemrepllen;
|
1985-01-08 09:59:28 +00:00
|
|
|
int empatexpr;
|
1989-11-08 17:14:52 +00:00
|
|
|
int tokpatlen,tokrepllen,tokpatset[TOKPATMAX],tokpatro[TOKPATMAX];
|
|
|
|
int maxtokpatlen, maxtokrepllen;
|
1985-01-08 09:59:28 +00:00
|
|
|
int nallreg,allreg[MAXALLREG];
|
1987-01-16 13:51:42 +00:00
|
|
|
int cursetno = -1;
|
1985-01-08 09:59:28 +00:00
|
|
|
int allsetno;
|
|
|
|
int inproc=0; /* scanning "procedure" */
|
|
|
|
int callproc=0;
|
|
|
|
int fc1=1,fc2=1,fc3=1,fc4=1;
|
|
|
|
int maxmembers=0;
|
|
|
|
int regclass=1;
|
|
|
|
int maxtokensize=0;
|
|
|
|
int rvused=0;
|
|
|
|
int nregvar[4];
|
|
|
|
int rvsize[4];
|
|
|
|
int rvnumbers[4][MAXREGVAR];
|
1989-11-09 11:04:18 +00:00
|
|
|
int procarg[MAXPROCARG];
|
|
|
|
int maxprocargs, nprocargs;
|
1985-01-08 09:59:28 +00:00
|
|
|
|
|
|
|
reginfo l_regs[MAXREGS];
|
|
|
|
propinfo l_props[MAXPROPS];
|
|
|
|
token_p l_tokens[MAXTOKENS];
|
|
|
|
set_t l_sets[MAXSETS];
|
|
|
|
instr_t l_instr[MAXINSTR];
|
|
|
|
symbol *symhash[NSYMHASH];
|