aboutsummaryrefslogtreecommitdiff
path: root/src/interp/c-util.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2010-05-30 20:06:08 +0000
committerdos-reis <gdr@axiomatics.org>2010-05-30 20:06:08 +0000
commitb34d97dda5ce8c88d31412d11b1ad67da058480e (patch)
tree55222ea664797f046a2e7a8f807d36fb59438419 /src/interp/c-util.boot
parentded226fca8f3a75d33602a7fbbc941c55e985fdf (diff)
downloadopen-axiom-b34d97dda5ce8c88d31412d11b1ad67da058480e.tar.gz
* interp/c-util.boot (middleEndExpand): Tidy.
* interp/g-util.boot (expandToVMForm): Likewise. (expandStore): Refine store to pair components. * algebra/any.spad.pamphlet (Scope): Use builtin operators. (Environment): Likewise. * algebra/domain.spad.pamphlet (FunctionDescriptor): Likewise. (ConstructorCall): Likewise. (FunctorData): Likewise. (OperatorSignature): Likewise. (Category): Likewise. (Domain): Likewise. * algebra/integer.spad.pamphlet (Integer): Likewise. (NonNegativeInteger): Likewise. * algebra/outform.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * algebra/syntax.spad.pamphlet (Syntax): Likewise.
Diffstat (limited to 'src/interp/c-util.boot')
-rw-r--r--src/interp/c-util.boot5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot
index be422d75..e135583f 100644
--- a/src/interp/c-util.boot
+++ b/src/interp/c-util.boot
@@ -1075,11 +1075,10 @@ $middleEndMacroList ==
middleEndExpand: %Form -> %Form
middleEndExpand x ==
- x = '%false => 'NIL
- x = '%true => 'T
+ x = '%false or x = '%nil => 'NIL
+ IDENTP x and (x' := x has %Rename) => x'
isAtomicForm x => x
[op,:args] := x
- IDENTP op and (op' := op has %Rename) => [op',:middleEndExpand args]
IDENTP op and (fun := getOpcodeExpander op) => apply(fun,x,nil)
op in $middleEndMacroList =>
middleEndExpand MACROEXPAND_-1 x