From a31ebb2c1b71c66ac34ffb0c27e6d7188ffb0906 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Sat, 29 May 2010 19:25:31 +0000 Subject: * interp/compiler.boot (getExternalSymbolMode): Allow Lisp as foreign language. (checkExternalEntity): Likewise. (compSignatureImport): Likewise. Give foreign variables dummy values. * interp/c-util.boot (middleEndExpand): Handle %true and %false. * interp/g-util.boot (expandToVMForm): Likewise. --- src/interp/g-util.boot | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/interp/g-util.boot') diff --git a/src/interp/g-util.boot b/src/interp/g-util.boot index 2ab9d696..0a78b182 100644 --- a/src/interp/g-util.boot +++ b/src/interp/g-util.boot @@ -253,6 +253,9 @@ expandIadd ["%iadd",:args] == expandIsub ["%isub",:args] == ["-",:expandToVMForm args] +expandEq ["%eq",:args] == + ["EQ",:expandToVMForm args] + expandIeq ["%ieq",:args] == ["EQL",:expandToVMForm args] @@ -315,6 +318,7 @@ for x in [ ["%imax",:function expandImax], ["%igcd",:function expandIgcd], + ["%eq",:function expandEq], ["%ieq",:function expandIeq], ["%head",:function expandHead], @@ -332,6 +336,8 @@ getOpcodeExpander op == ++ Expand all opcodes contained in the form `x' into a form ++ suitable for evaluation by the VM. expandToVMForm x == + x = '%false => 'NIL + x = '%true => 'T isAtomicForm x => x [op,:args] := x IDENTP op and (fun:= getOpcodeExpander op) => apply(fun,x,nil) -- cgit v1.2.3