2005-05-01 11:48:36 +00:00
|
|
|
#ifndef __Scope_h
|
|
|
|
#define __Scope_h
|
|
|
|
#include "SchemeObject.h"
|
|
|
|
#include "Array.h"
|
|
|
|
#include "Symbol.h"
|
|
|
|
|
|
|
|
@interface Scope: SchemeObject
|
|
|
|
{
|
2011-02-14 13:39:43 +00:00
|
|
|
Scope *outerScope;
|
|
|
|
Array *names;
|
2005-05-01 11:48:36 +00:00
|
|
|
}
|
2011-02-14 13:39:43 +00:00
|
|
|
+ (id) newWithOuter: (Scope *) o;
|
|
|
|
- (id) initWithOuter: (Scope *) o;
|
2011-03-25 07:46:32 +00:00
|
|
|
- (int) depthOf: (Symbol *) sym;
|
|
|
|
- (int) indexOf: (Symbol *) sym;
|
2011-02-14 13:39:43 +00:00
|
|
|
- (void) addName: (Symbol *) sym;
|
|
|
|
- (Scope *) outer;
|
2005-05-01 11:48:36 +00:00
|
|
|
@end
|
|
|
|
|
|
|
|
#endif //__Scope_h
|