From cb23a76bbd3b7b1ccf4a5ec8894437e449a9047d Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Fri, 27 Jun 2008 12:44:25 +0200 Subject: MLKInterpreter: Implement the %LAMBDA operator. --- MLKLexicalContext.h | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'MLKLexicalContext.h') 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 . */ +#import "MLKFuncallable.h" #import "MLKLispValue.h" #import @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 )function forSymbol:(MLKSymbol *)symbol; +-(void) addMacro:(id )value forSymbol:(MLKSymbol *)symbol; -(id) symbolMacroForSymbol:(MLKSymbol *)symbol; --(void) setSymbolMacro:(MLKFuncallable *)function forSymbol:(MLKSymbol *)symbol; +-(void) setSymbolMacro:(id )function forSymbol:(MLKSymbol *)symbol; -(id) goTagForSymbol:(MLKSymbol *)symbol; -- cgit v1.2.3