Annotation of cci/usr/src/bin/awk/proctab.c, revision 1.1.1.1

1.1       root        1: #include "awk.def"
                      2: obj nullproc();
                      3: extern obj program();
                      4: extern obj boolop();
                      5: extern obj relop();
                      6: extern obj array();
                      7: extern obj indirect();
                      8: extern obj substr();
                      9: extern obj sindex();
                     10: extern obj asprintf();
                     11: extern obj arith();
                     12: extern obj incrdecr();
                     13: extern obj cat();
                     14: extern obj pastat();
                     15: extern obj dopa2();
                     16: extern obj matchop();
                     17: extern obj aprintf();
                     18: extern obj print();
                     19: extern obj split();
                     20: extern obj assign();
                     21: extern obj ifstat();
                     22: extern obj whilestat();
                     23: extern obj forstat();
                     24: extern obj instat();
                     25: extern obj jump();
                     26: extern obj fncn();
                     27: extern obj getline();
                     28: obj (*proctab[76])() = {
                     29: /*FIRSTTOKEN*/ nullproc,
                     30: /*FINAL*/      nullproc,
                     31: /*FATAL*/      nullproc,
                     32: /*LT*/ relop,
                     33: /*LE*/ relop,
                     34: /*GT*/ relop,
                     35: /*GE*/ relop,
                     36: /*EQ*/ relop,
                     37: /*NE*/ relop,
                     38: /*MATCH*/      matchop,
                     39: /*NOTMATCH*/   matchop,
                     40: /*APPEND*/     nullproc,
                     41: /*ADD*/        arith,
                     42: /*MINUS*/      arith,
                     43: /*MULT*/       arith,
                     44: /*DIVIDE*/     arith,
                     45: /*MOD*/        arith,
                     46: /*UMINUS*/     arith,
                     47: /*ASSIGN*/     assign,
                     48: /*ADDEQ*/      assign,
                     49: /*SUBEQ*/      assign,
                     50: /*MULTEQ*/     assign,
                     51: /*DIVEQ*/      assign,
                     52: /*MODEQ*/      assign,
                     53: /*JUMP*/       nullproc,
                     54: /*XBEGIN*/     nullproc,
                     55: /*XEND*/       nullproc,
                     56: /*NL*/ nullproc,
                     57: /*PRINT*/      print,
                     58: /*PRINTF*/     aprintf,
                     59: /*SPRINTF*/    asprintf,
                     60: /*SPLIT*/      split,
                     61: /*IF*/ ifstat,
                     62: /*ELSE*/       nullproc,
                     63: /*WHILE*/      whilestat,
                     64: /*FOR*/        forstat,
                     65: /*IN*/ instat,
                     66: /*NEXT*/       jump,
                     67: /*EXIT*/       jump,
                     68: /*BREAK*/      jump,
                     69: /*CONTINUE*/   jump,
                     70: /*PROGRAM*/    program,
                     71: /*PASTAT*/     pastat,
                     72: /*PASTAT2*/    dopa2,
                     73: /*ASGNOP*/     nullproc,
                     74: /*BOR*/        boolop,
                     75: /*AND*/        boolop,
                     76: /*NOT*/        boolop,
                     77: /*NUMBER*/     nullproc,
                     78: /*VAR*/        nullproc,
                     79: /*ARRAY*/      array,
                     80: /*FNCN*/       fncn,
                     81: /*SUBSTR*/     substr,
                     82: /*LSUBSTR*/    nullproc,
                     83: /*INDEX*/      sindex,
                     84: /*GETLINE*/    getline,
                     85: /*RELOP*/      nullproc,
                     86: /*MATCHOP*/    nullproc,
                     87: /*OR*/ nullproc,
                     88: /*STRING*/     nullproc,
                     89: /*DOT*/        nullproc,
                     90: /*CCL*/        nullproc,
                     91: /*NCCL*/       nullproc,
                     92: /*CHAR*/       nullproc,
                     93: /*CAT*/        cat,
                     94: /*STAR*/       nullproc,
                     95: /*PLUS*/       nullproc,
                     96: /*QUEST*/      nullproc,
                     97: /*POSTINCR*/   incrdecr,
                     98: /*PREINCR*/    incrdecr,
                     99: /*POSTDECR*/   incrdecr,
                    100: /*PREDECR*/    incrdecr,
                    101: /*INCR*/       nullproc,
                    102: /*DECR*/       nullproc,
                    103: /*FIELD*/      nullproc,
                    104: /*INDIRECT*/   indirect,
                    105: };
                    106: char *printname[76] = {
                    107: /*FIRSTTOKEN*/ "",
                    108: /*FINAL*/      "",
                    109: /*FATAL*/      "",
                    110: /*LT*/ " < ",
                    111: /*LE*/ " <= ",
                    112: /*GT*/ " > ",
                    113: /*GE*/ " >= ",
                    114: /*EQ*/ " == ",
                    115: /*NE*/ " != ",
                    116: /*MATCH*/      " ~ ",
                    117: /*NOTMATCH*/   " !~ ",
                    118: /*APPEND*/     "",
                    119: /*ADD*/        " + ",
                    120: /*MINUS*/      " - ",
                    121: /*MULT*/       " * ",
                    122: /*DIVIDE*/     " / ",
                    123: /*MOD*/        " % ",
                    124: /*UMINUS*/     " -",
                    125: /*ASSIGN*/     " = ",
                    126: /*ADDEQ*/      " += ",
                    127: /*SUBEQ*/      " -= ",
                    128: /*MULTEQ*/     " *= ",
                    129: /*DIVEQ*/      " /= ",
                    130: /*MODEQ*/      " %= ",
                    131: /*JUMP*/       "",
                    132: /*XBEGIN*/     "",
                    133: /*XEND*/       "",
                    134: /*NL*/ "",
                    135: /*PRINT*/      "print",
                    136: /*PRINTF*/     "printf",
                    137: /*SPRINTF*/    "sprintf ",
                    138: /*SPLIT*/      "split",
                    139: /*IF*/ "if(",
                    140: /*ELSE*/       "",
                    141: /*WHILE*/      "while(",
                    142: /*FOR*/        "for(",
                    143: /*IN*/ "instat",
                    144: /*NEXT*/       "next",
                    145: /*EXIT*/       "exit",
                    146: /*BREAK*/      "break",
                    147: /*CONTINUE*/   "continue",
                    148: /*PROGRAM*/    "",
                    149: /*PASTAT*/     "",
                    150: /*PASTAT2*/    "",
                    151: /*ASGNOP*/     "",
                    152: /*BOR*/        " || ",
                    153: /*AND*/        " && ",
                    154: /*NOT*/        " !",
                    155: /*NUMBER*/     "",
                    156: /*VAR*/        "",
                    157: /*ARRAY*/      "",
                    158: /*FNCN*/       "fncn",
                    159: /*SUBSTR*/     "substr",
                    160: /*LSUBSTR*/    "",
                    161: /*INDEX*/      "sindex",
                    162: /*GETLINE*/    "getline",
                    163: /*RELOP*/      "",
                    164: /*MATCHOP*/    "",
                    165: /*OR*/ "",
                    166: /*STRING*/     "",
                    167: /*DOT*/        "",
                    168: /*CCL*/        "",
                    169: /*NCCL*/       "",
                    170: /*CHAR*/       "",
                    171: /*CAT*/        " ",
                    172: /*STAR*/       "",
                    173: /*PLUS*/       "",
                    174: /*QUEST*/      "",
                    175: /*POSTINCR*/   "++",
                    176: /*PREINCR*/    "++",
                    177: /*POSTDECR*/   "--",
                    178: /*PREDECR*/    "--",
                    179: /*INCR*/       "",
                    180: /*DECR*/       "",
                    181: /*FIELD*/      "",
                    182: /*INDIRECT*/   "$(",
                    183: };

unix.superglobalmegacorp.com

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