Annotation of researchv10no/cmd/f2c/ed.mar, revision 1.1.1.1

1.1       root        1: defs.h.ed&�T�&$405d
                      2: 373d
                      3: 110d
                      4: w
                      5: q
                      6: exec.c.ed&�T�\��689c
                      7:                putout(mkexpr(OPASSIGN, vname, q));
                      8: .
                      9: 669,680c
                     10:                vname = asg_name(vname->varname);
                     11: .
                     12: 665d
                     13: 613a
                     14:  Namep
                     15: asg_name(s1)
                     16:  register char *s1;
                     17: {
                     18:        char buf[VL], *s, *se;
                     19:        register Namep vn;
                     20:        extern chainp assigned_fmts;
                     21: 
                     22:        /* Use Upper-case first letter f�or corresponding format variable */
                     23:        buf[0] = *s1 + 'A' - 'a';
                     24:        s = buf + 1;
                     25:        se = buf + VL;
                     26:        while(s < se && (*s = *++s1) != ' ')
                     27:                s++;
                     28:        vn = mkname(s-buf, buf);
                     29:        if (!vn->vis_assigned) {
                     30:                vn->vis_assigned = 1;
                     31:                vn->vstg = STGAUTO;
                     32:                vn->vprocclass� = CLVAR;
                     33:                vn->vtype = TYCHAR;
                     34:                vn->vleng = ICON(-1);   /* kludge used in list_decls */
                     35:                assigned_fmts = mkchain((tagptr) vn, assigned_fmts);
                     36:                }
                     37:        return vn;
                     38:        }
                     39: 
                     40: .
                     41: w
                     42: q
                     43: exec.c.ed1&�@�$�b768c
                     44:        p1put_goto (l2);
                     45: .
                     46: 765,766c
                     47:        p1put_if (comp);
                     48:        p1put_goto (l1);
                     49: .
                     50: 760c
                     51:  int l1, l2;
                     52: .
                     53: 744c
                     54:        �p1put_goto (lp);
                     55: .
                     56: 742c
                     57:        �p1put_goto (lz);
                     58: .
                     59: 739,740c
                     60:        �+p1put_if (mkexpr (OPLT, expr, ICON (0)));
                     61:        �p1put_goto (lm);
                     62: .
                     63: 728c
                     64: �"exar2(OPGE, expr, lz, lm);
                     65: .
                     66: 726c
                     67: �"exar2(OPNE, expr, lm, lz);
                     68: .
                     69: 724c
                     70: �uexar2(OPLE, expr, lm, lp);
                     71: .
                     72: 675c
                     73:                labelval->labused = 1;
                     74: .
                     75: 657,665c
                     76:                if (!cp)
                     77:                        vname->varxptr.assigned_values =
                     78: ��mkchain(stno, vname->varxptr.assigned_values);
                     79: .
                     80: 652,654c
                     81:                for(cp = vname->varxptr.assigned_values; cp; cp = cp->nextp)
                     82: .
                     83: 643a
                     84:                putout(mkexpr(OPASSIGN, p, mkintcon(labelval->stateno)));
                     85: 
                     86: .
                     87: 624,625c
                     88:        register chainp cp;
                     89:        register ftnint stno;
                     90: .
                     91: 112d
                     92: w
                     93: q
                     94: expr.c.ed&�^��II860,862c
                     95:                        if(np->vtype!=TYSUBR && (k = intrfunct(np->varname)) )
                     96: .
                     97: w
                     98: q
                     99: expr.c.ed1&XK�c,,2567a
                    100:        extern expptr make_int_expr();
                    101: .
                    102: w
                    103: q
                    104: format.c.ed&�&��DD1068c
                    105:                nice_printf(outfile, "*%s", varstr(VL, np->varname));
                    106: .
                    107: w
                    108: q
                    109: format.c.ed1&�@�ss1006c
                    110:                if (lp->labused) {
                    111: .
                    112: 420,422c
                    113:        margin_printf (outfile, "%s:\n", user_label (stateno));
                    114: .
                    115: 417,418d
                    116: 409d
                    117: w
                    118: q
                    119: format.c.ed2&b���51212,1214d
                    120: 1091c
                    121: � extern int define_equivs;
                    122: .
                    123: w
                    124: q
                    125: format_d.c.ed2&�K�   I
                    126: 612,613c
                    127:        �;k = ((int) (((chainp) prev -> datap) -> datap)) + 1;
                    128: .
                    129: w
                    130: q
                    131: init.c.ed&E�
                    132: { &�340d
                    133: 46a
                    134: extern flag debugflag;
                    135: extern flag onetripflag;
                    136: extern flag shortsubs;         /* Use short subscripts on arrays? */
                    137: extern flag shiftcase;
                    138: extern flag undeftype;
                    139: extern flag checksubs;
                    140: 
                    141: extern flag ftn66flag;
                    142: extern flag nowarnflag;
                    143: extern flag noex$tflag;
                    144: extern flag no66flag;
                    145: 
                    146: .
                    147: w
                    148: q
                    149: intr.c.ed&���      I&�627d
                    150: 138c
                    151: "zcos",        { INTRSPEC, TYDCOMPLEX, 56 },
                    152: .
                    153: 133c
                    154: "zsin",        { INTRSPEC, TYDCOMPLEX, 52 },
                    155: .
                    156: 124c
                    157: "zlog",        { INTRSPEC, TYDCOMPLEX, 46 },
                    158: .
                    159: 118c
                    160: "zexp",        { INTRSPEC, TYDCOMPLEX, 42 },
                    161: .
                    162: 113c
                    163: "zsqrt",       { INTRSPEC, TYDCOMPLEX, 38 },
                    164: .
                    165: 84c
                    166: "zabs",        { IMNTRSPEC, TYDREAL, 13 },
                    167: .
                    168: 35c
                    169: "dcmplx",      { INTRCONV, TYDCOMPLEX },
                    170: .
                    171: 20d
                    172: w
                    173: q
                    174: io.c.ed&�T�0��713,715c
                    175:        q->uname_tag = UNAM_NAME;
                    176:        q->user.name = asg_name(p->primblock.namep->varname);
                    177: .
                    178: 701a
                    179:        extern Namep asg_name();
                    180: .
                    181: w
                    182: q
                    183: io.c.ed1&�@�
� 835c
                    184: �lp->labused = 1;
                    185: .
                    186: w
                    187: q
                    188: main.c.ed&;|�q   163,166c
                    189: �noextflag = no66flag;
                    190: .
                    191: 80,82c
                    192: �Af2c_entry ("ev", P_NO_ARGS, P_INT, &define_equivs, NO)
                    193: .
                    194: 23d
                    195: w
                    196: q
                    197: main.c.ed0&`����300c
                    198:        nice_printf (c_output, "/* %s -- translated by f2c ",
                    199:                ftn_files[current_ftn_file]);
                    200: .
                    201: 297a
                    202:        if ((c_output = fopen (coutput, "w")) == (FILE *) NULL)
                    203:        �<fatal ("main - couldn't open c_output");
                    204: 
                    205: .
                    206: 274,286c
                    207:        else
                    208:        ��fatal ("No input file specified");
                    209:        fprintf(diagfile, "%s:\n", ftn_files[current_ftn_file]);
                    210:        fflush(stderr);
                    211: .
                    212: 272c
                    213:                        coutput = c_name(ftn_files[current_ftn_file]);
                    214:                if(inilex( copys(ftn_files[current_ftn_file]) ))
                    215:                        DONE(1);
                    216: .
                    217: 270c
                    218:        if (current_ft�n_file < Max_ftn_files && ftn_files[current_ftn_file]) {
                    219: .
                    220: 261c
                    221:        current_ftn_file = k - 1;
                    222: .
                    223: 245c
                    224:        ftn_files = (char **)malloc(argc*sizeof(char *));
                    225: .
                    226: 234c
                    227:        char *malloc();
                    228: .
                    229: w
                    230: q
                    231: main.c.ed2&�K�cC83,84c
                    232: �8f2c_entry ("z", P_NO_ARGS, P_INT, &zflag, NO)
                    233: .
                    234: 37d
                    235: w
                    236: q
                    237: misc.c.ed&�U��    447d
                    238: w
                    239: q
                    240: output.c.ed&����1279,1282c
                    241: �7for (value = namep -> varxptr.assigned_values; value;
                    242:        ��value = value -> nextp) {
                    243:        nice_printf (outfile, "case %d: goto %s;\n", (int) value -> datap,
                    244:                user_label ((int) value -> datap));
                    245: .
                    246: 1252d
                    247: w
                    248: q
                    249: output.c.ed2&U���T390c
                    250: �" ",�
"!",  "\\\"",�"#",�"$",�"%",�"&",�"'",
                    251: .
                    252: w
                    253: q
                    254: p1output.c.ed&�T�`22534,536c
                    255:        c.ci = labels[i] -> stateno;
                    256: .
                    257: 523d
                    258: w
                    259: q
                    260: proc.c.ed&k:��bb1202d
                    261: 1198,1200c
                    262:        else
                    263: .
                    264: 1191,1196c
                    265:        if(k = intrfunct(v->varname))
                    266: .
                    267: 1179c
                    268:        register int k;
                    269: .
                    270: w
                    271: q
                    272: proc.c.ed1&XK�>y?1318c
                    273:                p->basexpr = make_int_expr (fixtype (q));
                    274: .
                    275: 1287,1288c
                    276: �6p->dims[i].dimexpr = make_int_expr(fixtype(q));
                    277: .
                    278: w
                    279: q
                    280: gram.dcl.ed3&�T��%%39c
                    281:        | SREAL         { $$ = TYREAL; }
                    282: .
                    283: w
                    284: q
                    285: gram.expr.ed3&��%HH97c
                    286:        | SRCON = { $$ = mkrealcon(TYREAL, convcd(toklen, token)); }
                    287: .
                    288: w
                    289: q
                    290: gram.head.ed3&c���24d
                    291: w
                    292: q
                    293: init.c.ed3&dE��99351c
                    294:                setimpl(TYREAL, (ftnint) 0, 'a', 'z');
                    295: .
                    296: 251d
                    297: w
                    298: q
                    299: intr.c.ed3&8=���410,480d
                    300: 327,328c
                    301:        { TYDREAL,TYDREAL,2,"d_scal" }
                    302: .
                    303: 138c
                    304: "ccos",        { INTRSPEC, TYCOMPLEX, 55 },
                    305: .
                    306: 133c
                    307: "csin",        { INTRSPEC, TYCOMPLEX, 51 },
                    308: .
                    309: 128c
                    310: "alog10",      { INTRSPEC, TYREAL, 47 },
                    311: .
                    312: 124c
                    313: "clog",        { INTRSPEC, TYCOMPLEX, 45 },
                    314: .
                    315: 122c
                    316: "alog",        { INTRS�PEC, TYREAL, 43 },
                    317: .
                    318: 118c
                    319: "cexp",        { INTRSPEC, TYCOMPLEX, 41 },
                    320: .
                    321: 113c
                    322: "csqrt",       { INTRSPEC, TYCOMPLEX, 37 },
                    323: .
                    324: 109c
                    325: "dconjg",      { INTRSPEC, TYDCOMPLEX, 34 },
                    326: .
                    327: 105c
                    328: "aimag",       { INTRSPEC, TYREAL, 31 },
                    329: .
                    330: 88c
                    331: "amod",        { INTRSPEC, TYREAL, 16 },
                    332: .
                    333: 84c
                    334: "cab�s",       { INTRSPEC, TYREAL, 12 },
                    335: .
                    336: 17,21c
                    337:        int intrgroup /* :3 */;
                    338:        int intrstuff /* result type or number of generics */;
                    339:        int intrno /* :7 */;
                    340:        int dblcmplx;
                    341: .
                    342: w
                    343: q
                    344: main.c.ed3&���R173,177d
                    345: 87,88c
                    346: �>f2c_entry ("a", P_NO_ARGS, P_INT, &useauto, YES)
                    347: .
                    348: 30,32d
                    349: w
                    350: q
                    351: defs.h.ed4&+��V131c
                    352: extern int tyint;
                    353: .
                    354: w
                    355: q
                    356: expr.c.ed4&%F����2624,2631c
                    357:                        q = call2(ltype, powint[ltype-TYLONG], lp, mkconv(TYLONG, rp));
                    358: .
                    359: 2572c
                    360:        int ltype, rtype, mtype;
                    361: .
                    362: 214,218d
                    363: 44c
                    364:        p = mkconst(TYLONG);
                    365: .
                    366: w
                    367: q
                    368: f2c.h.ed4&_�X34d
                    369: 25,30d
                    370: 18d
                    371: w
                    372: q
                    373: format.c.ed4&S �G&1608a
                    374:        �ustrcpy (result -> Const.ccp, storage);
                    375: sdbp (stddbg,"p1get_const: got string '%s'\n", result -> Const.ccp);
                    376: .
                    377: 1607c
                    378:        �gstatus = p1gets (infile, storage, CONSTANT_STR_MAX);
                    379: 
                    380: /* BUG BUG Find some better storage routine */
                    381: 
                    382:        �=result -> Const.ccp = malloc (strlen (storage) + 1);
                    383: .
                    384: 1580a
                    385: �char *malloc ();
                    386: .
                    387: w
                    388: q
                    389: io.c.ed4&+��!�b1185c
                    390:                �VONEOF(p->addrblock.vtype, M(TYLONG)|M(TYLOGICAL)) ) {
                    391: .
                    392: 703d
                    393: 677,679d
                    394: 675d
                    395: 13,14d
                    396: w
                    397: q
                    398: main.c.ed4&]P"~�D342c
                    399:        nice_printf (c_output, "#include \"f2c.h\"\n\n");
                    400: .
                    401: 177,178c
                    402:        �tyint = TYSHORT;
                    403: .
                    404: 163,173c
                    405: �if (useshortints)
                    406: .
                    407: 94,95c
                    408: �Ef2c_entry ("r8", P_NO_ARGS, P_INT, &r8flag, YES)
                    409: .
                    410: 54,57d
                    411: 42,43d
                    412: w
                    413: q
                    414: names.c.ed4&�\�#l�&
                    415: 246,252c
                    416:        �strcpy (buf, "c_");
                    417:        �;(void) constant2s ((union Constant *) &(litp -> litval),
                    418:                �litp -> littype, buf + 2);
                    419:        �Aif (strlen (buf) > 8)
                    420:                sprintf (buf, "c_b%d", litp -> litnum);
                    421:        �2else {
                    422:                char *s;
                    423: 
                    424:                for (s = buf + 2; *s; s++)
                    425:                �if (*s == '.')
                    426:                        *s = '_';
                    427:                �"else if (*s == '-')
                    428:                        *s = 'n';
                    429:        �} /* else */
                    430:        �Ubreak;
                    431: .
                    432: 218,228d
                    433: 62,63c
                    434:        case TYLOGICAL: strcpy (buff, "logical");       break;
                    435: .
                    436: 26d
                    437: w
                    438: q
                    439: output.c.ed4&iP$8�1086,1087c
                    440:        �Longfmt = "%ldL";
                    441: .
                    442: 434c
                    443:        �<nice_printf (fp, Longfmt, (long int) constp -> ci);
                    444: .
                    445: 431c
                    446:        �8nice_printf (fp, "%d", (short int) constp -> ci);
                    447: .
                    448: w
                    449: q
                    450: p1output.c.ed4&d��%X
                    451: 146,147c
                    452:        �/p1putds (P1_CONST, type, c -> ccp);
                    453: .
                    454: 123,124c
                    455: �char *varstr ();
                    456: .
                    457: w
                    458: q
                    459: put.c.ed4&V�&{VV282c
                    460:        case TYLONG:
                    461: .
                    462: 278,280d
                    463: 232c
                    464:        q->vtype = ( type==TYADDR ? TYINT : type );
                    465: .
                    466: w
                    467: q
                    468: putpcc.c.ed4&|�'��939c
                    469:                �Hmkexpr(OPPLUS,length_copy->memoffset, ICON(i*SZLENG));
                    470: .
                    471: 919d
                    472: 902,903c
                    473:        �umkconv(TYLONG, ICON(n))));
                    474: .
                    475: 899,900d
                    476: 888c
                    477:        length_var = mktmpn(n, TYLENG, PNULL, CONCAT_NAME);
                    478: .
                    479: 881c
                    480:        int n;
                    481: .
                    482: w
                    483: q
                    484: defines.h.ed5&�T�(�    192d
                    485: w
                    486: q
                    487: expr.c.ed5&Lf     ) hh2015d
                    488: 1895d
                    489: 1751c
                    490:                }
                    491: .
                    492: 1727,1739c
                    493:                if( ISSTAROP(lp) && ISICON(lp->exprblock.rightp) )
                    494:                {
                    495: .
                    496: 1664d
                    497: w
                    498: q
                    499: format.c.ed5&X
                    500:        *� 881263c
                    501:                if (in_vector (storage, c_keywords) >= 0)
                    502: .
                    503: w
                    504: q
                    505: format_d.c.ed5&iP+�  40,41c
                    506: �if (debugflag)
                    507: .
                    508: w
                    509: q
                    510: gram.dcl.ed5&]P,A!~~312c
                    511:                { vartype = $2; }
                    512: .
                    513: 41,42c
                    514:                { varleng = ($1<0 || $1==TYLONG ? 0 : typesize[$1]); }
                    515: .
                    516: 31,37c
                    517:                { varleng = $2; }
                    518: .
                    519: w
                    520: q
                    521: io.c.ed5&[-�!��1173,1183c
                    522:        else
                    523:                ioset(TYADDR, offset, p ? addrof(p) : ICON(0) );
                    524: .
                    525: 1133c
                    526:        expptr mo;
                    527: .
                    528: 828,831c
                    529:                if(p->headblock.vtype == TYCHAR)
                    530: .
                    531: w
                    532: q
                    533: lex.c.ed5&��.�"''325d
                    534: 322,323c
                    535:        if(inclp == NULL)
                    536: .
                    537: w
                    538: q
                    539: main.c.ed5&C/�"{{413d
                    540: 122,123c
                    541:                fprintf(stderr, "%s %s %s %s %s\n", c_functions,
                    542:                        initfname, p1_file, p1_filebak, sortfname);
                    543: .
                    544: 117d
                    545: w
                    546: q
                    547: misc.c.ed5&�d     0�#p1083c
                    548: ��sprintf (buf, "/bin/cp %s %s.bak", fname, fname);
                    549: .
                    550: 1045a
                    551:        len = len > str_len ? len : str_len;
                    552:        if (!strncmp (str, vector[index], len))
                    553:        �return index;
                    554: �
} /* for */
                    555: 
                    556: �(return -1;
                    557: } /* in_vector */
                    558: 
                    559: 
                    560: 
                    561: .
                    562: 1044a
                    563: �dfor (index = 0; vector && vector[index]; index++) {
                    564:        int len = strlen (vector[index]);
                    565: .
                    566: 1029,1043c
                    567: �Kfor (str_len = 0; str && *str && str_len < 100; str_len++)
                    568:        ;
                    569: .
                    570: 1022,1027c
                    571: �*register int index;                 /* current index */
                    572: �register int str_len;
                    573: ��extern int strncmp ();
                    574: .
                    575: 1019,1020c
                    576: int in_vector (str, vector)
                    577: char *str, *vector[];
                    578: .
                    579: 1014,1016c
                    580: /* in_vector -- verifies whether   str   can satisfy one of the strings in
                    581:    vector.   If so, the index is returned else   NOT_IN_VECTOR   is returned.
                    582: �   str   "satisfies" one of the vectored strings if it exactly matches
                    583:    a string in   vector.   Only an exact match will be accepted.
                    584: .
                    585: w
                    586: q
                    587: names.c.ed5&�:1'~�677,678d
                    588: 666,675c
                    589:        "case", "char", "cilist", "cllist", "const", "cos", "cosh",
                    590:        "do", "double", "else", "entry", "enum", "exp",
                    591:        "extern", "flag", "float", "for", "ftnint", "ftnlen", "goto",
                    592:        "if", "inlist", "int", "log", "long",
                    593:        "olist", "return",
                    594:        "�short", "signed", "sin", "sinh", "sizeof",
                    595:        "sqrt", "static", "struct", "switch", "tan", "tanh",
                    596:        "union", "void", "while",
                    597:        0
                    598: .
                    599: 659,661c
                    600:    "int", etc.  Source:  Kernighan & Ritchie, eds. 1 and 2 */
                    601: /* Also includes keywords used for I/O in f2c.h */
                    602: 
                    603: �/* Omitting names over 6 characters long:
                    604:    "default", "continue", "icilist", "register",
                    605:    "typedef", "unsigned", "volatile"
                    606: .
                    607: w
                    608: q
                    609: output.c.ed5&[2�)^&1079,1082c
                    610:        �<if (q -> tag == TNAME && q -> nameblock.vstg == STGEXT &&
                    611:                �/q -> nameblock.vclass == CLPROC && in_vector
                    612:                ��(varstr (VL, q -> nameblock.varname), c_keywords) == -1)
                    613:                nice_printf (outfile, "_");
                    614: .
                    615: 754d
                    616: 531c
                    617:                        if (in_vector(s, c_keywords) >= 0)
                    618: .
                    619: 348c
                    620:        if (in_vector (varstr (VL, namep -> varname), c_keywords) >= 0)
                    621: .
                    622: 96d
                    623: w
                    624: q
                    625: p1output.c.ed5&X
                    626:        33+        358d
                    627: w
                    628: q
                    629: proc.c.ed5&�
                    630: 4a+1151,1155d
                    631: w
                    632: q
                    633: put.c.ed5&�5�+PP45,46c
                    634:        1,1,1,1,1 /* OPNEG1, OPQUESTd, OPCOLONd, OPASSIGNI, OPIDENTITY */
                    635: .
                    636: w
                    637: q
                    638: putpcc.c.ed5&C6
                    639: ,''961,963c
                    640: return (expptr) p;
                    641: .
                    642: 260d
                    643: w
                    644: q
                    645: star2s.c.ed5&�T�7V,�461c
                    646:        �9if (in_vector (e -> user.ident, c_keywords) >= 0)
                    647: .
                    648: 290c
                    649: �Tsprintf (pointer, "(TNAME %s%s %s %s %s", str, in_vector (str, c_keywords) >=
                    650: .
                    651: w
                    652: q
                    653: defines.h.ed5&�T�(�   
                    654: defs.h.ed&�T�&$defs.h.ed4&+��Vexec.c.ed&�T�\��exec.c.ed1&�@�$��expr.c.ed&�^��IJexpr.c.ed1&XK�c,-expr.c.ed4&%F����expr.c.ed5&Lf      ) hif2c.h.ed4&_�Xformat.c.ed&�&��DEformat.c.ed1&�@�stformat.c.ed2&b���55format.c.ed4&S �G&D&format.c.ed5&X
                    655:        *� 89format_d.c.ed2&�K�   IIformat_d.c.ed5&iP+�   gram.dcl.ed3&�T��%&gram.dcl.ed5&]P,A!~gram.expr.ed3&��%HIgram.head.ed3&c��� init.c.ed&E�
                    656: { &"&init.c.ed3&dE��9:intr.c.ed&���   I&K&intr.c.ed3&8=���io.c.ed&�T�0��io.c.ed1&�@�
�  io.c.ed4&+��!�bbio.c.ed5&[-�!��lex.c.ed5&��.�"'(main.c.ed&;|�qpmain.c.ed0&`����main.c.ed2&�K�cCCmain.c.ed3&���RRmain.c.ed4&]P"~��main.c.ed5&C/�"{|misc.c.ed&�U��  
                    657: misc.c.ed5&�d  0�#pinames.c.ed4&�\�#l�&�&names.c.ed5&�:1'~�output.c.ed&�����output.c.ed2&U���TGoutput.c.ed4&iP$8��output.c.ed5&[2�)^&\&p1output.c.ed&�T�`23p1output.c.ed4&d��%XWp1output.c.ed5&X
                    658:        33+       
                    659: proc.c.ed&k:��bcproc.c.ed1&XK�>yyproc.c.ed5&�
                    660: 4a+put.c.ed4&V�&{VWput.c.ed5&�5�+PQputpcc.c.ed4&|�'���putpcc.c.ed5&C6
                    661: ,'(star2s.c.ed5&�T�7V,���,7

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.