diff options
author | Matthias Andreas Benkard <matthias@benkard.de> | 2008-08-11 23:46:40 +0200 |
---|---|---|
committer | Matthias Andreas Benkard <matthias@benkard.de> | 2008-08-11 23:46:40 +0200 |
commit | 80a2cb47caaaac91384c72d49b8523b04e4c67e7 (patch) | |
tree | 212bd00841c2dfb5577a5a84f1a17ee61474e4c7 /MLKForm.m | |
parent | 1bf467cd776bbbcb79ca11da2a2d94cf58753ba5 (diff) |
Fix various errors in the compiler and semantic analyser.
Diffstat (limited to 'MLKForm.m')
-rw-r--r-- | MLKForm.m | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -34,7 +34,7 @@ forCompiler:_compiler] @implementation MLKForm --(void) initialize ++(void) initialize { ensure_symbols (); } @@ -166,7 +166,11 @@ inContext:context forCompiler:compiler]; - if ([_head isKindOfClass:[MLKCons class]]) + if ([self class] != [MLKSimpleCompoundForm class]) + { + return self; + } + else if ([_head isKindOfClass:[MLKCons class]]) { LRELEASE (self); return [MLKForm formWithObject:[MLKCons cons:FUNCALL @@ -230,7 +234,7 @@ -(void) processBody:(id)object inContext:(MLKLexicalContext *)context { id rest; - NSMutableArray *bodyForms; + NSMutableArray *bodyForms = [NSMutableArray array]; [self splitDeclarationsAndBody:object]; rest = _body; @@ -877,8 +881,6 @@ -(id) complete { - MLKLexicalContext *newContext; - self = [super complete]; if ([_form isKindOfClass:[MLKCons class]]) |