Annotation of researchv10no/cmd/cfront/demangle/nplist.c, revision 1.1

1.1     ! root        1: /*ident        "@(#)ctrans:demangler/nplist.c  1.2"*/
        !             2: /*
        !             3:  * C++ Demangler Source Code
        !             4:  * @(#)master  1.5
        !             5:  * 7/27/88 13:54:37
        !             6:  */
        !             7: #include "String.h"
        !             8: 
        !             9: struct name_pair {
        !            10:        char *s1,*s2;
        !            11: };
        !            12: int oplen = 0;
        !            13: 
        !            14: struct name_pair nplist[100] = {
        !            15:        {"lt","<"},   {"ls","<<"},  {"dv","/"}, 
        !            16:        {"gt",">"},   {"rs",">>"},  {"md","%"}, 
        !            17:        {"le","<="},  {"ml","*"},   {"pl","+"}, 
        !            18:        {"ge",">="},  {"ad","&"},   {"mi","-"}, 
        !            19:        {"ne","!="},  {"or","|"},   {"er","^"}, 
        !            20:        {"aa","&&"},  {"oo","||"},  {"as","="}, 
        !            21:        {"apl","+="}, {"ami","-="}, {"amu","*="}, 
        !            22:        {"adv","/="}, {"amd","%="}, {"aad","&="}, 
        !            23:        {"aor","|="},{"aer","^="}, {"als","<<="},
        !            24:        {"ars",">>="},{"pp","++"},  {"mm","--"},
        !            25:        {"vc","[]"},  {"cl","()"},  {"rf","->"},
        !            26:        {"eq","=="},  {"co","~"},   {"nt","!"},
        !            27:        {"nw"," new"},{"dl"," delete"}, {0,0} };
        !            28: 
        !            29: /* This routine is designed to demangle */
        !            30: char *
        !            31: findop(c)
        !            32: char *c;
        !            33: {
        !            34:        register int i;
        !            35:        for(oplen=0;c[oplen] && c[oplen] != '_';oplen++)
        !            36:                ;
        !            37:        for(i=0;nplist[i].s1;i++) {
        !            38:                if(strncmp(nplist[i].s1,c,oplen) == 0)
        !            39:                        return nplist[i].s2;
        !            40:        }
        !            41:        return 0;
        !            42: }

unix.superglobalmegacorp.com

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