12345678910111213141516171819202122232425262728293031 |
- /* S C O P E M E C H A N I S M */
- struct scope {
- struct scope *next;
- struct def *sc_def; /* list of definitions in this scope */
- int sc_level; /* level of this scope */
- arith sc_off; /* offsets of variables in this scope */
- struct node *sc_lablist;/* list of labels in this scope, to speed
- up label handling
- */
- };
- /* ALLOCDEF "scope" 10 */
- struct scopelist {
- struct scopelist *next;
- struct scope *sc_scope;
- };
- /* ALLOCDEF "scopelist" 10 */
- extern struct scope
- *GlobalScope,
- *PervasiveScope,
- *BlockScope;
- extern struct scopelist
- *CurrVis;
- #define CurrentScope (CurrVis->sc_scope)
- #define nextvisible(x) ((x)->next) /* use with scopelists */
|