/* -*- c -*- * File: proscope.h * Author: Igor Vlasenko * Created: Thu May 26 15:13:10 2005 * * $Id$ */ #ifndef _PROSCOPE_H #define _PROSCOPE_H 1 #include "pabstract.h" struct scope_stack { int level; int max; struct ProScopeEntry* root; }; struct ProScopeEntry { int flags; /* type of scope */ int loop; /* current loop */ int loop_count; /* total number of loops or negative value if unknown */ /* objects are wrapper-specific so pointer is void */ ABSTRACT_ARRAY* loops_AV; /* pointer to array of loop's dictionaries */ ABSTRACT_MAP* param_HV; /* pointer to dictionary of current loop */ }; #define isScopeLoop(X) ((X)->loops_AV!=NULL) #define isScopeMap(X) ((X)->loops_AV==NULL) #endif /* _PROSCOPE_H */