/[gcl]/gcl/o/list.d
ViewVC logotype

Diff of /gcl/o/list.d

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.19.4.1.4.1 by camm, Sun Sep 14 02:30:45 2003 UTC revision 1.19.4.1.4.2 by camm, Thu Nov 6 16:16:50 2003 UTC
# Line 135  object item, test, test_not, key; Line 135  object item, test, test_not, key;
135  }  }
136    
137  #define PREDICATE(f, f_if, f_if_not, n)  \  #define PREDICATE(f, f_if, f_if_not, n)  \
138  void f_if()  \  LFD(f_if)()  \
139  {  \  {  \
140          if (vs_top - vs_base < n)  \          if (vs_top - vs_base < n)  \
141                  too_few_arguments();  \                  too_few_arguments();  \
# Line 144  void f_if()  \ Line 144  void f_if()  \
144          f();  \          f();  \
145  }  \  }  \
146  \  \
147  void f_if_not()  \  LFD(f_if_not)()  \
148  {  \  {  \
149          if (vs_top - vs_base < n)  \          if (vs_top - vs_base < n)  \
150                  too_few_arguments();  \                  too_few_arguments();  \
# Line 571  object alist, *treep; Line 571  object alist, *treep;
571          }          }
572  }  }
573    
574  void  LFD(Lcar)()
 Lcar()  
575  {  {
576          check_arg(1);          check_arg(1);
577    
# Line 582  Lcar() Line 581  Lcar()
581                  FEwrong_type_argument(sLlist, vs_base[0]);                  FEwrong_type_argument(sLlist, vs_base[0]);
582  }  }
583    
584  void  LFD(Lcdr)()
 Lcdr()  
