Changeset d848cbc in git
- Timestamp:
- Mar 19, 1999, 3:13:28 PM (25 years ago)
- Branches:
- (u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
- Children:
- 7df2efebb313231238a051a876d8a3dd8d3b1e4c
- Parents:
- 418dbc7afa82b2a0af86b3aef428cc36c46db41f
- Location:
- modules
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
modules/kernel/misc.cc
r418dbc rd848cbc 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: misc.cc,v 1. 1 1998-11-19 15:49:24krueger Exp $ */4 /* $Id: misc.cc,v 1.2 1999-03-19 14:13:27 krueger Exp $ */ 5 5 /* 6 6 * ABSTRACT: interpreter: LIB and help … … 13 13 14 14 idhdl pck = NULL, id = NULL; 15 iiname2hdl((char *)(h->Data()), &pck, &id); 16 if(pck != NULL) Print("Pack: '%s'\n", pck->id); 17 if(id != NULL) Print("Rec : '%s'\n", id->id); 18 15 printf("myTest 1\n"); 16 if(h==NULL) printf("myTest 2\n"); 17 else { 18 iiname2hdl((char *)(h->Data()), &pck, &id); 19 printf("myTest 1\n"); 20 if(pck != NULL) Print("Pack: '%s'\n", pck->id); 21 if(id != NULL) Print("Rec : '%s'\n", id->id); 22 } 23 19 24 res->rtyp=NONE; 20 25 return FALSE; -
modules/kernel/proclist.cc
r418dbc rd848cbc 3 3 extern void piShowProcList(); 4 4 5 BOOLEAN kProclist(leftv res , leftv h)5 BOOLEAN kProclist(leftv res) 6 6 { 7 7 piShowProcList(); -
modules/tools/Makefile.in
r418dbc rd848cbc 20 20 gcc -c ${CFLAGS} $< 21 21 22 modgen: ${OBJS} modgen.h decl.inc 22 modgen: ${OBJS} modgen.h decl.inc typmap.h 23 23 gcc -o $@ ${CFLAGS} ${OBJS} ${LIBS} 24 24 -
modules/tools/misc.cc
r418dbc rd848cbc 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: misc.cc,v 1. 2 1999-03-17 12:41:30krueger Exp $ */4 /* $Id: misc.cc,v 1.3 1999-03-19 14:12:08 krueger Exp $ */ 5 5 /* 6 6 * ABSTRACT: lib parsing … … 19 19 20 20 #include "modgen.h" 21 #include "typmap.h" 22 23 #define NEW_PARAM 1 21 24 22 25 #define SYSTYP_NONE 0 … … 111 114 cmds[i].alias=1; 112 115 } 116 #if 0 113 117 if (!expected_parms) 114 118 { … … 129 133 } 130 134 } 135 #endif 136 printf("IsCmd: [%d] %s\n", tok, n); 137 131 138 if( (cmds[i].toktype==ROOT_DECL) || 132 139 (cmds[i].toktype==ROOT_DECL_LIST) || … … 231 238 void AddParam(procdefv pi, char *name, char *typname, int typ) 232 239 { 240 241 #ifdef NEW_PARAM 242 paramdef pnew; 243 pnew.name = (char *)malloc(strlen(name+1)); 244 pnew.next = NULL; 245 strcpy(pnew.name, name); 246 pnew.typname = (char *)malloc(strlen(typname+1)); 247 strcpy(pnew.typname, typname); 248 pnew.typ = typ; 249 250 if(pi->paramcnt==0) { 251 pi->param = (paramdefv)malloc(sizeof(paramdef)); 252 } 253 else { 254 pi->param = (paramdefv)realloc(pi->param, 255 (pi->paramcnt+1)*sizeof(paramdef)); 256 } 257 memcpy((void *)(&pi->param[pi->paramcnt]), (void *)&pnew, sizeof(paramdef)); 258 #else 233 259 paramdefv pnew = (paramdefv)malloc(sizeof(paramdef)); 234 260 pnew->name = (char *)malloc(strlen(name+1)); … … 245 271 pp->next = pnew; 246 272 } 273 #endif 247 274 (pi->paramcnt)++; 248 275 } … … 252 279 { 253 280 procdefv v = pi; 281 #ifdef NEW_PARAM 282 int i; 283 for(v=pi; v!=NULL; v = v->next) { 284 printf("proc: %s(", v->procname); 285 for(i=0; i<v->paramcnt; i++) { 286 printf("%s", v->param[i].name); 287 if(i < (v->paramcnt-1)) printf(","); 288 } 289 290 printf(")\n"); 291 } 292 #else 254 293 paramdefv pp; 255 294 for(v=pi; v!=NULL; v = v->next) { … … 267 306 // v =v ->next; 268 307 } 308 #endif 269 309 } 270 310 … … 287 327 systyp = SYSTYP_HPUX10; 288 328 } 329 init_type_conv(); 289 330 printf("SYSTYP:%d\n", systyp); 290 331 … … 333 374 void generate_header(procdefv pi, FILE *fp) 334 375 { 335 fprintf(fp, "BOOLEAN %s(leftv res, leftv h);\n", pi->funcname); 336 fprintf(fp, "BOOLEAN mod_%s(leftv res, leftv h);\n\n", pi->funcname); 376 int i; 377 378 fprintf(fp, "BOOLEAN mod_%s(leftv res, leftv h);\n", pi->funcname); 379 #if 1 380 fprintf(fp, "BOOLEAN %s(leftv res", pi->funcname); 381 for (i=0;i<pi->paramcnt; i++) 382 fprintf(fp, ", %s res%d", type_conv[pi->param[i].typ], i); 383 fprintf(fp, ");\n\n"); 384 #else 385 fprintf(fp, "BOOLEAN %s(leftv res, leftv h);\n\n", pi->funcname); 386 #endif 337 387 } 338 388 … … 344 394 paramdefv pp = pi->param; 345 395 fprintf(fp, "BOOLEAN mod_%s(leftv res, leftv h)\n{\n", pi->funcname); 396 #if 1 397 if(pi->paramcnt>0) { 398 if(pi->param[0].typ==SELF_CMD) { 399 fprintf(fp, " return(%s(res,h));\n", pi->funcname); 400 fprintf(fp, "}\n\n"); 401 } 402 else { 403 fprintf(fp, " leftv v = h;\n"); 404 fprintf(fp, " int tok = NONE, index = 0;\n"); 405 for (i=0;i<pi->paramcnt; i++) 406 fprintf(fp, " leftv res%d = (leftv)Alloc0(sizeof(sleftv));\n", i); 407 408 fprintf(fp, "\n"); 409 410 for (i=0;i<pi->paramcnt; i++) { 411 fprintf(fp, " if(v==NULL) goto mod_%s_error;\n", pi->funcname); 412 fprintf(fp, " tok = v->Typ();\n"); 413 fprintf(fp, " printf(\"test %d.1\\n\");\n", i); 414 fprintf(fp, " if((index=iiTestConvert(tok, %s))==0)\n", 415 pi->param[i].typname); 416 fprintf(fp, " goto mod_%s_error;\n", pi->funcname); 417 fprintf(fp, " printf(\"test %d.2\\n\");\n", i); 418 fprintf(fp, " if(iiConvert(tok, %s, index, v, res%d))\n", 419 pi->param[i].typname, cnt); 420 fprintf(fp, " goto mod_%s_error;\n", pi->funcname); 421 fprintf(fp, " printf(\"test %d.3\\n\");\n", i); 422 fprintf(fp, " v = v->next;\n"); 423 } 424 fprintf(fp, " if(v!=NULL) { tok = v->Typ(); goto mod_%s_error; }\n", 425 pi->funcname); 426 fprintf(fp, " printf(\"test before return\\n\");\n"); 427 428 fprintf(fp, "\n"); 429 fprintf(fp, " return(%s(res", pi->funcname); 430 for (i=0;i<pi->paramcnt; i++) 431 fprintf(fp, ", (%s) res%d->Data()", type_conv[pi->param[i].typ], i); 432 fprintf(fp, "));\n\n"); 433 fprintf(fp, " mod_%s_error:\n", pi->funcname); 434 fprintf(fp, " Werror(\"%s(`%%s`) is not supported\", Tok2Cmdname(tok));\n", 435 pi->procname); 436 fprintf(fp, " Werror(\"expected %s(", pi->procname); 437 for (i=0;i<pi->paramcnt; i++) { 438 fprintf(fp, "'%s'", pi->param[i].name); 439 if(i!=pi->paramcnt-1) fprintf(fp, ","); 440 } 441 fprintf(fp, ")\");\n"); 442 fprintf(fp, " return TRUE;\n}\n\n"); 443 } 444 } else { 445 fprintf(fp, " return(%s(res));\n}\n\n", pi->funcname); 446 } 447 448 #else 346 449 if(pp!= NULL && pp->typ!=SELF_CMD) { 347 450 fprintf(fp, " leftv v = h;\n"); … … 390 493 fprintf(fp, "}\n\n"); 391 494 } 495 #endif 392 496 393 497 }
Note: See TracChangeset
for help on using the changeset viewer.