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".
|
|
|
|
*/
|
2019-05-10 17:11:54 +00:00
|
|
|
#ifndef STATE_H_
|
|
|
|
#define STATE_H_
|
|
|
|
|
1984-05-19 11:42:19 +00:00
|
|
|
|
1984-05-18 21:27:39 +00:00
|
|
|
#define STONSTACK /* if defined state is saved in stackframe */
|
|
|
|
|
|
|
|
typedef struct state {
|
|
|
|
struct state *st_next; /* for linked list */
|
|
|
|
int st_sh; /* stackheight */
|
|
|
|
token_t st_fs[MAXFSTACK]; /* fakestack */
|
|
|
|
int st_na; /* nallreg */
|
|
|
|
int st_ar[MAXALLREG]; /* allreg[] */
|
|
|
|
token_p st_ct; /* curtoken */
|
|
|
|
result_t st_do[LONGESTPATTERN]; /* dollar[] */
|
|
|
|
struct reginfo st_mr[NREGS]; /* machregs[] */
|
|
|
|
int st_ne; /* nemlines */
|
|
|
|
struct emline st_el[MAXEMLINES]; /* emlines[] */
|
|
|
|
struct emline *st_em; /* emp */
|
|
|
|
struct emline *st_se; /* saveemp */
|
|
|
|
int st_tl; /* tokpatlen */
|
|
|
|
int st_ns; /* nstab */
|
|
|
|
} state_t,*state_p;
|
|
|
|
|
|
|
|
#ifndef STONSTACK
|
2019-05-10 17:11:54 +00:00
|
|
|
state_p state_p savestatus(void);
|
1984-05-18 21:27:39 +00:00
|
|
|
#endif
|
2019-05-10 17:11:54 +00:00
|
|
|
|
|
|
|
void restorestatus(register state_p sp);
|
|
|
|
state_p savestatus(register state_p sp);
|
|
|
|
|
|
|
|
#endif /* STATE_H_ */
|