Changeset 46d09b in git
- Timestamp:
- Jun 13, 1998, 2:44:51 PM (26 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- fa833c0e6245af29581a651d73e8740e92ad2ca7
- Parents:
- 24c10ac334406bcf0c360f28d2f85e95a6a58946
- Location:
- Singular
- Files:
-
- 20 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/extra.cc
r24c10ac r46d09b 2 2 * Computer Algebra System SINGULAR * 3 3 *****************************************/ 4 /* $Id: extra.cc,v 1.5 5 1998-06-12 10:13:32 Singular Exp $ */4 /* $Id: extra.cc,v 1.56 1998-06-13 12:44:36 krueger Exp $ */ 5 5 /* 6 6 * ABSTRACT: general interface to internals of Singular ("system" command) … … 208 208 #ifdef TEST_MAC_ORDER 209 209 TEST_FOR("MAC_ORDER"); 210 #endif 211 #ifdef HAVE_NAMESPACES 212 TEST_FOR("Namespaces"); 213 #endif 214 #ifdef HAVE_DYNAMIC_LOADING 215 TEST_FOR("DynamicLoading"); 210 216 #endif 211 217 ; -
Singular/grammar.y
r24c10ac r46d09b 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: grammar.y,v 1.3 8 1998-05-28 16:50:46 Singular Exp $ */4 /* $Id: grammar.y,v 1.39 1998-06-13 12:44:37 krueger Exp $ */ 5 5 /* 6 6 * ABSTRACT: SINGULAR shell grammatik … … 81 81 if (currid!=NULL) 82 82 { 83 killid(currid,& idroot);83 killid(currid,&IDROOT); 84 84 currid = NULL; 85 85 } … … 444 444 | elemexpr COLONCOLON extendedid 445 445 { 446 idhdl r= idroot;446 idhdl r=IDROOT; 447 447 if ($1.Typ()!=PACKAGE_CMD) MYYERROR("<package>::<id> expected"); 448 #ifdef HAVE_NAMESPACES 449 namespaceroot->push( IDPACKAGE((idhdl)$1.data), 450 ((sleftv)$1).name); 451 syMake(&$$,$3); 452 namespaceroot->pop(); 453 #else /* HAVE_NAMESPACES */ 448 454 idroot=IDPACKAGE((idhdl)$1.data)->idroot; 449 455 syMake(&$$,$3); 450 456 idroot=r; 457 #endif /* HAVE_NAMESPACES */ 451 458 } 452 459 | '[' exprlist ']' … … 828 835 ROOT_DECL elemexpr 829 836 { 830 if (iiDeclCommand(&$$,&$2,myynest,$1,& idroot)) YYERROR;837 if (iiDeclCommand(&$$,&$2,myynest,$1,&IDROOT)) YYERROR; 831 838 } 832 839 | ROOT_DECL_LIST elemexpr 833 840 { 834 if (iiDeclCommand(&$$,&$2,myynest,$1,& idroot)) YYERROR;841 if (iiDeclCommand(&$$,&$2,myynest,$1,&IDROOT)) YYERROR; 835 842 } 836 843 | RING_DECL elemexpr … … 864 871 | INTMAT_CMD elemexpr '[' expr ']' '[' expr ']' 865 872 { 866 if (iiDeclCommand(&$$,&$2,myynest,$1,& idroot)) YYERROR;873 if (iiDeclCommand(&$$,&$2,myynest,$1,&IDROOT)) YYERROR; 867 874 int r; TESTSETINT($4,r); 868 875 int c; TESTSETINT($7,c); … … 880 887 | INTMAT_CMD elemexpr 881 888 { 882 if (iiDeclCommand(&$$,&$2,myynest,$1,& idroot)) YYERROR;889 if (iiDeclCommand(&$$,&$2,myynest,$1,&IDROOT)) YYERROR; 883 890 leftv v=&$$; 884 891 idhdl h; … … 902 909 else 903 910 { 904 if (iiDeclCommand(&r,&$3,myynest,t,& idroot)) YYERROR;911 if (iiDeclCommand(&r,&$3,myynest,t,&IDROOT)) YYERROR; 905 912 } 906 913 leftv v=&$1; … … 912 919 | PROC_CMD elemexpr 913 920 { 914 if (iiDeclCommand(&$$,&$2,myynest,PROC_CMD,& idroot,TRUE)) YYERROR;921 if (iiDeclCommand(&$$,&$2,myynest,PROC_CMD,&IDROOT,TRUE)) YYERROR; 915 922 } 916 923 ; … … 1079 1086 { 1080 1087 if ((strcmp($3,"to")!=0) || 1081 (($4.Typ()!=PACKAGE_CMD) && ($4.Typ()!=INT_CMD))) 1088 (($4.Typ()!=PACKAGE_CMD) && ($4.Typ()!=INT_CMD) && 1089 ($4.Typ()!=STRING_CMD))) 1082 1090 MYYERROR("export <id> to <package|int>"); 1083 1091 FreeL((ADDRESS)$3); … … 1088 1096 else 1089 1097 { 1090 if (iiExport(&$2,0,IDPACKAGE((idhdl)$4.data)->idroot)) 1091 YYERROR; 1098 if ($4.Typ()==PACKAGE_CMD) { 1099 if (iiExport(&$2,0,IDPACKAGE((idhdl)$4.data)->idroot)) 1100 YYERROR; 1101 } 1102 else 1103 { 1104 printf("String: %s;\n", (char *)$4.data); 1105 } 1092 1106 } 1093 1107 } … … 1244 1258 if (IDLEV(h)!=0) 1245 1259 { 1260 #ifdef HAVE_NAMESPACES 1261 if(namespaceroot->isroot) { 1262 if (iiExport(&$2,myynest-1)) YYERROR; 1263 } else { 1264 if (iiExport(&$2,myynest-1, NSROOT(namespaceroot->next))) YYERROR; 1265 } 1266 #else /* HAVE_NAMESPACES */ 1246 1267 if (iiExport(&$2,myynest-1)) YYERROR; 1268 #endif /* HAVE_NAMESPACES */ 1247 1269 //if (TEST_OPT_KEEPVARS) 1248 1270 //{ … … 1418 1440 { 1419 1441 procinfov pi; 1420 idhdl h = enterid($2,myynest,PROC_CMD,& idroot,FALSE);1442 idhdl h = enterid($2,myynest,PROC_CMD,&IDROOT,FALSE); 1421 1443 if (h==NULL) {FreeL((ADDRESS)$3); YYERROR;} 1422 1444 iiInitSingularProcinfo(IDPROC(h),"", $2, 0, 0); … … 1427 1449 | PROC_DEF STRINGTOK BLOCKTOK 1428 1450 { 1429 idhdl h = enterid($1,myynest,PROC_CMD,& idroot,FALSE);1451 idhdl h = enterid($1,myynest,PROC_CMD,&IDROOT,FALSE); 1430 1452 if (h==NULL) 1431 1453 { … … 1447 1469 { 1448 1470 FreeL((ADDRESS)$3); 1449 idhdl h = enterid($1,myynest,PROC_CMD,& idroot,FALSE);1471 idhdl h = enterid($1,myynest,PROC_CMD,&IDROOT,FALSE); 1450 1472 if (h==NULL) 1451 1473 { … … 1478 1500 sleftv tmp_expr; 1479 1501 //yylineno--; 1480 if ((iiDeclCommand(&tmp_expr,&$2,myynest,DEF_CMD,& idroot))1502 if ((iiDeclCommand(&tmp_expr,&$2,myynest,DEF_CMD,&IDROOT)) 1481 1503 || (iiParameter(&tmp_expr))) 1482 1504 YYERROR; -
Singular/iparith.cc
r24c10ac r46d09b 4233 4233 static BOOLEAN jjNAMES0(leftv res, leftv v) 4234 4234 { 4235 res->data=(void *)ipNameList( idroot);4235 res->data=(void *)ipNameList(IDROOT); 4236 4236 return FALSE; 4237 4237 } -
Singular/ipassign.cc
r24c10ac r46d09b 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: ipassign.cc,v 1.3 0 1998-05-28 16:50:48 Singular Exp $ */4 /* $Id: ipassign.cc,v 1.31 1998-06-13 12:44:40 krueger Exp $ */ 5 5 6 6 /* … … 592 592 { 593 593 sleftv ll; 594 iiDeclCommand(&ll,l,myynest,rt,& idroot);594 iiDeclCommand(&ll,l,myynest,rt,&IDROOT); 595 595 memcpy(l,&ll,sizeof(sleftv)); 596 596 } -
Singular/ipid.cc
r24c10ac r46d09b 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: ipid.cc,v 1.1 1 1998-04-07 17:52:45 Singular Exp $ */4 /* $Id: ipid.cc,v 1.12 1998-06-13 12:44:40 krueger Exp $ */ 5 5 6 6 /* … … 27 27 #include "ipid.h" 28 28 29 #ifdef HAVE_NAMESPACES 30 namehdl namespaceroot = NULL; 31 #define TEST 32 #else /* HAVE_NAMESPACES */ 29 33 idhdl idroot = NULL; 34 #endif /* HAVE_NAMESPACES */ 30 35 idhdl currRingHdl = NULL; 31 36 ring currRing = NULL; … … 72 77 IDTYP(h) = t; 73 78 IDLEV(h) = lev; 79 #ifdef HAVE_NAMESPACES 80 h->ref = 1; 81 #endif /* HAVE_NAMESPACES */ 74 82 IDNEXT(h) = this; 75 83 if (init) … … 136 144 idhdl h; 137 145 // is it the currRing - id ? 146 #ifdef HAVE_NAMESPACES 147 namehdl topnsroot = namespaceroot->root; 148 #endif 138 149 if ((currRingHdl!=NULL) 139 150 &&(IDLEV(currRingHdl)!=lev) … … 161 172 } 162 173 // is it already defined in idroot ? 163 else if (*root != idroot) 164 { 174 else if (*root != IDROOT) 175 { 176 #ifdef HAVE_NAMESPACES 177 if ((h=namespaceroot->get(s,lev))!=NULL) 178 #else 165 179 if ((h=idroot->get(s,lev))!=NULL) 180 #endif /* HAVE_NAMESPACES */ 166 181 { 167 182 if (IDLEV(h)!=lev) … … 174 189 Warn("redefining %s **",s); 175 190 IDID(h)=NULL; 176 killhdl(h,& idroot);191 killhdl(h,&IDROOT); 177 192 } 178 193 else … … 182 197 } 183 198 } 199 #ifdef HAVE_NAMESPACES 200 // is it already defined in toplevel idroot ? 201 else if (*root != NSROOT(topnsroot)) 202 { 203 if ((h=topnsroot->get(s,lev))!=NULL) 204 { 205 #if 0 206 if (IDLEV(h)!=lev) 207 { 208 s=mstrdup(s); 209 } 210 else if ((IDTYP(h) == t)||(t==DEF_CMD)) 211 { 212 if (BVERBOSE(V_REDEFINE)) 213 Warn("1 redefining %s **",s); 214 IDID(h)=NULL; 215 killhdl(h,&(NSROOT(topnsroot))); 216 } 217 else 218 { 219 goto errlabel; 220 } 221 #else 222 s=mstrdup(s); 223 #endif 224 } 225 } 226 #endif /* HAVE_NAMESPACES */ 184 227 // is it already defined in currRing->idroot ? 185 228 else if ((currRing!=NULL)&&((*root) != currRing->idroot)) … … 245 288 else 246 289 { 247 idhdl s= idroot;290 idhdl s=IDROOT; 248 291 while ((s!=h) && (s!=NULL)) s=s->next; 249 292 if (s==NULL) killhdl(h,&currRing->idroot); 250 else killhdl(h,& idroot);293 else killhdl(h,&IDROOT); 251 294 } 252 295 } … … 267 310 // package ------------------------------------------------------------- 268 311 if ((IDTYP(h) == RING_CMD) || (IDTYP(h) == QRING_CMD) 269 || (IDTYP(h) == PACKAGE_CMD) )312 || (IDTYP(h) == PACKAGE_CMD) /*|| (IDTYP(h) == POINTER_CMD)*/) 270 313 { 271 314 idhdl savecurrRingHdl = currRingHdl; … … 305 348 } 306 349 } 307 rKill(h); 350 #ifdef HAVE_NAMESPACES 351 if((IDTYP(h)==PACKAGE_CMD) || (IDTYP(h)==POINTER_CMD)) 352 Print(">>>>>>Free package\n"); 353 else 354 #endif /* HAVE_NAMESPACES */ 355 rKill(h); 308 356 } 309 357 // poly / vector ------------------------------------------------------- … … 397 445 idhdl ggetid(const char *n) 398 446 { 447 #ifdef HAVE_NAMESPACES 448 idhdl h =namespaceroot->get(n,myynest, TRUE); // search in toplevel namespace 449 idhdl h2=namespaceroot->get(n,myynest); // search in current namespace 450 idhdl h3=NULL; 451 if ((currRing!=NULL) && ((h2==NULL)||(IDLEV(h2)!=myynest))) 452 { 453 h3 = currRing->idroot->get(n,myynest); 454 } 455 if (h3==NULL) { 456 if (h2==NULL) return h; else return h2; 457 } 458 return h3; 459 #else /* HAVE_NAMESPACES */ 399 460 idhdl h = idroot->get(n,myynest); 400 461 idhdl h2=NULL; … … 405 466 if (h2==NULL) return h; 406 467 return h2; 468 #endif /* HAVE_NAMESPACES */ 407 469 } 408 470 … … 471 533 { 472 534 /*move 'tomove' to ring id's*/ 473 ipSwapId(tomove, idroot,currRing->idroot);535 ipSwapId(tomove,IDROOT,currRing->idroot); 474 536 } 475 537 else 476 538 { 477 539 /*move 'tomove' to global id's*/ 478 ipSwapId(tomove,currRing->idroot, idroot);540 ipSwapId(tomove,currRing->idroot,IDROOT); 479 541 } 480 542 } … … 525 587 } 526 588 589 #ifdef HAVE_NAMESPACES 590 char *getnamelev() 591 { 592 char buf[256]; 593 sprintf(buf, "(%s:%d)", namespaceroot->name,namespaceroot->lev); 594 return(buf); 595 } 596 597 namehdl namerec::push(package pack, char *name, BOOLEAN init) 598 { 599 //printf("PUSH: put entry (%s) on stack\n", name); 600 namehdl ns = (namerec *)Alloc0(sizeof(namerec)); 601 ns->next = this; 602 if(this==NULL && !init) { 603 printf("PUSH: this is NULL and init not set.\n"); 604 init=TRUE; 605 } 606 if(init) { 607 ns->pack = (ip_package *)Alloc0(sizeof(ip_package)); 608 ns->isroot = TRUE; 609 ns->lev = 1; 610 } else { 611 ns->pack = pack; 612 ns->lev = this->lev+1; 613 } 614 ns->name = mstrdup(name); 615 616 617 //if(ns->isroot) Print("PUSH: Add root NameSpace\n"); 618 if(ns->isroot) ns->root=ns; else ns->root = this->root; 619 namespaceroot = ns; 620 if(init && ns->isroot) { 621 idhdl pl = enterid( mstrdup("toplevel"),0, PACKAGE_CMD, 622 &NSROOT(namespaceroot), TRUE ); 623 624 } 625 return(namespaceroot); 626 } 627 628 namehdl namerec::pop() 629 { 630 namehdl ns; 631 //printf("POP: remove entry (%s)\n", this->name); 632 if(this==NULL) return NULL; 633 if(isroot) { 634 //printf("POP: base. woul'd do it.\n"); 635 return this; 636 } 637 ns = this; 638 namespaceroot = this->next; 639 FreeL((ADDRESS)ns->name); 640 Free((ADDRESS)ns, sizeof(namerec)); 641 return(namespaceroot); 642 } 643 644 idhdl namerec::get(const char * s, int lev, int root) 645 { 646 namehdl ns; 647 if(root) { 648 ns = this->root; 649 } else { 650 ns = this; 651 } 652 //printf("//====== namerec::get(%s, %d) from '%s'\n", s, lev, ns->name); 653 if(ns==NULL) { 654 //printf("//======== namerec::get() from null\n"); 655 return NULL; 656 } 657 return( NSROOT(ns)->get(s, lev)); 658 } 659 #endif /* HAVE_NAMESPACES */ -
Singular/ipid.h
r24c10ac r46d09b 4 4 * Computer Algebra System SINGULAR * 5 5 ****************************************/ 6 /* $Id: ipid.h,v 1.1 3 1998-06-02 15:29:55 Singular Exp $ */6 /* $Id: ipid.h,v 1.14 1998-06-13 12:44:41 krueger Exp $ */ 7 7 /* 8 8 * ABSTRACT: identfier handling … … 108 108 109 109 short lev; 110 short ref; 110 111 111 112 #define IDNEXT(a) ((a)->next) … … 137 138 }; 138 139 140 #ifdef HAVE_NAMESPACES 141 class namerec { 142 public: 143 namehdl next; 144 namehdl root; 145 package pack; 146 bool isroot; 147 char * name; 148 int lev; 149 #define NSROOT(a) ((a)->pack->idroot) 150 151 namerec() { memset(this,0,sizeof(*this)); } 152 //namehdl Set(idhdl root); 153 namehdl pop(); 154 namehdl push(package pack, char *name, BOOLEAN init=FALSE); 155 idhdl get(const char * s, int lev, int root=FALSE); 156 }; 139 157 158 extern namehdl namespaceroot; 159 #define IDROOT (NSROOT(namespaceroot)) 160 #else /* HAVE_NAMESPACES */ 140 161 extern idhdl idroot; 162 #define IDROOT idroot 163 #endif /* HAVE_NAMESPACES */ 164 141 165 extern idhdl currRingHdl; 142 166 /*extern ring currRing; in structs.h */ -
Singular/iplib.cc
r24c10ac r46d09b 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: iplib.cc,v 1. 29 1998-06-03 08:47:15 obachmanExp $ */4 /* $Id: iplib.cc,v 1.30 1998-06-13 12:44:42 krueger Exp $ */ 5 5 /* 6 6 * ABSTRACT: interpreter: LIB and help … … 316 316 int err; 317 317 procinfov pi = IDPROC(pn); 318 #ifdef HAVE_NAMESPACES 319 char *plib = iiConvName(pi->libname); 320 idhdl ns = namespaceroot->get(plib,0, TRUE); 321 FreeL(plib); 322 if(ns != NULL) { 323 namespaceroot->push(IDPACKAGE(ns), IDID(ns)); 324 //printf("iiMake_proc: namespace found.\n"); 325 } else { 326 namespaceroot->push(namespaceroot->root->pack, "toplevel"); 327 //printf("iiMake_proc: staying in TOP-LEVEL\n"); 328 } 329 #else /* HAVE_NAMESPACES */ 318 330 if(pi->is_static && myynest==0) { 319 331 Werror("'%s::%s()' is a local procedure and cannot be accessed by an user.", … … 321 333 return NULL; 322 334 } 335 #endif /* HAVE_NAMESPACES */ 323 336 iiCheckNest(); 324 337 iiLocalRing[myynest]=currRing; … … 400 413 iiCurrArgs=NULL; 401 414 } 415 #ifdef HAVE_NAMESPACES 416 namespaceroot->pop(); 417 #endif /* HAVE_NAMESPACES */ 402 418 if (err) return NULL; 403 419 return &iiRETURNEXPR[myynest+1]; … … 453 469 char libnamebuf[128]; 454 470 idhdl h,hl; 471 #ifdef HAVE_NAMESPACES 472 idhdl pl; 473 #endif /* HAVE_NAMESPACES */ 455 474 int lines = 1; 456 475 long pos = 0L; 457 476 procinfov pi; 477 #ifdef HAVE_NAMESPACES 478 char *plib = iiConvName(newlib); 479 #endif /* HAVE_NAMESPACES */ 458 480 FILE * fp = feFopen( newlib, "r", libnamebuf, tellerror ); 459 481 if (fp==NULL) … … 461 483 return TRUE; 462 484 } 485 #ifdef HAVE_NAMESPACES 486 hl = namespaceroot->get("LIB",0, TRUE); 487 #else /* HAVE_NAMESPACES */ 463 488 hl = idroot->get("LIB",0); 489 #endif /* HAVE_NAMESPACES */ 464 490 if (hl==NULL) 465 491 { 492 #ifdef HAVE_NAMESPACES 493 hl = enterid( mstrdup("LIB"),0, STRING_CMD, 494 &NSROOT(namespaceroot->root), FALSE ); 495 #else /* HAVE_NAMESPACES */ 466 496 hl = enterid( mstrdup("LIB"),0, STRING_CMD, &idroot, FALSE ); 497 #endif /* HAVE_NAMESPACES */ 467 498 IDSTRING(hl) = mstrdup(newlib); 468 499 } … … 511 542 #endif 512 543 } 544 #ifdef HAVE_NAMESPACES 545 pl = namespaceroot->get(plib,0, TRUE); 546 if (pl==NULL) 547 { 548 pl = enterid( mstrdup(plib),0, PACKAGE_CMD, 549 &NSROOT(namespaceroot->root), TRUE ); 550 } else { 551 Print("Found.\n"); 552 if(IDTYP(pl)!=PACKAGE_CMD) Print("not of typ package.\n"); 553 } 554 namespaceroot->push(IDPACKAGE(pl), IDID(pl)); 555 #endif /* HAVE_NAMESPACES */ 513 556 514 557 #ifdef HAVE_LIBPARSER … … 524 567 extern int lpverbose; 525 568 if (BVERBOSE(V_DEBUG_LIB)) lpverbose=1; else lpverbose=0; 569 # ifdef HAVE_NAMESPACES 570 yylplex(newlib, libnamebuf, &lib_style, pl); 571 # else /* HAVE_NAMESPACES */ 526 572 yylplex(newlib, libnamebuf, &lib_style); 573 # endif /* HAVE_NAMESPACES */ 527 574 if(yylp_errno) { 528 575 Werror("Library %s: ERROR occured: in line %d, %d.", newlib, yylplineno, … … 550 597 reinit_yylp(); 551 598 fclose( yylpin ); 599 #ifdef HAVE_NAMESPACES 600 namespaceroot->pop(); 601 #endif /* HAVE_NAMESPACES */ 552 602 { 553 603 libstackv ls; … … 642 692 char *p = iiConvName(newlib); 643 693 Print("Init found:%s;\n", p); 644 h = enterid( mstrdup(p), myynest, PROC_CMD, &idroot, FALSE ); 694 #ifdef HAVE_NAMESPACES 695 h = enterid( mstrdup(p), myynest, PROC_CMD, IDPACKAGE(pl), FALSE ); 696 #else /* HAVE_NAMESPACES */ 697 h = enterid( mstrdup(p), myynest, PROC_CMD, &idroot, FALSE ); 698 #endif /* HAVE_NAMESPACES */ 645 699 FreeL((ADDRESS)p); 646 700 } else 647 701 #endif 648 h = enterid( mstrdup(proc), myynest, PROC_CMD, &idroot, FALSE ); 702 #ifdef HAVE_NAMESPACES 703 h = enterid(mstrdup(proc), myynest, PROC_CMD, 704 &IDPACKAGE(pl)->idroot, FALSE); 705 #else /* HAVE_NAMESPACES */ 706 h = enterid( mstrdup(proc), myynest, PROC_CMD, &idroot, FALSE); 707 #endif /* HAVE_NAMESPACES */ 649 708 if (h!=NULL) 650 709 { … … 705 764 } while (fgets( buf, sizeof(buf), fp)); 706 765 fclose( fp ); 766 #ifdef HAVE_NAMESPACES 767 namespaceroot->pop(); 768 #endif /* HAVE_NAMESPACES */ 707 769 708 770 //if (h!=NULL) IDPROC(h) = pi; … … 718 780 #endif /* HAVE_LIBPARSER */ 719 781 FreeL((ADDRESS)newlib); 782 #ifdef HAVE_NAMESPACES 783 FreeL((ADDRESS)plib); 784 #endif /* HAVE_LIBPARSER */ 720 785 return FALSE; 721 786 } … … 737 802 pi->is_static = pstatic; 738 803 pi->data.s.proc_start = pos; 804 pi->data.s.def_end = 0L; 739 805 pi->data.s.help_start = 0L; 740 806 pi->data.s.help_end = 0L; … … 757 823 idhdl h; 758 824 759 h = enterid(mstrdup(procname),0, PROC_CMD, & idroot, FALSE);825 h = enterid(mstrdup(procname),0, PROC_CMD, &IDROOT, FALSE); 760 826 if ( h!= NULL ) { 761 827 Print("register binary proc: %s::%s\n", libname, procname); … … 783 849 784 850 memset(p,0,l); 785 sprintf(p, "%s_init", libname); 851 //sprintf(p, "%s_init", libname); 852 sprintf(p, "%s", libname); 786 853 for(r=p; *r!='\0'; r++) 787 854 { … … 796 863 { 797 864 idhdl h; 865 #ifdef HAVE_NAMESPACES 866 idhdl pl; 867 #endif /* HAVE_NAMESPACES */ 798 868 procinfo *proc; 799 869 char *name; … … 801 871 Print( "%-15s %20s %s,%s %s,%s %s,%s\n", "Library", "function", 802 872 "line", "start", "line", "body", "line", "example"); 803 for(h = idroot; h != NULL; h = IDNEXT(h)) 873 #ifdef HAVE_NAMESPACES 874 for(pl = IDROOT; pl != NULL; pl = IDNEXT(pl)) { 875 if(IDTYP(pl) == PACKAGE_CMD) { 876 for(h = IDPACKAGE(pl)->idroot; h != NULL; h = IDNEXT(h)) 877 #else /* HAVE_NAMESPACES */ 878 for(h = IDROOT; h != NULL; h = IDNEXT(h)) 879 #endif /* HAVE_NAMESPACES */ 804 880 { 805 881 if(IDTYP(h) == PROC_CMD) … … 810 886 name = (char *)AllocL(strlen(IDID(h))+strlen(proc->procname)+4); 811 887 sprintf(name, "%s -> %s", IDID(h), proc->procname); 812 Print( "% -15s %20s ", proc->libname, name);888 Print( "%d %-15s %20s ", proc->is_static ? 1 : 0, proc->libname, name); 813 889 FreeL(name); 814 890 } 815 891 else 816 Print( "%-15s %20s ", proc->libname, proc->procname); 892 Print( "%d %-15s %20s ", proc->is_static ? 1 : 0, proc->libname, 893 proc->procname); 817 894 if(proc->language==LANG_SINGULAR) 818 895 Print("line %4d,%-5ld %4d,%-5ld %4d,%-5ld\n", … … 822 899 else if(proc->language==LANG_C) 823 900 Print("type: object\n"); 824 901 #ifdef HAVE_NAMESPACES 902 } 903 } 904 #endif /* HAVE_NAMESPACES */ 825 905 } 826 906 } … … 843 923 void libstack::push(char *p, char *libname) 844 924 { 925 # ifdef HAVE_NAMESPACES 926 idhdl hl = namespaceroot->get("LIB",0, TRUE); 927 # else /* HAVE_NAMESPACES */ 845 928 idhdl hl = idroot->get("LIB",0); 929 # endif /* HAVE_NAMESPACES */ 846 930 libstackv lp; 847 931 char *f = NULL; -
Singular/ipshell.cc
r24c10ac r46d09b 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: ipshell.cc,v 1.2 1 1998-05-12 10:01:07 Singular Exp $ */4 /* $Id: ipshell.cc,v 1.22 1998-06-13 12:44:42 krueger Exp $ */ 5 5 /* 6 6 * ABSTRACT: … … 229 229 void killlocals(int v) 230 230 { 231 killlocals0(v,& idroot);232 233 idhdl h = idroot;231 killlocals0(v,&IDROOT); 232 233 idhdl h = IDROOT; 234 234 idhdl sh=currRingHdl; 235 235 BOOLEAN changed=FALSE; … … 265 265 { 266 266 really_all=TRUE; 267 h= idroot;267 h=IDROOT; 268 268 } 269 269 else … … 274 274 if (iterate) list1(prefix,h,TRUE); 275 275 if ((IDTYP(h)==RING_CMD) 276 || (IDTYP(h)==QRING_CMD) 277 || (IDTYP(h)==PACKAGE_CMD)) 276 || (IDTYP(h)==QRING_CMD)) 278 277 { 279 278 h=IDRING(h)->idroot; 280 279 } 280 else if((IDTYP(h)==PACKAGE_CMD) || (IDTYP(h)==POINTER_CMD)) 281 { 282 //Print("list_cmd:package or pointer\n"); 283 h=IDPACKAGE(h)->idroot; 284 } 281 285 else 282 286 return; … … 295 299 } 296 300 else 297 h = idroot;301 h = IDROOT; 298 302 start=h; 299 303 while (h!=NULL) … … 303 307 { 304 308 list1(prefix,h,start==currRingHdl); 305 if ((( (IDTYP(h)==RING_CMD)||(IDTYP(h)==QRING_CMD))309 if (((IDTYP(h)==RING_CMD)||(IDTYP(h)==QRING_CMD)) 306 310 && (really_all || (all && (h==currRingHdl))) 307 311 && ((IDLEV(h)==0)||(IDLEV(h)==myynest))) 308 ||(IDTYP(h)==PACKAGE_CMD))309 312 { 310 313 list_cmd(0,IDID(h),"// ",FALSE); 311 314 } 315 #ifdef HAVE_NAMESPACES 316 if (IDTYP(h)==PACKAGE_CMD) 317 { 318 namespaceroot->push(IDPACKAGE(h), IDID(h)); 319 list_cmd(0,IDID(h),"// ",FALSE); 320 namespaceroot->pop(); 321 } 322 #endif /* HAVE_NAMESPACES */ 312 323 } 313 324 h = IDNEXT(h); … … 474 485 int i; 475 486 487 #ifdef HAVE_NAMESPACES 488 r=namespaceroot->get(theMap->preimage,myynest); 489 #else 476 490 r=idroot->get(theMap->preimage,myynest); 491 #endif /* HAVE_NAMESPACES */ 477 492 if ((r!=NULL) && ((r->typ == RING_CMD) || (r->typ== QRING_CMD))) 478 493 { … … 763 778 else 764 779 { 780 #ifdef HAVE_NAMESPACES 781 h=namespaceroot->get(v->name,toLev); 782 #else /* HAVE_NAMESPACES */ 765 783 h=idroot->get(v->name,toLev); 766 idhdl *root=&idroot; 784 #endif /* HAVE_NAMESPACES */ 785 idhdl *root=&IDROOT; 767 786 if ((h==NULL)&&(currRing!=NULL)) 768 787 { … … 825 844 } 826 845 idhdl h=(idhdl)v->data; 827 if (h== idroot)828 { 829 idroot=h->next;846 if (h==IDROOT) 847 { 848 IDROOT=h->next; 830 849 } 831 850 else 832 851 { 833 idhdl hh= idroot;852 idhdl hh=IDROOT; 834 853 while ((hh->next!=h)&&(hh->next!=NULL)) 835 854 hh=hh->next; -
Singular/libparse.h
r24c10ac r46d09b 4 4 * Computer Algebra System SINGULAR * 5 5 ****************************************/ 6 /* $Id: libparse.h,v 1. 7 1998-06-02 15:29:56 Singular Exp $ */6 /* $Id: libparse.h,v 1.8 1998-06-13 12:44:43 krueger Exp $ */ 7 7 /* 8 8 * ABSTRACT: lib parsing … … 17 17 char *procname, int line, long pos, 18 18 BOOLEAN pstatic = FALSE); 19 #ifdef HAVE_NAMESPACES 20 int yylplex(char *libname, char *libfile, lib_style_types *lib_style, 21 idhdl pl, lp_modes=LOAD_LIB); 22 #else /* HAVE_NAMESPACES */ 19 23 int yylplex(char *libname, char *libfile, lib_style_types *lib_style, 20 24 lp_modes=LOAD_LIB); 25 #endif /* HAVE_NAMESPACES */ 26 21 27 void reinit_yylp(); 22 28 -
Singular/libparse.l
r24c10ac r46d09b 3 3 * Computer Algebra System SINGULAR * 4 4 ****************************************/ 5 /* $Id: libparse.l,v 1.2 4 1998-05-31 15:42:23krueger Exp $ */5 /* $Id: libparse.l,v 1.25 1998-06-13 12:44:44 krueger Exp $ */ 6 6 #include <stdio.h> 7 7 #include <string.h> … … 33 33 int current_pos(int i); 34 34 void print_version(lp_modes mode, char *p); 35 #ifdef HAVE_NAMESPACES 36 void copy_string(lp_modes mode, idhdl pl); 37 #else /* HAVE_NAMESPACES */ 35 38 void copy_string(lp_modes mode); 39 #endif /* HAVE_NAMESPACES */ 36 40 void make_version(char *p, int what); 37 41 … … 147 151 148 152 # undef YY_DECL 149 # define YY_DECL int yylex(char *newlib, char *libfile, \ 153 # ifdef HAVE_NAMESPACES 154 # define YY_DECL int yylex(char *newlib, char *libfile, \ 155 lib_style_types *lib_style, \ 156 idhdl pl, lp_modes mode) 157 # else /* HAVE_NAMESPACES */ 158 # define YY_DECL int yylex(char *newlib, char *libfile, \ 150 159 lib_style_types *lib_style, \ 151 160 lp_modes mode) 161 # endif /* HAVE_NAMESPACES */ 152 162 153 163 # undef YY_INPUT … … 238 248 printf("Version:%s;\n", libnamebuf); 239 249 #else 250 # ifdef HAVE_NAMESPACES 251 h0 = enterid( mstrdup("version"), myynest, STRING_CMD, 252 &IDPACKAGE(pl)->idroot, FALSE ); 253 if (h0!=NULL) { 254 IDSTRING(h0) = mstrdup(libnamebuf); 255 } 256 # else /* HAVE_NAMESPACES */ 240 257 text_buffer = mstrdup(libnamebuf); 258 # endif /* HAVE_NAMESPACES */ 241 259 #endif 242 260 } … … 265 283 #else STANDALONE_PARSER 266 284 if( mode == LOAD_LIB) { 285 # ifdef HAVE_NAMESPACES 286 h0 = enterid( mstrdup(proc), myynest, PROC_CMD, 287 &IDPACKAGE(pl)->idroot, FALSE ); 288 # else /* HAVE_NAMESPACES */ 267 289 h0 = enterid( mstrdup(proc), myynest, PROC_CMD, 268 290 &idroot, FALSE ); 291 # endif /* HAVE_NAMESPACES */ 269 292 if (h0!=NULL) { 270 293 iiInitSingularProcinfo(IDPROC(h0), newlib, proc, … … 603 626 604 627 <string>"\"" { quote--; 628 #ifdef HAVE_NAMESPACES 629 copy_string(mode, pl); 630 #else /* HAVE_NAMESPACES */ 605 631 copy_string(mode); 632 #endif /* HAVE_NAMESPACES */ 606 633 last_cmd = LP_NONE; 607 634 if(old_state==phelp) … … 736 763 } 737 764 765 #ifdef HAVE_NAMESPACES 766 void copy_string(lp_modes mode, idhdl pl) 767 #else /* HAVE_NAMESPACES */ 738 768 void copy_string(lp_modes mode) 769 #endif /* HAVE_NAMESPACES */ 739 770 { 740 771 # ifndef STANDALONE_PARSER … … 752 783 for(i=0;i<=len; i++) { 753 784 if(text_buffer[i]=='\\' && 754 (text_buffer[i+1]==' "' || text_buffer[i+1]=='{' ||785 (text_buffer[i+1]=='\"' || text_buffer[i+1]=='{' || 755 786 text_buffer[i+1]=='}' || text_buffer[i+1]=='\\')) { 756 787 i++; … … 759 790 if(offset>0) text_buffer[i-offset] = text_buffer[i]; 760 791 } 792 # ifdef HAVE_NAMESPACES 793 h0 = enterid( mstrdup("info"), myynest, STRING_CMD, 794 &IDPACKAGE(pl)->idroot, FALSE ); 795 if (h0!=NULL) { 796 IDSTRING(h0) = mstrdup(text_buffer); 797 } 798 # endif /* HAVE_NAMESPACES */ 761 799 } 762 800 # endif /* STANDALONE_PARSER */ -
Singular/mpsr_Get.cc
r24c10ac r46d09b 3 3 ****************************************/ 4 4 5 /* $Id: mpsr_Get.cc,v 1.1 6 1998-04-16 16:10:21 obachmanExp $ */5 /* $Id: mpsr_Get.cc,v 1.17 1998-06-13 12:44:44 krueger Exp $ */ 6 6 /*************************************************************** 7 7 * … … 670 670 { 671 671 h = mpsr_InitIdhdl(RING_CMD, r, name); 672 h->next = idroot;673 idroot= h;672 h->next = IDROOT; 673 IDROOT = h; 674 674 } 675 675 -
Singular/mpsr_GetMisc.cc
r24c10ac r46d09b 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: mpsr_GetMisc.cc,v 1. 8 1998-03-23 22:51:01 obachmanExp $ */4 /* $Id: mpsr_GetMisc.cc,v 1.9 1998-06-13 12:44:45 krueger Exp $ */ 5 5 6 6 /*************************************************************** … … 350 350 void mpsr_SetCurrRingHdl(ring r) 351 351 { 352 idhdl h = idroot, rh = NULL;352 idhdl h = IDROOT, rh = NULL; 353 353 354 354 if (r == NULL) … … 396 396 if (currRingHdl != NULL) mpsr_SetCurrRing(IDRING(currRingHdl), TRUE); 397 397 rSetHdl(rh, TRUE); 398 rh->next = idroot;399 idroot= rh;398 rh->next = IDROOT; 399 IDROOT = rh; 400 400 r->ref = 0; 401 401 } … … 416 416 idhdl mpsr_FindIdhdl(char *name, ring &r) 417 417 { 418 #ifdef HAVE_NAMESPACES 419 idhdl h = (NSROOT(namespaceroot) != NULL ? namespaceroot->get(name, 0): (idhdl) NULL), h2; 420 #else /* HAVE_NAMESPACES */ 418 421 idhdl h = (idroot != NULL ? idroot->get(name, 0): (idhdl) NULL), h2; 422 #endif /* HAVE_NAMESPACES */ 419 423 r = NULL; 420 424 … … 425 429 } 426 430 427 h = idroot;431 h = IDROOT; 428 432 while ( h != NULL) 429 433 { -
Singular/mpsr_Put.cc
r24c10ac r46d09b 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: mpsr_Put.cc,v 1. 8 1998-04-07 18:35:27 obachmanExp $ */4 /* $Id: mpsr_Put.cc,v 1.9 1998-06-13 12:44:46 krueger Exp $ */ 5 5 6 6 … … 493 493 3)); 494 494 // First, is the ring 495 #ifdef HAVE_NAMESPACES 496 failr(mpsr_PutRingLeftv(link, (leftv) namespaceroot->get(m->preimage, 1))); 497 #else /* HAVE_NAMESPACES */ 495 498 failr(mpsr_PutRingLeftv(link, (leftv) idroot->get(m->preimage, 1))); 499 #endif /* HAVE_NAMESPACES */ 496 500 497 501 // Second, the name of the ring … … 511 515 mpsr_Status_t mpsr_PutDump(MP_Link_pt link) 512 516 { 513 idhdl h = idroot, h2 = NULL, rh = currRingHdl;517 idhdl h = IDROOT, h2 = NULL, rh = currRingHdl; 514 518 ring r; 515 519 sip_command cmd; -
Singular/ring.cc
r24c10ac r46d09b 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: ring.cc,v 1.2 5 1998-05-28 16:50:53 Singular Exp $ */4 /* $Id: ring.cc,v 1.26 1998-06-13 12:44:47 krueger Exp $ */ 5 5 6 6 /* … … 189 189 idhdl tmp=NULL; 190 190 191 if (s!=NULL) tmp = enterid(s, myynest, RING_CMD, & idroot);191 if (s!=NULL) tmp = enterid(s, myynest, RING_CMD, &IDROOT); 192 192 if (tmp==NULL) return NULL; 193 193 … … 649 649 rComplete(&tmpR); 650 650 /* try to enter the ring into the name list*/ 651 if ((tmp = enterid(s, myynest, RING_CMD, & idroot))==NULL)651 if ((tmp = enterid(s, myynest, RING_CMD, &IDROOT))==NULL) 652 652 { 653 653 return NULL; … … 920 920 if (h==currRingHdl) 921 921 { 922 currRingHdl= idroot;922 currRingHdl=IDROOT; 923 923 while (currRingHdl!=NULL) 924 924 { … … 934 934 idhdl rFindHdl(ring r, idhdl n) 935 935 { 936 idhdl h= idroot;936 idhdl h=IDROOT; 937 937 while (h!=NULL) 938 938 { -
Singular/silink.cc
r24c10ac r46d09b 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: silink.cc,v 1. 19 1998-06-03 10:04:24 obachmanExp $ */4 /* $Id: silink.cc,v 1.20 1998-06-13 12:44:47 krueger Exp $ */ 5 5 6 6 /* … … 453 453 { 454 454 FILE *fd = (FILE *) l->data; 455 idhdl h = idroot, rh = currRingHdl;455 idhdl h = IDROOT, rh = currRingHdl; 456 456 BOOLEAN status = DumpAscii(fd, h); 457 457 -
Singular/sing_mp.cc
r24c10ac r46d09b 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: sing_mp.cc,v 1.1 8 1998-06-03 10:04:25 obachmanExp $ */4 /* $Id: sing_mp.cc,v 1.19 1998-06-13 12:44:48 krueger Exp $ */ 5 5 6 6 /* … … 452 452 leftv v = NULL; 453 453 // establish top-level identifier for link 454 idhdl id = enterid(mstrdup("mp_ll"), 0, LINK_CMD, & idroot, FALSE);454 idhdl id = enterid(mstrdup("mp_ll"), 0, LINK_CMD, &IDROOT, FALSE); 455 455 IDLINK(id) = silink; 456 456 -
Singular/structs.h
r24c10ac r46d09b 4 4 * Computer Algebra System SINGULAR * 5 5 ****************************************/ 6 /* $Id: structs.h,v 1.1 2 1998-06-02 15:30:05 Singular Exp $ */6 /* $Id: structs.h,v 1.13 1998-06-13 12:44:49 krueger Exp $ */ 7 7 /* 8 8 * ABSTRACT … … 46 46 class ssyStrategy; 47 47 class procinfo; 48 #ifdef HAVE_NAMESPACES 49 class namerec; 50 #endif 48 51 49 52 struct sip_sring; … … 95 98 typedef struct reca * alg; 96 99 typedef procinfo * procinfov; 100 #ifdef HAVE_NAMESPACES 101 typedef namerec * namehdl; 102 #endif 97 103 98 104 struct _scmdnames -
Singular/subexpr.cc
r24c10ac r46d09b 148 148 break; 149 149 } 150 case POINTER_CMD: 151 { package pack = (package)d; 152 ::Print("%-*.*s// %s\n",spaces,spaces," ","PointerTest"); 153 ::Print("%-*.*s// %s",spaces,spaces," ",IDID(pack->idroot)); 154 //::Print(((char *)(pack->idroot)->data), spaces); 155 break; 156 } 150 157 case LINK_CMD: 151 158 { … … 216 223 && (t/*Typ()*/!=RING_CMD) 217 224 && (t/*Typ()*/!=QRING_CMD) 225 && (t/*Typ()*/!=POINTER_CMD) 218 226 && (t/*Typ()*/!=PACKAGE_CMD) 219 227 && (t/*Typ()*/!=PROC_CMD) … … 327 335 switch (rtyp) 328 336 { 337 case POINTER_CMD: 329 338 case PACKAGE_CMD: 330 339 case IDHDL: … … 412 421 } 413 422 #endif 423 case POINTER_CMD: 424 return d; 414 425 case PROC_CMD: 415 426 return (void *)piCopy((procinfov) d); … … 470 481 case STRING_CMD: 471 482 data= (void *)mstrdup((char *)d); 483 break; 484 case POINTER_CMD: 485 data=d; 472 486 break; 473 487 case PROC_CMD: … … 812 826 case IDHDL: 813 827 return IDDATA((idhdl)data); 828 case POINTER_CMD: 829 return IDDATA((idhdl)data); 814 830 case COMMAND: 815 831 //return NULL; … … 1256 1272 nok=iiDeclCommand(&t,&d->arg1,0,save_typ,&currRing->idroot); 1257 1273 else 1258 nok=iiDeclCommand(&t,&d->arg1,0,save_typ,& idroot);1274 nok=iiDeclCommand(&t,&d->arg1,0,save_typ,&IDROOT); 1259 1275 memcpy(&d->arg1,&t,sizeof(sleftv)); 1260 1276 mmTestLP(d->arg1.name); -
Singular/tesths.cc
r24c10ac r46d09b 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: tesths.cc,v 1.4 7 1998-06-08 18:18:19 Singular Exp $ */4 /* $Id: tesths.cc,v 1.48 1998-06-13 12:44:50 krueger Exp $ */ 5 5 6 6 /* … … 467 467 } 468 468 /*. say hello */ 469 #ifdef HAVE_NAMESPACES 470 namespaceroot->push(NULL, "(ROOT)", TRUE); 471 #endif /* HAVE_NAMESPACES */ 469 472 if (BVERBOSE(0) && !feBatch) 470 473 { -
Singular/tok.h
r24c10ac r46d09b 7 7 * ABSTRACT: token for interpreter, as types; general macros 8 8 */ 9 /* $Id: tok.h,v 1.1 8 1998-06-02 15:30:06 Singular Exp $ */9 /* $Id: tok.h,v 1.19 1998-06-13 12:44:51 krueger Exp $ */ 10 10 11 11 #ifndef MYYSTYPE … … 86 86 PACKAGE_CMD, 87 87 PARSTR_CMD, 88 POINTER_CMD, 88 89 PRIME_CMD, 89 90 PRINT_CMD,
Note: See TracChangeset
for help on using the changeset viewer.