585  {  {
586          check_arg(1);          check_arg(1);
587    
# Line 622  object cddadr(x) object x;  {  return(cd Line 620  object cddadr(x) object x;  {  return(cd
620  object cdddar(x) object x;  {  return(cdr(cdr(cdr(car(x)))));  }  object cdddar(x) object x;  {  return(cdr(cdr(cdr(car(x)))));  }
621  object cddddr(x) object x;  {  return(cdr(cdr(cdr(cdr(x)))));  }  object cddddr(x) object x;  {  return(cdr(cdr(cdr(cdr(x)))));  }
622    
623  void Lcaar(){  check_arg(1);  vs_base[0] = car(car(vs_base[0]));  }  LFD(Lcaar)(){  check_arg(1);  vs_base[0] = car(car(vs_base[0]));  }
624  void Lcadr(){  check_arg(1);  vs_base[0] = car(cdr(vs_base[0]));  }  LFD(Lcadr)(){  check_arg(1);  vs_base[0] = car(cdr(vs_base[0]));  }
625  void Lcdar(){  check_arg(1);  vs_base[0] = cdr(car(vs_base[0]));  }  LFD(Lcdar)(){  check_arg(1);  vs_base[0] = cdr(car(vs_base[0]));  }
626  void Lcddr(){  check_arg(1);  vs_base[0] = cdr(cdr(vs_base[0]));  }  LFD(Lcddr)(){  check_arg(1);  vs_base[0] = cdr(cdr(vs_base[0]));  }
627  void Lcaaar(){  check_arg(1);  vs_base[0] = car(car(car(vs_base[0])));  }  LFD(Lcaaar)(){  check_arg(1);  vs_base[0] = car(car(car(vs_base[0])));  }
628  void Lcaadr(){  check_arg(1);  vs_base[0] = car(car(cdr(vs_base[0])));  }  LFD(Lcaadr)(){  check_arg(1);  vs_base[0] = car(car(cdr(vs_base[0])));  }
629  void Lcadar(){  check_arg(1);  vs_base[0] = car(cdr(car(vs_base[0])));  }  LFD(Lcadar)(){  check_arg(1);  vs_base[0] = car(cdr(car(vs_base[0])));  }
630  void Lcaddr(){  check_arg(1);  vs_base[0] = car(cdr(cdr(vs_base[0])));  }  LFD(Lcaddr)(){  check_arg(1);  vs_base[0] = car(cdr(cdr(vs_base[0])));  }
631  void Lcdaar(){  check_arg(1);  vs_base[0] = cdr(car(car(vs_base[0])));  }  LFD(Lcdaar)(){  check_arg(1);  vs_base[0] = cdr(car(car(vs_base[0])));  }
632  void Lcdadr(){  check_arg(1);  vs_base[0] = cdr(car(cdr(vs_base[0])));  }  LFD(Lcdadr)(){  check_arg(1);  vs_base[0] = cdr(car(cdr(vs_base[0])));  }
633  void Lcddar(){  check_arg(1);  vs_base[0] = cdr(cdr(car(vs_base[0])));  }  LFD(Lcddar)(){  check_arg(1);  vs_base[0] = cdr(cdr(car(vs_base[0])));  }
634  void Lcdddr(){  check_arg(1);  vs_base[0] = cdr(cdr(cdr(vs_base[0])));  }  LFD(Lcdddr)(){  check_arg(1);  vs_base[0] = cdr(cdr(cdr(vs_base[0])));  }
635  void Lcaaaar(){check_arg(1); vs_base[0] = car(car(car(car(vs_base[0]))));}  LFD(Lcaaaar)(){check_arg(1); vs_base[0] = car(car(car(car(vs_base[0]))));}
636  void Lcaaadr(){check_arg(1); vs_base[0] = car(car(car(cdr(vs_base[0]))));}  LFD(Lcaaadr)(){check_arg(1); vs_base[0] = car(car(car(cdr(vs_base[0]))));}
637  void Lcaadar(){check_arg(1); vs_base[0] = car(car(cdr(car(vs_base[0]))));}  LFD(Lcaadar)(){check_arg(1); vs_base[0] = car(car(cdr(car(vs_base[0]))));}
638  void Lcaaddr(){check_arg(1); vs_base[0] = car(car(cdr(cdr(vs_base[0]))));}  LFD(Lcaaddr)(){check_arg(1); vs_base[0] = car(car(cdr(cdr(vs_base[0]))));}
639  void Lcadaar(){check_arg(1); vs_base[0] = car(cdr(car(car(vs_base[0]))));}  LFD(Lcadaar)(){check_arg(1); vs_base[0] = car(cdr(car(car(vs_base[0]))));}
640  void Lcadadr(){check_arg(1); vs_base[0] = car(cdr(car(cdr(vs_base[0]))));}  LFD(Lcadadr)(){check_arg(1); vs_base[0] = car(cdr(car(cdr(vs_base[0]))));}
641  void Lcaddar(){check_arg(1); vs_base[0] = car(cdr(cdr(car(vs_base[0]))));}  LFD(Lcaddar)(){check_arg(1); vs_base[0] = car(cdr(cdr(car(vs_base[0]))));}
642  void Lcadddr(){check_arg(1); vs_base[0] = car(cdr(cdr(cdr(vs_base[0]))));}  LFD(Lcadddr)(){check_arg(1); vs_base[0] = car(cdr(cdr(cdr(vs_base[0]))));}
643  void Lcdaaar(){check_arg(1); vs_base[0] = cdr(car(car(car(vs_base[0]))));}  LFD(Lcdaaar)(){check_arg(1); vs_base[0] = cdr(car(car(car(vs_base[0]))));}
644  void Lcdaadr(){check_arg(1); vs_base[0] = cdr(car(car(cdr(vs_base[0]))));}  LFD(Lcdaadr)(){check_arg(1); vs_base[0] = cdr(car(car(cdr(vs_base[0]))));}
645  void Lcdadar(){check_arg(1); vs_base[0] = cdr(car(cdr(car(vs_base[0]))));}  LFD(Lcdadar)(){check_arg(1); vs_base[0] = cdr(car(cdr(car(vs_base[0]))));}
646  void Lcdaddr(){check_arg(1); vs_base[0] = cdr(car(cdr(cdr(vs_base[0]))));}  LFD(Lcdaddr)(){check_arg(1); vs_base[0] = cdr(car(cdr(cdr(vs_base[0]))));}
647  void Lcddaar(){check_arg(1); vs_base[0] = cdr(cdr(car(car(vs_base[0]))));}  LFD(Lcddaar)(){check_arg(1); vs_base[0] = cdr(cdr(car(car(vs_base[0]))));}
648  void Lcddadr(){check_arg(1); vs_base[0] = cdr(cdr(car(cdr(vs_base[0]))));}  LFD(Lcddadr)(){check_arg(1); vs_base[0] = cdr(cdr(car(cdr(vs_base[0]))));}
649  void Lcdddar(){check_arg(1); vs_base[0] = cdr(cdr(cdr(car(vs_base[0]))));}  LFD(Lcdddar)(){check_arg(1); vs_base[0] = cdr(cdr(cdr(car(vs_base[0]))));}
650  void Lcddddr(){check_arg(1); vs_base[0] = cdr(cdr(cdr(cdr(vs_base[0]))));}  LFD(Lcddddr)(){check_arg(1); vs_base[0] = cdr(cdr(cdr(cdr(vs_base[0]))));}
651    
652  DEFUNO_NEW("NTH",object,fLnth,LISP,2,2,NONE,OI,OO,OO,OO,void,Lnth,(fixnum index,object list),"")  DEFUNO_NEW("NTH",object,fLnth,LISP,2,2,NONE,OI,OO,OO,OO,void,Lnth,(fixnum index,object list),"")
653  { object x = list;  { object x = list;
# Line 663  DEFUNO_NEW("NTH",object,fLnth,LISP,2,2,N Line 661  DEFUNO_NEW("NTH",object,fLnth,LISP,2,2,N
661        else if (x == sLnil) RETURN1(sLnil);        else if (x == sLnil) RETURN1(sLnil);
662        else FEwrong_type_argument(sLlist, list);}        else FEwrong_type_argument(sLlist, list);}
663  }    }  
664    #ifdef STATIC_FUNCTION_POINTERS
665    object
666    fLnth(fixnum index,object list) {
667            return FFN(fLnth)(index,list);
668    }
669    #endif
670    
671  DEFUN_NEW("FIRST",object,fLfirst,LISP,1,1,NONE,OO,OO,OO,OO,(object x),"")  DEFUN_NEW("FIRST",object,fLfirst,LISP,1,1,NONE,OO,OO,OO,OO,(object x),"")
672  { RETURN1(car(x)) ;}  { RETURN1(car(x)) ;}
# Line 687  DEFUN_NEW("NINTH",object,fLninth,LISP,1, Line 690  DEFUN_NEW("NINTH",object,fLninth,LISP,1,
690  DEFUN_NEW("TENTH",object,fLtenth,LISP,1,1,NONE,OO,OO,OO,OO,(object x),"")  DEFUN_NEW("TENTH",object,fLtenth,LISP,1,1,NONE,OO,OO,OO,OO,(object x),"")
691  { return fLnth(9,x);}  { return fLnth(9,x);}
692    
693  void  LFD(Lcons)()
 Lcons()  
