summaryrefslogtreecommitdiff
path: root/MLKForm.m
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-08-11 23:46:40 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-08-11 23:46:40 +0200
commit80a2cb47caaaac91384c72d49b8523b04e4c67e7 (patch)
tree212bd00841c2dfb5577a5a84f1a17ee61474e4c7 /MLKForm.m
parent1bf467cd776bbbcb79ca11da2a2d94cf58753ba5 (diff)
Fix various errors in the compiler and semantic analyser.
Diffstat (limited to 'MLKForm.m')
-rw-r--r--MLKForm.m12
1 files changed, 7 insertions, 5 deletions
diff --git a/MLKForm.m b/MLKForm.m
index 89ab36c..19b8dda 100644
--- a/MLKForm.m
+++ b/MLKForm.m
@@ -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]])