From 308c8ede509d3d186d6d43402b5335867ebdb49e Mon Sep 17 00:00:00 2001 From: dos-reis Date: Mon, 31 Jan 2011 14:14:08 +0000 Subject: * interp/g-opt.boot ($VMsideEffectFreeOperators): Remove QCDR, QCAR. SYMBOLP, GREATERP. Add %ibit, %ilength, %ident, %equal. * interp/g-util.boot: Expand them * algebra/any.spad.pamphlet: Tidy. * algebra/catdef.spad.pamphlet: Likewise. * algebra/data.spad.pamphlet: Likewise. * algebra/domain.spad.pamphlet: Likewise. * algebra/float.spad.pamphlet: Likewise. * algebra/fname.spad.pamphlet: Likewise. * algebra/integer.spad.pamphlet: Likewise. * algebra/list.spad.pamphlet: Likewise. * algebra/outform.spad.pamphlet: Likewise. * algebra/random.spad.pamphlet: Likewise. * algebra/sex.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet: Likewise. * algebra/symbol.spad.pamphlet: Likewise. * algebra/syntax.spad.pamphlet: Likewise. --- src/interp/g-opt.boot | 44 ++++++++++++++++++++++---------------------- src/interp/g-util.boot | 4 ++++ 2 files changed, 26 insertions(+), 22 deletions(-) (limited to 'src/interp') diff --git a/src/interp/g-opt.boot b/src/interp/g-opt.boot index 7a69f229..57cd2496 100644 --- a/src/interp/g-opt.boot +++ b/src/interp/g-opt.boot @@ -435,28 +435,28 @@ optQSMINUS u == ++ List of VM side effect free operators. $VMsideEffectFreeOperators == '(CAR CDR LENGTH SIZE EQUAL EQL EQ NOT NULL OR AND - SPADfirst _+ _- _* _< _= _<_= _> _>_= ASH INTEGER_-LENGTH - QEQCAR QCDR QCAR IDENTP SYMBOLP - GREATERP ZEROP ODDP FLOAT_-RADIX FLOAT FLOAT_-SIGN - CGREATERP GGREATERP CHAR GET BVEC_-GREATER %when %false %true - %2bit %2bool - %and %or %not %peq %ieq %ilt %ile %igt %ige %head %tail %integer? - %beq %blt %ble %bgt %bge %bitand %bitior %bitnot %bcompl - %icst0 %icst1 - %imul %iadd %isub %igcd %ilcm %ipow %imin %imax %ieven? %iodd? %iinc - %irem %iquo %idivide %idec - %feq %flt %fle %fgt %fge %fmul %fadd %fsub %fexp %fmin %fmax %float? - %fpow %fdiv %fneg %i2f %fminval %fmaxval %fbase %fprec %ftrunc - %fsin %fcos %ftan %fcot %fsec %fcsc %fatan %facot - %fsinh %fcosh %ftanh %fcsch %fcoth %fsech %fasinh %facsch - %nil %pair? %lconcat %llength %lfirst %lsecond %lthird %listlit - %lreverse %lempty? %hash %ismall? %string? %f2s - %ccst %ceq %clt %cle %cgt %cge %c2i %i2c %s2c %cup %cdown %sname - %strlength %streq %i2s %schar %strlt %strconc %strcopy %strstc - %aref %vref %vlength %veclit - %bitvecnot %bitvecand %bitvecnand %bivecor %bitvecnor %bitvecxor - %bitveccopy %bitvecconc %bitveclength %bitvecref %bitveceq - %before?) + SPADfirst _+ _- _* _< _= _<_= _> _>_= ASH + QEQCAR QCDR QCAR IDENTP + ODDP FLOAT_-RADIX FLOAT FLOAT_-SIGN + CGREATERP GGREATERP CHAR GET BVEC_-GREATER %when %false %true + %2bit %2bool + %and %or %not %peq %ieq %ilt %ile %igt %ige %head %tail %integer? + %beq %blt %ble %bgt %bge %bitand %bitior %bitnot %bcompl %ilength + %ibit %icst0 %icst1 + %imul %iadd %isub %igcd %ilcm %ipow %imin %imax %ieven? %iodd? %iinc + %irem %iquo %idivide %idec + %feq %flt %fle %fgt %fge %fmul %fadd %fsub %fexp %fmin %fmax %float? + %fpow %fdiv %fneg %i2f %fminval %fmaxval %fbase %fprec %ftrunc + %fsin %fcos %ftan %fcot %fsec %fcsc %fatan %facot + %fsinh %fcosh %ftanh %fcsch %fcoth %fsech %fasinh %facsch + %nil %pair? %lconcat %llength %lfirst %lsecond %lthird %listlit + %lreverse %lempty? %hash %ismall? %string? %f2s + %ccst %ceq %clt %cle %cgt %cge %c2i %i2c %s2c %cup %cdown %sname + %strlength %streq %i2s %schar %strlt %strconc %strcopy %strstc + %aref %vref %vlength %veclit + %bitvecnot %bitvecand %bitvecnand %bivecor %bitvecnor %bitvecxor + %bitveccopy %bitvecconc %bitveclength %bitvecref %bitveceq + %before? %equal %ident?) ++ List of simple VM operators $simpleVMoperators == diff --git a/src/interp/g-util.boot b/src/interp/g-util.boot index b2c00ccd..c60dc207 100644 --- a/src/interp/g-util.boot +++ b/src/interp/g-util.boot @@ -507,6 +507,8 @@ for x in [ ['%iodd?, :'ODDP], ['%ismall?, :'FIXNUMP], ['%i2s, :'WRITE_-TO_-STRING], + ['%ilength, :'INTEGER_-LENGTH], + ['%ibit, :'INTEGER_-BIT], -- binary integer operations. ['%iadd, :"+"], ['%igcd, :'GCD], @@ -586,6 +588,7 @@ for x in [ -- symbol unary functions ['%gensym, :'GENSYM], ['%sname, :'SYMBOL_-NAME], + ['%ident?, :'SYMBOLP], -- string functions ['%string?, :'STRINGP], @@ -596,6 +599,7 @@ for x in [ -- general utility ['%hash, :'SXHASH], + ['%equal, :'EQUAL], ['%lam, :'LAMBDA], ['%leave, :'RETURN], ['%otherwise,:'T], -- cgit v1.2.3