694  {  {
695          object x;          object x;
696    
# Line 710  Lcons() Line 712  Lcons()
712          @(return x)          @(return x)
713  @)  @)
714    
715  void  LFD(Lendp)()
 Lendp()  
716  {  {
717    
718          check_arg(1);          check_arg(1);
# Line 727  Lendp() Line 728  Lendp()
728          FEwrong_type_argument(sLlist, vs_base[0]);          FEwrong_type_argument(sLlist, vs_base[0]);
729  }  }
730    
731  void  LFD(Llist_length)()
 Llist_length()  
732  {  {
733          int n;          int n;
734          object fast, slow;          object fast, slow;
# Line 773  nth(int n, object x) { Line 773  nth(int n, object x) {
773                  return(x->c.c_car);                  return(x->c.c_car);
774  }  }
775    
776  void  LFD(Lnthcdr)()
 Lnthcdr()  
777  {  {
778          check_arg(2);          check_arg(2);
779          vs_base[0] = nthcdr(fixint(vs_base[0]), vs_base[1]);          vs_base[0] = nthcdr(fixint(vs_base[0]), vs_base[1]);
# Line 796  nthcdr(int n, object x) { Line 795  nthcdr(int n, object x) {
795          return(x);          return(x);
796  }  }
797    
798  void  LFD(Llast)() {
 Llast() {  
799          object t;          object t;
800          int n;          int n;
801    
# Line 830  Llast() { Line 828  Llast() {
828    
829  }  }
830    
831  void  LFD(Llist)()
 Llist()  
