aboutsummaryrefslogtreecommitdiff
path: root/src/boot/translator.boot
diff options
context:
space:
mode:
authorGabriel Dos Reis <gdr@axiomatics.org>2015-12-24 10:22:27 -0800
committerGabriel Dos Reis <gdr@axiomatics.org>2015-12-24 10:22:27 -0800
commitbb81c833c0ff2ff8df936a0cd0182cf255729a41 (patch)
treea4dfaffc2374c62aa69e73ccd3653373485b7c8d /src/boot/translator.boot
parentdb9c4c7cd0c08a8b35a7d56d0279139021d8b945 (diff)
downloadopen-axiom-bb81c833c0ff2ff8df936a0cd0182cf255729a41.tar.gz
Translate apply(f,[args]) as FUNCALL(f,args)
Diffstat (limited to 'src/boot/translator.boot')
-rw-r--r--src/boot/translator.boot12
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"