#ifndef _PROSCOPE_H
#define _PROSCOPE_H 1
#include "pabstract.h"
struct
scope_stack {
int
level;
int
max;
int
_init_count;
struct
ProLoopState* root;
};
struct
ProLoopState {
int
loop;
int
maxloop;
ABSTRACT_ARRAY* loops_AV;
ABSTRACT_MAP* param_HV;
};
int
curScopeLevel(
struct
scope_stack*);
struct
ProLoopState* getCurrentScope(
struct
scope_stack*);
struct
ProLoopState* getScope(
struct
scope_stack*,
int
depth);
void
popScope(
struct
scope_stack* scopestack);
void
pushScope2(
struct
scope_stack*,
int
maxloop,
void
*loops_AV);
void
Scope_init_root(
struct
scope_stack*,
void
* param_HV);
void
Scope_free(
struct
scope_stack* scopestack);
#endif /* _PROSCOPE_H */