832  {  {
833          vs_push(Cnil);          vs_push(Cnil);
834          while (vs_top > vs_base + 1)          while (vs_top > vs_base + 1)
835                  stack_cons();                  stack_cons();
836  }  }
837    
838  void  LFD(LlistA)()
 LlistA()  
839  {  {
840          if (vs_top == vs_base)          if (vs_top == vs_base)
841                  too_few_arguments();                  too_few_arguments();
# Line 900  int n; Line 896  int n;
896          @(return x)          @(return x)
897  @)  @)
898    
899  void  LFD(Lappend)()
 Lappend()  
900  {  {
901          object x;          object x;
902    
# Line 916  Lappend() Line 911  Lappend()
911          }          }
912  }  }
913    
914  void  LFD(Lcopy_list)()
 Lcopy_list()  
915  {  {
916          check_arg(1);          check_arg(1);
917          vs_base[0] = copy_list(vs_base[0]);          vs_base[0] = copy_list(vs_base[0]);
918  }  }
919    
920  void  LFD(Lcopy_alist)()
 Lcopy_alist()  
921  {  {
922          check_arg(1);          check_arg(1);
923          vs_base[0] = copy_alist(vs_base[0]);          vs_base[0] = copy_alist(vs_base[0]);
924  }  }
925    
926  void  LFD(Lcopy_tree)()
 Lcopy_tree()  
927  {  {
928          check_arg(1);          check_arg(1);
929          copy_tree(vs_base[0]);          copy_tree(vs_base[0]);
930          vs_base[0] = vs_pop;          vs_base[0] = vs_pop;
931  }  }
932    
933  void  LFD(Lrevappend)() {
 Lrevappend() {  
934          object x, y;          object x, y;
935    
936          check_arg(2);          check_arg(2);
# Line 965  nconc(object x, object y) { Line 956  nconc(object x, object y) {
956          return(x);          return(x);
957  }  }
958    
959  void  LFD(Lnconc)() {
 Lnconc() {  
960          object x, l, m=Cnil;          object x, l, m=Cnil;
961          int i, narg;          int i, narg;
962                    
# Line 993  Lnconc() { Line 983  Lnconc() {
983          vs_top = vs_base+1;          vs_top = vs_base+1;
984  }  }
985    
986  void  LFD(Lreconc)() {
 Lreconc() {  
987          object x, y, z;          object x, y, z;
988    
989          check_arg(2);          check_arg(2);
# Line 1046  Lreconc() { Line 1035  Lreconc() {
1035          @(return lis)          @(return lis)
1036  @)  @)
1037    
1038  void  LFD(Lldiff)() {
 Lldiff() {  
1039          int i;          int i;
1040          object x;          object x;
1041    
# Line 1068  Lldiff() { Line 1056  Lldiff() {
1056          vs_popp;          vs_popp;
1057  }  }
1058    
1059  void  LFD(Lrplaca)()
 Lrplaca()  
1060  {  {
1061          check_arg(2);          check_arg(2);
1062          check_type_cons(&vs_base[0]);          check_type_cons(&vs_base[0]);
# Line 1078  Lrplaca() Line 1065  Lrplaca()
1065          vs_popp;          vs_popp;
1066  }  }
1067    
1068  void  LFD(Lrplacd)()
 Lrplacd()  
