Annotation of cci/usr/src/bin/awk/proctab.c, revision 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.