Doxygen Source Code Documentation
names.c File Reference
#include "defs.h"#include "output.h"#include "names.h"#include "iob.h"Go to the source code of this file.
Defines | |
| #define | ONE_STRUCT 1 |
| #define | UNION_STRUCT 2 |
| #define | INIT_STRUCT 3 |
Functions | |
| char * | c_type_decl (int type, int is_extern) |
| char * | new_func_length (Void) |
| char * | new_arg_length (Namep arg) |
| void | declare_new_addr (struct Addrblock *addrp) |
| void | wr_nv_ident_help (FILE *outfile, struct Addrblock *addrp) |
| int | nv_type_help (struct Addrblock *addrp) |
| char * | lit_name (struct Literal *litp) |
| char * | comm_union_name (int count) |
| void | wr_globals (FILE *outfile) |
| ftnint | commlen (register chainp vl) |
| void | pad_common (Extsym *c) |
| void | wr_common_decls (FILE *outfile) |
| void | wr_struct (FILE *outfile, chainp var_list) |
| char * | user_label (ftnint stateno) |
| char * | temp_name (char *starter, int num, char *storage) |
| char * | equiv_name (int memno, char *store) |
| void | def_commons (FILE *of) |
Variables | |
| char * | c_keywords [] |
| int | n_keywords = sizeof(c_keywords)/sizeof(char *) |
Define Documentation
|
|
Definition at line 498 of file names.c. Referenced by wr_common_decls(). |
|
|
Definition at line 496 of file names.c. Referenced by wr_common_decls(). |
|
|
Definition at line 497 of file names.c. Referenced by wr_common_decls(). |
Function Documentation
|
||||||||||||
|
Definition at line 65 of file names.c. References TYALIST, TYCILIST, TYCLLIST, TYERROR, TYFTNLEN, TYICILIST, TYINLIST, TYOLIST, TYQUAD, and TYVOID. Referenced by do_p1_head(), list_arg_types(), opconv_fudge(), putentries(), wr_globals(), wr_one_init(), wr_struct(), write_char_init(), and write_typedefs().
00067 {
00068 static char buff[100];
00069
00070 switch (type) {
00071 case TYREAL: if (!is_extern || !forcedouble)
00072 { strcpy (buff, "real");break; }
00073 case TYDREAL: strcpy (buff, "doublereal"); break;
00074 case TYCOMPLEX: if (is_extern)
00075 strcpy (buff, "/* Complex */ VOID");
00076 else
00077 strcpy (buff, "complex");
00078 break;
00079 case TYDCOMPLEX:if (is_extern)
00080 strcpy (buff, "/* Double Complex */ VOID");
00081 else
00082 strcpy (buff, "doublecomplex");
00083 break;
00084 case TYADDR:
00085 case TYINT1:
00086 case TYSHORT:
00087 case TYLONG:
00088 #ifdef TYQUAD
00089 case TYQUAD:
00090 #endif
00091 case TYLOGICAL1:
00092 case TYLOGICAL2:
00093 case TYLOGICAL: strcpy(buff, typename[type]);
00094 break;
00095 case TYCHAR: if (is_extern)
00096 strcpy (buff, "/* Character */ VOID");
00097 else
00098 strcpy (buff, "char");
00099 break;
00100
00101 case TYUNKNOWN: strcpy (buff, "UNKNOWN");
00102
00103 /* If a procedure's type is unknown, assume it's a subroutine */
00104
00105 if (!is_extern)
00106 break;
00107
00108 /* Subroutines must return an INT, because they might return a label
00109 value. Even if one doesn't, the caller will EXPECT it to. */
00110
00111 case TYSUBR: strcpy (buff, "/* Subroutine */ int");
00112 break;
00113 case TYERROR: strcpy (buff, "ERROR"); break;
00114 case TYVOID: strcpy (buff, "void"); break;
00115 case TYCILIST: strcpy (buff, "cilist"); break;
00116 case TYICILIST: strcpy (buff, "icilist"); break;
00117 case TYOLIST: strcpy (buff, "olist"); break;
00118 case TYCLLIST: strcpy (buff, "cllist"); break;
00119 case TYALIST: strcpy (buff, "alist"); break;
00120 case TYINLIST: strcpy (buff, "inlist"); break;
00121 case TYFTNLEN: strcpy (buff, "ftnlen"); break;
00122 default: sprintf (buff, "BAD DECL '%d'", type);
00123 break;
00124 } /* switch */
00125
00126 return buff;
00127 } /* c_type_decl */
|
|
|
Definition at line 321 of file names.c. Referenced by wr_common_decls().
00323 {
00324 static char buf[12];
00325
00326 sprintf(buf, "%d", count);
00327 return buf;
00328 }
|
|
|
Definition at line 411 of file names.c. References Constant::ci, Constblock::Const, Expression::constblock, ISCONST, Dimblock::nelt, and v. Referenced by pad_common().
00413 {
00414 ftnint size;
00415 int type;
00416 struct Dimblock *t;
00417 Namep v;
00418
00419 while(vl->nextp)
00420 vl = vl->nextp;
00421 v = (Namep)vl->datap;
00422 type = v->vtype;
00423 if (type == TYCHAR)
00424 size = v->vleng->constblock.Const.ci;
00425 else
00426 size = typesize[type];
00427 if ((t = v->vdim) && ISCONST(t->nelt))
00428 size *= t->nelt->constblock.Const.ci;
00429 return size + v->voffset;
00430 }
|
|
|
Definition at line 171 of file names.c. References cpexpr(), mkchain(), and new_vars. Referenced by autovar().
|
|
|
Definition at line 734 of file names.c. References Extsym::allextp, c, Extsym::cextname, Chain::datap, ext1comm, Extsym::extinit, Extsym::extstg, fatalstr(), next_tab, Chain::nextp, nice_printf(), prev_tab, STGCOMMON, and wr_struct(). Referenced by main().
00736 {
00737 Extsym *ext;
00738 int c, onefile, Union;
00739 chainp comm;
00740 extern int ext1comm;
00741 FILE *c_filesave = c_file;
00742
00743 if (ext1comm == 1) {
00744 onefile = 1;
00745 c_file = of;
00746 fprintf(of, "/*>>>'/dev/null'<<<*/\n\
00747 #ifdef Define_COMMONs\n\
00748 /*<<</dev/null>>>*/\n");
00749 }
00750 else
00751 onefile = 0;
00752 for(ext = extsymtab; ext < nextext; ext++)
00753 if (ext->extstg == STGCOMMON
00754 && !ext->extinit && (comm = ext->allextp)) {
00755 sprintf(outbtail, "%scom.c", ext->cextname);
00756 if (onefile)
00757 fprintf(of, "/*>>>'%s'<<<*/\n",
00758 outbtail);
00759 else {
00760 c_file = of = fopen(outbuf,textwrite);
00761 if (!of)
00762 fatalstr("can't open %s", outbuf);
00763 }
00764 fprintf(of, "#include \"f2c.h\"\n");
00765 if (Ansi == 2)
00766 fprintf(of,
00767 "\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n");
00768 if (comm->nextp) {
00769 Union = 1;
00770 nice_printf(of, "union {\n");
00771 next_tab(of);
00772 }
00773 else
00774 Union = 0;
00775 for(c = 1; comm; comm = comm->nextp) {
00776 nice_printf(of, "struct {\n");
00777 next_tab(of);
00778 wr_struct(of, (chainp)comm->datap);
00779 prev_tab(of);
00780 if (Union)
00781 nice_printf(of, "} _%d;\n", c++);
00782 }
00783 if (Union)
00784 prev_tab(of);
00785 nice_printf(of, "} %s;\n", ext->cextname);
00786 if (Ansi == 2)
00787 fprintf(of,
00788 "\n#ifdef __cplusplus\n}\n#endif\n");
00789 if (onefile)
00790 fprintf(of, "/*<<<%s>>>*/\n", outbtail);
00791 else
00792 fclose(of);
00793 }
00794 if (onefile)
00795 fprintf(of, "/*>>>'/dev/null'<<<*/\n#endif\n\
00796 /*<<</dev/null>>>*/\n");
00797 c_file = c_filesave;
00798 }
|
|
||||||||||||
|
Definition at line 716 of file names.c. References EQUIV_INIT_NAME, and IDENT_LEN. Referenced by wr_equiv_init().
00718 {
00719 static char buf[IDENT_LEN];
00720 char *pointer = buf;
00721
00722 if (store)
00723 pointer = store;
00724
00725 sprintf (pointer, "%s_%d", EQUIV_INIT_NAME, memno);
00726 return pointer;
00727 } /* equiv_name */
|
|
|
Definition at line 242 of file names.c. References CONST_IDENT_MAX, Literal::litival, and TYQUAD. Referenced by output_literal(), and wr_globals().
00244 {
00245 static char buf[CONST_IDENT_MAX];
00246 ftnint val;
00247 char *fmt;
00248
00249 if (litp == (struct Literal *) NULL)
00250 return NULL;
00251
00252 switch (litp -> littype) {
00253 case TYINT1:
00254 val = litp -> litval.litival;
00255 if (val >= 256 || val < -255)
00256 sprintf (buf, "ci1_b%ld", litp -> litnum);
00257 else if (val < 0)
00258 sprintf (buf, "ci1_n%ld", -val);
00259 else
00260 sprintf(buf, "ci1__%ld", val);
00261 break;
00262 case TYSHORT:
00263 val = litp -> litval.litival;
00264 if (val >= 32768 || val <= -32769)
00265 sprintf (buf, "cs_b%ld", litp -> litnum);
00266 else if (val < 0)
00267 sprintf (buf, "cs_n%ld", -val);
00268 else
00269 sprintf (buf, "cs__%ld", val);
00270 break;
00271 case TYLONG:
00272 #ifdef TYQUAD
00273 case TYQUAD:
00274 #endif
00275 val = litp -> litval.litival;
00276 if (val >= 100000 || val <= -10000)
00277 sprintf (buf, "c_b%ld", litp -> litnum);
00278 else if (val < 0)
00279 sprintf (buf, "c_n%ld", -val);
00280 else
00281 sprintf (buf, "c__%ld", val);
00282 break;
00283 case TYLOGICAL1:
00284 fmt = "cl1_%s";
00285 goto spr_logical;
00286 case TYLOGICAL2:
00287 fmt = "cl2_%s";
00288 goto spr_logical;
00289 case TYLOGICAL:
00290 fmt = "c_%s";
00291 spr_logical:
00292 sprintf (buf, fmt, (litp -> litval.litival
00293 ? "true" : "false"));
00294 break;
00295 case TYREAL:
00296 case TYDREAL:
00297 /* Given a limit of 6 or 8 character on external names, */
00298 /* few f.p. values can be meaningfully encoded in the */
00299 /* constant name. Just going with the default cb_# */
00300 /* seems to be the best course for floating-point */
00301 /* constants. */
00302 case TYCHAR:
00303 /* Shouldn't be any of these */
00304 case TYADDR:
00305 case TYCOMPLEX:
00306 case TYDCOMPLEX:
00307 case TYSUBR:
00308 default:
00309 sprintf (buf, "c_b%ld", litp -> litnum);
00310 } /* switch */
00311 return buf;
00312 } /* lit_name */
|
|
|
Definition at line 139 of file names.c. References arg. Referenced by doentry(), list_arg_types(), listargs(), and putentries().
00141 {
00142 static char buf[64];
00143 char *fmt = "%s_len", *s = arg->fvarname;
00144 switch(*s) {
00145 case 'r':
00146 if (!strcmp(s+1, "et_val"))
00147 goto adjust_fmt;
00148 break;
00149 case 'h':
00150 case 'i':
00151 if (!s[1]) {
00152 adjust_fmt:
00153 fmt = "%s_length"; /* avoid conflict with libF77 */
00154 }
00155 }
00156 sprintf (buf, fmt, s);
00157 return buf;
00158 } /* new_arg_length */
|
|
|
Definition at line 131 of file names.c. Referenced by doentry().
00132 { return "ret_val_len"; }
|
|
|
Definition at line 211 of file names.c.
00213 {
00214 if (addrp == (struct Addrblock *) NULL)
00215 return -1;
00216
00217 return addrp -> vtype;
00218 } /* nv_type_help */
|
|
|
Definition at line 437 of file names.c. References ALLOC, c, CHNULL, CLVAR, commlen(), Nameblock::cvarname, Chain::datap, Dimblock::dims, Nameblock::fvarname, ICON, L, mkchain(), Dimblock::ndim, Chain::nextp, STGCOMMON, Nameblock::tag, TNAME, v, Nameblock::vclass, Nameblock::vdim, Nameblock::vleng, Nameblock::vstg, and Nameblock::vtype. Referenced by wr_common_decls().
00439 {
00440 register chainp cvl;
00441 register Namep v;
00442 long L = c->maxleng;
00443 int type;
00444 struct Dimblock *t;
00445 int szshort = typesize[TYSHORT];
00446
00447 for(cvl = c->allextp; cvl; cvl = cvl->nextp)
00448 if (commlen((chainp)cvl->datap) >= L)
00449 return;
00450 v = ALLOC(Nameblock);
00451 v->vtype = type = L % szshort ? TYCHAR
00452 : type_choice[L/szshort % 4];
00453 v->vstg = STGCOMMON;
00454 v->vclass = CLVAR;
00455 v->tag = TNAME;
00456 v->vdim = t = ALLOC(Dimblock);
00457 t->ndim = 1;
00458 t->dims[0].dimsize = ICON(L / typesize[type]);
00459 v->fvarname = v->cvarname = "eqv_pad";
00460 if (type == TYCHAR)
00461 v->vleng = ICON(1);
00462 c->allextp = mkchain((char *)mkchain((char *)v, CHNULL), c->allextp);
00463 }
|
|
||||||||||||||||
|
Definition at line 692 of file names.c. References IDENT_LEN. Referenced by autovar(), and startrw().
00694 {
00695 static char buf[IDENT_LEN];
00696 char *pointer = buf;
00697 char *prefix = "t";
00698
00699 if (storage)
00700 pointer = storage;
00701
00702 if (starter && *starter)
00703 prefix = starter;
00704
00705 sprintf (pointer, "%s__%d", prefix, num);
00706 return pointer;
00707 } /* temp_name */
|
|
|
Definition at line 671 of file names.c. References USER_LABEL_MAX. Referenced by compgoto_out(), do_p1_goto(), do_p1_label(), entry_goto(), and out_asgoto().
00673 {
00674 static char buf[USER_LABEL_MAX + 1];
00675 static char *Lfmt[2] = { "L_%ld", "L%ld" };
00676
00677 if (stateno >= 0)
00678 sprintf(buf, Lfmt[shiftcase], stateno);
00679 else
00680 sprintf(buf, "L_%s", extsymtab[-1-stateno].fextname);
00681 return buf;
00682 } /* user_label */
|
|
|
Definition at line 505 of file names.c. References Extsym::allextp, Extsym::cextname, comm_union_name(), def_start(), E, extcomm, extern_out(), INIT_STRUCT, next_tab, Chain::nextp, nice_printf(), ONE_STRUCT, pad_common(), prev_tab, revchain(), STGCOMMON, UNION_STRUCT, and wr_struct(). Referenced by main().
00507 {
00508 Extsym *ext;
00509 extern int extcomm;
00510 static char *Extern[4] = {"", "Extern ", "extern "};
00511 char *E, *E0 = Extern[extcomm];
00512 int did_one = 0;
00513
00514 for (ext = extsymtab; ext < nextext; ext++) {
00515 if (ext -> extstg == STGCOMMON && ext->allextp) {
00516 chainp comm;
00517 int count = 1;
00518 int which; /* which display to use;
00519 ONE_STRUCT, UNION or INIT */
00520
00521 if (!did_one)
00522 nice_printf (outfile, "/* Common Block Declarations */\n\n");
00523
00524 pad_common(ext);
00525
00526 /* Construct the proper, condensed list of structs; eliminate duplicates
00527 from the initial list ext -> allextp */
00528
00529 comm = ext->allextp = revchain(ext->allextp);
00530
00531 if (ext -> extinit)
00532 which = INIT_STRUCT;
00533 else if (comm->nextp) {
00534 which = UNION_STRUCT;
00535 nice_printf (outfile, "%sunion {\n", E0);
00536 next_tab (outfile);
00537 E = "";
00538 }
00539 else {
00540 which = ONE_STRUCT;
00541 E = E0;
00542 }
00543
00544 for (; comm; comm = comm -> nextp, count++) {
00545
00546 if (which == INIT_STRUCT)
00547 nice_printf (outfile, "struct %s%d_ {\n",
00548 ext->cextname, count);
00549 else
00550 nice_printf (outfile, "%sstruct {\n", E);
00551
00552 next_tab (c_file);
00553
00554 wr_struct (outfile, (chainp) comm -> datap);
00555
00556 prev_tab (c_file);
00557 if (which == UNION_STRUCT)
00558 nice_printf (outfile, "} _%d;\n", count);
00559 else if (which == ONE_STRUCT)
00560 nice_printf (outfile, "} %s;\n", ext->cextname);
00561 else
00562 nice_printf (outfile, "};\n");
00563 } /* for */
00564
00565 if (which == UNION_STRUCT) {
00566 prev_tab (c_file);
00567 nice_printf (outfile, "} %s;\n", ext->cextname);
00568 } /* if */
00569 did_one = 1;
00570 nice_printf (outfile, "\n");
00571
00572 for (count = 1, comm = ext -> allextp; comm;
00573 comm = comm -> nextp, count++) {
00574 def_start(outfile, ext->cextname,
00575 comm_union_name(count), "");
00576 switch (which) {
00577 case ONE_STRUCT:
00578 extern_out (outfile, ext);
00579 break;
00580 case UNION_STRUCT:
00581 nice_printf (outfile, "(");
00582 extern_out (outfile, ext);
00583 nice_printf(outfile, "._%d)", count);
00584 break;
00585 case INIT_STRUCT:
00586 nice_printf (outfile, "(*(struct ");
00587 extern_out (outfile, ext);
00588 nice_printf (outfile, "%d_ *) &", count);
00589 extern_out (outfile, ext);
00590 nice_printf (outfile, ")");
00591 break;
00592 } /* switch */
00593 nice_printf (outfile, "\n");
00594 } /* for count = 1, comm = ext -> allextp */
00595 nice_printf (outfile, "\n");
00596 } /* if ext -> extstg == STGCOMMON */
00597 } /* for ext = extsymtab */
00598 } /* wr_common_decls */
|
|
|
Definition at line 342 of file names.c. References c_type_decl(), Constant::ccp1, Constant::cds, Literal::cds, Constblock::Const, frexpr(), ICON, lit_name(), Literal::littype, Literal::lituse, Literal::litval, margin_printf(), MSKCOMPLEX, MSKREAL, nice_printf(), ONEOF, out_const(), Constblock::vleng, Constblock::vstg, and Constblock::vtype. Referenced by main().
00344 {
00345 struct Literal *litp, *lastlit;
00346 extern int hsize;
00347 char *litname;
00348 int did_one, t;
00349 struct Constblock cb;
00350 ftnint x, y;
00351
00352 if (nliterals == 0)
00353 return;
00354
00355 lastlit = litpool + nliterals;
00356 did_one = 0;
00357 for (litp = litpool; litp < lastlit; litp++) {
00358 if (!litp->lituse)
00359 continue;
00360 litname = lit_name(litp);
00361 if (!did_one) {
00362 margin_printf(outfile, "/* Table of constant values */\n\n");
00363 did_one = 1;
00364 }
00365 cb.vtype = litp->littype;
00366 if (litp->littype == TYCHAR) {
00367 x = litp->litval.litival2[0] + litp->litval.litival2[1];
00368 if (y = x % hsize)
00369 x += y = hsize - y;
00370 nice_printf(outfile,
00371 "static struct { %s fill; char val[%ld+1];", halign, x);
00372 nice_printf(outfile, " char fill2[%ld];", hsize - 1);
00373 nice_printf(outfile, " } %s_st = { 0,", litname);
00374 cb.vleng = ICON(litp->litval.litival2[0]);
00375 cb.Const.ccp = litp->cds[0];
00376 cb.Const.ccp1.blanks = litp->litval.litival2[1] + y;
00377 cb.vtype = TYCHAR;
00378 out_const(outfile, &cb);
00379 frexpr(cb.vleng);
00380 nice_printf(outfile, " };\n");
00381 nice_printf(outfile, "#define %s %s_st.val\n", litname, litname);
00382 continue;
00383 }
00384 nice_printf(outfile, "static %s %s = ",
00385 c_type_decl(litp->littype,0), litname);
00386
00387 t = litp->littype;
00388 if (ONEOF(t, MSKREAL|MSKCOMPLEX)) {
00389 cb.vstg = 1;
00390 cb.Const.cds[0] = litp->cds[0];
00391 cb.Const.cds[1] = litp->cds[1];
00392 }
00393 else {
00394 memcpy((char *)&cb.Const, (char *)&litp->litval,
00395 sizeof(cb.Const));
00396 cb.vstg = 0;
00397 }
00398 out_const(outfile, &cb);
00399
00400 nice_printf (outfile, ";\n");
00401 } /* for */
00402 if (did_one)
00403 nice_printf (outfile, "\n");
00404 } /* wr_globals */
|
|
||||||||||||
|
Definition at line 186 of file names.c. References frexpr(), ICON, nice_printf(), and out_addr().
00188 {
00189 int eltcount = 0;
00190
00191 if (addrp == (struct Addrblock *) NULL)
00192 return;
00193
00194 if (addrp -> isarray) {
00195 frexpr (addrp -> memoffset);
00196 addrp -> memoffset = ICON(0);
00197 eltcount = addrp -> ntempelt;
00198 addrp -> ntempelt = 0;
00199 addrp -> isarray = 0;
00200 } /* if */
00201 out_addr (outfile, addrp);
00202 if (eltcount)
00203 nice_printf (outfile, "[%d]", eltcount);
00204 } /* wr_nv_ident_help */
|
|
||||||||||||
|
Definition at line 606 of file names.c. References c_type_decl(), Constant::ci, CLPROC, Constblock::Const, Expression::constblock, err, erri(), ISICON, L, nice_printf(), out_name(), STGAUTO, TNAME, var, Nameblock::vdim, Nameblock::vleng, and Nameblock::vtype. Referenced by def_commons(), and wr_common_decls().
00608 {
00609 int last_type = -1;
00610 int did_one = 0;
00611 chainp this_var;
00612
00613 for (this_var = var_list; this_var; this_var = this_var -> nextp) {
00614 Namep var = (Namep) this_var -> datap;
00615 int type;
00616 char *comment = NULL;
00617
00618 if (var == (Namep) NULL)
00619 err ("wr_struct: null variable");
00620 else if (var -> tag != TNAME)
00621 erri ("wr_struct: bad tag on variable '%d'",
00622 var -> tag);
00623
00624 type = var -> vtype;
00625
00626 if (last_type == type && did_one)
00627 nice_printf (outfile, ", ");
00628 else {
00629 if (did_one)
00630 nice_printf (outfile, ";\n");
00631 nice_printf (outfile, "%s ",
00632 c_type_decl (type, var -> vclass == CLPROC));
00633 } /* else */
00634
00635 /* Character type is really a string type. Put out a '*' for parameters
00636 with unknown length and functions returning character */
00637
00638 if (var -> vtype == TYCHAR && (!ISICON ((var -> vleng))
00639 || var -> vclass == CLPROC))
00640 nice_printf (outfile, "*");
00641
00642 var -> vstg = STGAUTO;
00643 out_name (outfile, var);
00644 if (var -> vclass == CLPROC)
00645 nice_printf (outfile, "()");
00646 else if (var -> vdim)
00647 comment = wr_ardecls(outfile, var->vdim,
00648 var->vtype == TYCHAR && ISICON(var->vleng)
00649 ? var->vleng->constblock.Const.ci : 1L);
00650 else if (var -> vtype == TYCHAR && var -> vclass != CLPROC &&
00651 ISICON ((var -> vleng)))
00652 nice_printf (outfile, "[%ld]",
00653 var -> vleng -> constblock.Const.ci);
00654
00655 if (comment)
00656 nice_printf (outfile, "%s", comment);
00657 did_one = 1;
00658 last_type = type;
00659 } /* for this_var */
00660
00661 if (did_one)
00662 nice_printf (outfile, ";\n");
00663 } /* wr_struct */
|
Variable Documentation
|
|
Initial value: {
"Long", "Multitype", "Namelist", "Vardesc", "abs", "acos",
"addr", "address", "aerr", "alist", "asin", "asm", "atan",
"atan2", "aunit", "auto", "break", "c", "case", "catch", "cerr",
"char", "ciend", "cierr", "cifmt", "cilist", "cirec", "ciunit",
"class", "cllist", "complex", "const", "continue", "cos",
"cosh", "csta", "cunit", "d", "dabs", "default", "defined",
"delete", "dims", "dmax", "dmin", "do", "double",
"doublecomplex", "doublereal", "else", "entry", "enum", "exp",
"extern", "far", "flag", "float", "for", "friend", "ftnint",
"ftnlen", "goto", "h", "huge", "i", "iciend", "icierr",
"icifmt", "icilist", "icirlen", "icirnum", "iciunit", "if",
"inacc", "inacclen", "inblank", "inblanklen", "include",
"indir", "indirlen", "inerr", "inex", "infile", "infilen",
"infmt", "infmtlen", "inform", "informlen", "inline", "inlist",
"inname", "innamed", "innamlen", "innrec", "innum", "inopen",
"inrecl", "inseq", "inseqlen", "int", "integer", "integer1",
"inunf", "inunflen", "inunit", "log", "logical", "logical1",
"long", "longint", "max", "min", "name", "near", "new", "nvars",
"oacc", "oblnk", "oerr", "ofm", "ofnm", "ofnmlen", "olist",
"operator", "orl", "osta", "ounit", "overload", "private",
"protected", "public", "r", "real", "register", "return",
"short", "shortint", "shortlogical", "signed", "sin", "sinh",
"sizeof", "sqrt", "static", "struct", "switch", "tan", "tanh",
"template", "this", "try", "type", "typedef", "uinteger",
"ulongint", "union", "unsigned", "vars", "virtual", "void",
"volatile", "while", "z"
} |
|
|
|