1069  {  {
1070          check_arg(2);          check_arg(2);
1071          check_type_cons(&vs_base[0]);          check_type_cons(&vs_base[0]);
# Line 1205  PREDICATE(Lmember,Lmember_if,Lmember_if_ Line 1191  PREDICATE(Lmember,Lmember_if,Lmember_if_
1191          @(return list)          @(return list)
1192  @)  @)
1193    
1194  void  LFD(Ltailp)() {
 Ltailp() {  
1195          object x;          object x;
1196    
1197          check_arg(2);          check_arg(2);
# Line 1224  Ltailp() { Line 1209  Ltailp() {
1209          return;          return;
1210  }  }
1211    
1212  void  LFD(Ladjoin)()
 Ladjoin()  
1213  {  {
1214          object *base = vs_base, *top = vs_top;          object *base = vs_base, *top = vs_top;
1215    
# Line 1233  Ladjoin() Line 1217  Ladjoin()
1217                  too_few_arguments();                  too_few_arguments();
1218          while (vs_base < top)          while (vs_base < top)
1219                  vs_push(*vs_base++);                  vs_push(*vs_base++);
1220          Lmember1();          FFN(Lmember1)();
1221          if (vs_base[0] == Cnil)          if (vs_base[0] == Cnil)
1222                  base[1] = make_cons(base[0], base[1]);                  base[1] = make_cons(base[0], base[1]);
1223          vs_base = base+1;          vs_base = base+1;
1224          vs_top = base+2;          vs_top = base+2;
1225  }  }
1226    
1227  void  LFD(Lacons)()
 Lacons()  
1228  {  {
1229          check_arg(3);          check_arg(3);
1230    
# Line 1291  Lacons() Line 1274  Lacons()
1274          @(return a_list)          @(return a_list)
1275  @)  @)
1276    
1277  void Lassoc() { car_or_cdr = car; Lassoc_or_rassoc(); }  LFD(Lassoc)() { car_or_cdr = car; FFN(Lassoc_or_rassoc)(); }
1278  void Lrassoc() { car_or_cdr = cdr; Lassoc_or_rassoc(); }  LFD(Lrassoc)() { car_or_cdr = cdr; FFN(Lassoc_or_rassoc)(); }
1279    
1280  static bool true_or_false;  static bool true_or_false;
1281    
# Line 1312  static bool true_or_false; Line 1295  static bool true_or_false;
1295          @(return a_list)          @(return a_list)
1296  @)  @)
1297    
1298  void Lassoc_if() { car_or_cdr = car; true_or_false = TRUE; Lassoc_or_rassoc_predicate(); }  LFD(Lassoc_if)() { car_or_cdr = car; true_or_false = TRUE; FFN(Lassoc_or_rassoc_predicate)(); }
1299  void Lassoc_if_not() { car_or_cdr = car; true_or_false = FALSE; Lassoc_or_rassoc_predicate(); }  LFD(Lassoc_if_not)() { car_or_cdr = car; true_or_false = FALSE; FFN(Lassoc_or_rassoc_predicate)(); }
1300  void Lrassoc_if() { car_or_cdr = cdr; true_or_false = TRUE; Lassoc_or_rassoc_predicate(); }  LFD(Lrassoc_if)() { car_or_cdr = cdr; true_or_false = TRUE; FFN(Lassoc_or_rassoc_predicate)(); }
1301  void Lrassoc_if_not() { car_or_cdr = cdr; true_or_false = FALSE; Lassoc_or_rassoc_predicate(); }  LFD(Lrassoc_if_not)() { car_or_cdr = cdr; true_or_false = FALSE; FFN(Lassoc_or_rassoc_predicate)(); }
1302    
1303  bool  bool
1304  member_eq(x, l)  member_eq(x, l)
# Line 1329  object x, l; Line 1312  object x, l;
1312  }  }
1313    
1314  static void  static void
1315  siLmemq()  FFN(siLmemq)()
1316  {  {
1317          object x, l;          object x, l;
1318    

Legend:
Removed from v.1.19.4.1.4.1  
changed lines
  Added in v.1.19.4.1.4.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26