aboutsummaryrefslogtreecommitdiff
path: root/src/interp/c-util.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2012-05-04 18:12:21 +0000
committerdos-reis <gdr@axiomatics.org>2012-05-04 18:12:21 +0000
commit0cd308630a5760fd4b6b2740ada3774a59585099 (patch)
tree3b07808173900496d6a58f00bd696d4fb37c00f7 /src/interp/c-util.boot
parent4e59a0f4d0ce881f79ae146fce1f85467755bb99 (diff)
downloadopen-axiom-0cd308630a5760fd4b6b2740ada3774a59585099.tar.gz
* interp/lisp-backend.boot (assembleCode): New.
* interp/c-util.boot (backendCompileSPADSLAM): Use it. (backendCompile2): Likewise.
Diffstat (limited to 'src/interp/c-util.boot')
-rw-r--r--src/interp/c-util.boot17
1 files changed, 3 insertions, 14 deletions
diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot
index 95980031..50861e5f 100644
--- a/src/interp/c-util.boot
+++ b/src/interp/c-util.boot
@@ -1535,15 +1535,8 @@ backendCompileSPADSLAM(name,args,body) ==
["PROGN",["SETQ",g2,app],
["SETQ",al,["cons5",["CONS",key,g2],al]],g2]]]]
SETANDFILE(al,nil) -- define the global cache.
- -- compile the worker function first.
- u := [auxfn,["LAMBDA",args,:body]]
- if $PrettyPrint then PRETTYPRINT u
- COMP370 u
- -- then compile the wrapper (which is the user-visible constructor).
- u := [name,["LAMBDA",args,code]]
- if $PrettyPrint then PRETTYPRINT u
- COMP370 u
- name
+ assembleCode [auxfn,["LAMBDA",args,:body]]
+ assembleCode [name,["LAMBDA",args,code]]
backendCompile2: %Code -> %Symbol
backendCompile2 code ==
@@ -1551,11 +1544,7 @@ backendCompile2 code ==
systemError ['"parenthesis error in: ", code]
symbolTarget(name,$clamList) => compClam(name,args,body,$clamList)
type = "SPADSLAM" => backendCompileSPADSLAM(name,args,body)
- body := [name,[type,args,:body]]
- if $PrettyPrint then PRETTYPRINT body
- if not $COMPILE then SAY '"No Compilation"
- else COMP370 body
- name
+ assembleCode [name,[type,args,:body]]
++ returns all fuild variables contained in `x'. Fuild variables are
++ identifiers starting with '$', except domain variable names.