diff options
Diffstat (limited to 'src/boot/translator.boot')
-rw-r--r-- | src/boot/translator.boot | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/boot/translator.boot b/src/boot/translator.boot index 8ba8e4fc..17aab40c 100644 --- a/src/boot/translator.boot +++ b/src/boot/translator.boot @@ -433,7 +433,8 @@ translateToplevel(ps,b,export?) == b is ["TUPLE",:xs] => coreError '"invalid AST" case b of %Signature(op,t) => [genDeclaration(op,t)] - %Definition(op,args,body) => bfDef(parserLoadUnit ps,op,args,body).args + %Definition(op,args,body) => + bfDef(parserLoadUnit ps,op,args,translateForm body).args %Module(m,ns,ds) => $currentModuleName := m @@ -460,7 +461,7 @@ translateToplevel(ps,b,export?) == sig := genDeclaration(n,t) lhs := n $constantIdentifiers := [lhs,:$constantIdentifiers] - [["DEFCONSTANT",lhs,rhs]] + [["DEFCONSTANT",lhs,translateForm rhs]] %Assignment(lhs,rhs) => sig := nil @@ -468,9 +469,10 @@ translateToplevel(ps,b,export?) == sig := genDeclaration(n,t) lhs := n $InteractiveMode => [["SETF",lhs,rhs]] - [["DEFPARAMETER",lhs,rhs]] + [["DEFPARAMETER",lhs,translateForm rhs]] - %Macro(op,args,body) => bfMDef(parserLoadUnit ps,op,args,body) + %Macro(op,args,body) => + bfMDef(parserLoadUnit ps,op,args,translateForm body) %Structure(t,alts) => alts is ['%Record,fields,accessors] => @@ -485,7 +487,7 @@ translateToplevel(ps,b,export?) == %Lisp s => shoeReadLispString(s,0) otherwise => - [translateToplevelExpression b] + [translateToplevelExpression translateForm b] shoeAddbootIfNec s == ext := '".boot" |