diff options
author | Matthias Benkard <mulk@minimulk.mst-plus> | 2008-10-02 16:36:14 +0200 |
---|---|---|
committer | Matthias Benkard <mulk@minimulk.mst-plus> | 2008-10-02 16:36:14 +0200 |
commit | 2009d6d234c6bdc871109cf6b35c3ac2070f8d11 (patch) | |
tree | d4b1a557a58b2cafdc70d00782af48ead415c195 /MLKForm.m | |
parent | 9fef4e8498255fb72f654514321ffc1e8ca382b6 (diff) |
Interpreter: Implement MULTIPLE-VALUE-LIST instead of MULTIPLE-VALUE-CALL.
Diffstat (limited to 'MLKForm.m')
-rw-r--r-- | MLKForm.m | 15 |
1 files changed, 7 insertions, 8 deletions
@@ -185,7 +185,7 @@ else if (car == _FLET) return [MLKSimpleFletForm class]; else if (car == LET) return [MLKLetForm class]; else if (car == _LOOP) return [MLKSimpleLoopForm class]; - else if (car == MULTIPLE_VALUE_CALL) return [MLKMultipleValueCallForm class]; + else if (car == MULTIPLE_VALUE_LIST) return [MLKMultipleValueListForm class]; else if (car == PROGN) return [MLKProgNForm class]; else if (car == PROGV) return [MLKProgVForm class]; else if (car == QUOTE) return [MLKQuoteForm class]; @@ -898,25 +898,24 @@ @end -@implementation MLKMultipleValueCallForm +@implementation MLKMultipleValueListForm -(id) complete { self = [super complete]; - LASSIGN (_functionForm, [MLKForm formWithObject:[_tail car] - inContext:_context - forCompiler:_compiler]); - [self processBody:[_tail cdr]]; + LASSIGN (_listForm, [MLKForm formWithObject:[_tail car] + inContext:_context + forCompiler:_compiler]); return self; } -(NSArray *) subforms { - return [[super subforms] arrayByAddingObject:_functionForm]; + return [[super subforms] arrayByAddingObject:_listForm]; } -(void) dealloc { - LDESTROY (_functionForm); + LDESTROY (_listForm); [super dealloc]; } @end |