diff options
author | Matthias Andreas Benkard <matthias@benkard.de> | 2008-06-27 12:44:25 +0200 |
---|---|---|
committer | Matthias Andreas Benkard <matthias@benkard.de> | 2008-06-27 12:44:25 +0200 |
commit | cb23a76bbd3b7b1ccf4a5ec8894437e449a9047d (patch) | |
tree | c3a2a88747a51bf02a4ca028b9a12462eb549ec7 /MLKLexicalContext.h | |
parent | 01703b9a42e4dac6ae83127ba8fc224e6f581c92 (diff) |
MLKInterpreter: Implement the %LAMBDA operator.
Diffstat (limited to 'MLKLexicalContext.h')
-rw-r--r-- | MLKLexicalContext.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/MLKLexicalContext.h b/MLKLexicalContext.h index 2bf2bc4..552e77d 100644 --- a/MLKLexicalContext.h +++ b/MLKLexicalContext.h @@ -16,12 +16,13 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ +#import "MLKFuncallable.h" #import "MLKLispValue.h" #import <Foundation/NSSet.h> @class MLKEnvironment, MLKLexicalEnvironment, MLKSymbol, NSLinkedList, NSSet, - NSMutableDictionary, NSString, MLKCons, MLKFuncallable; + NSMutableDictionary, NSString, MLKCons; @interface MLKLexicalContext : MLKLispValue @@ -47,6 +48,14 @@ symbolMacros:(NSDictionary *)symbolMacros declarations:(id)declarations; ++(MLKLexicalContext *) contextWithParent:(MLKLexicalContext *)aContext + variables:(NSSet *)vars + functions:(NSSet *)functions + goTags:(NSDictionary *)goTags + macros:(NSDictionary *)macros + symbolMacros:(NSDictionary *)symbolMacros + declarations:(id)declarations; + +(MLKLexicalContext *) globalContext; -(BOOL) symbolNamesFunction:(MLKSymbol *)symbol; @@ -54,10 +63,11 @@ -(BOOL) symbolNamesSymbolMacro:(MLKSymbol *)symbol; -(id) macroForSymbol:(MLKSymbol *)symbol; --(void) setMacro:(MLKFuncallable *)function forSymbol:(MLKSymbol *)symbol; +-(void) setMacro:(id <MLKFuncallable>)function forSymbol:(MLKSymbol *)symbol; +-(void) addMacro:(id <MLKFuncallable>)value forSymbol:(MLKSymbol *)symbol; -(id) symbolMacroForSymbol:(MLKSymbol *)symbol; --(void) setSymbolMacro:(MLKFuncallable *)function forSymbol:(MLKSymbol *)symbol; +-(void) setSymbolMacro:(id <MLKFuncallable>)function forSymbol:(MLKSymbol *)symbol; -(id) goTagForSymbol:(MLKSymbol *)symbol; |