Annotation of rpl/rplawk/proto.h, revision 1.1

1.1     ! bertrand    1: /****************************************************************
        !             2: Copyright (C) Lucent Technologies 1997
        !             3: All Rights Reserved
        !             4: 
        !             5: Permission to use, copy, modify, and distribute this software and
        !             6: its documentation for any purpose and without fee is hereby
        !             7: granted, provided that the above copyright notice appear in all
        !             8: copies and that both that the copyright notice and this
        !             9: permission notice and warranty disclaimer appear in supporting
        !            10: documentation, and that the name Lucent Technologies or any of
        !            11: its entities not be used in advertising or publicity pertaining
        !            12: to distribution of the software without specific, written prior
        !            13: permission.
        !            14: 
        !            15: LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
        !            16: INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
        !            17: IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY
        !            18: SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
        !            19: WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
        !            20: IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
        !            21: ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
        !            22: THIS SOFTWARE.
        !            23: ****************************************************************/
        !            24: 
        !            25: extern int yywrap(void);
        !            26: extern void    setfname(Cell *);
        !            27: extern int constnode(Node *);
        !            28: extern char    *strnode(Node *);
        !            29: extern Node    *notnull(Node *);
        !            30: extern int yyparse(void);
        !            31: 
        !            32: extern int yylex(void);
        !            33: extern void    startreg(void);
        !            34: extern int input(void);
        !            35: extern void    unput(int);
        !            36: extern void    unputstr(const char *);
        !            37: extern int yylook(void);
        !            38: extern int yyback(int *, int);
        !            39: extern int yyinput(void);
        !            40: 
        !            41: extern fa  *makedfa(const char *, int);
        !            42: extern fa  *mkdfa(const char *, int);
        !            43: extern int makeinit(fa *, int);
        !            44: extern void    penter(Node *);
        !            45: extern void    freetr(Node *);
        !            46: extern int hexstr(char **);
        !            47: extern int quoted(char **);
        !            48: extern char    *cclenter(const char *);
        !            49: extern void    overflo(const char *);
        !            50: extern void    cfoll(fa *, Node *);
        !            51: extern int first(Node *);
        !            52: extern void    follow(Node *);
        !            53: extern int member(int, const char *);
        !            54: extern int match(fa *, const char *);
        !            55: extern int pmatch(fa *, const char *);
        !            56: extern int nematch(fa *, const char *);
        !            57: extern Node    *reparse(const char *);
        !            58: extern Node    *regexp(void);
        !            59: extern Node    *primary(void);
        !            60: extern Node    *concat(Node *);
        !            61: extern Node    *alt(Node *);
        !            62: extern Node    *unary(Node *);
        !            63: extern int relex(void);
        !            64: extern int cgoto(fa *, int, int);
        !            65: extern void    freefa(fa *);
        !            66: 
        !            67: extern int pgetc(void);
        !            68: extern char    *cursource(void);
        !            69: 
        !            70: extern Node    *nodealloc(int);
        !            71: extern Node    *exptostat(Node *);
        !            72: extern Node    *node1(int, Node *);
        !            73: extern Node    *node2(int, Node *, Node *);
        !            74: extern Node    *node3(int, Node *, Node *, Node *);
        !            75: extern Node    *node4(int, Node *, Node *, Node *, Node *);
        !            76: extern Node    *stat3(int, Node *, Node *, Node *);
        !            77: extern Node    *op2(int, Node *, Node *);
        !            78: extern Node    *op1(int, Node *);
        !            79: extern Node    *stat1(int, Node *);
        !            80: extern Node    *op3(int, Node *, Node *, Node *);
        !            81: extern Node    *op4(int, Node *, Node *, Node *, Node *);
        !            82: extern Node    *stat2(int, Node *, Node *);
        !            83: extern Node    *stat4(int, Node *, Node *, Node *, Node *);
        !            84: extern Node    *celltonode(Cell *, int);
        !            85: extern Node    *rectonode(void);
        !            86: extern Node    *makearr(Node *);
        !            87: extern Node    *pa2stat(Node *, Node *, Node *);
        !            88: extern Node    *linkum(Node *, Node *);
        !            89: extern void    defn(Cell *, Node *, Node *);
        !            90: extern int isarg(const char *);
        !            91: extern char    *tokname(int);
        !            92: extern Cell    *(*proctab[])(Node **, int);
        !            93: extern int ptoi(void *);
        !            94: extern Node    *itonp(int);
        !            95: 
        !            96: extern void    syminit(void);
        !            97: extern void    arginit(int, char **);
        !            98: extern void    envinit(char **);
        !            99: extern Array   *makesymtab(int);
        !           100: extern void    freesymtab(Cell *);
        !           101: extern void    freeelem(Cell *, const char *);
        !           102: extern Cell    *setsymtab(const char *, const char *, double, unsigned int, Array *);
        !           103: extern int hash(const char *, int);
        !           104: extern void    rehash(Array *);
        !           105: extern Cell    *lookup(const char *, Array *);
        !           106: extern double  setfval(Cell *, double);
        !           107: extern void    funnyvar(Cell *, const char *);
        !           108: extern char    *setsval(Cell *, const char *);
        !           109: extern double  getfval(Cell *);
        !           110: extern char    *getsval(Cell *);
        !           111: extern char    *getpssval(Cell *);     /* for print */
        !           112: extern char    *tostring(const char *);
        !           113: extern char    *qstring(const char *, int);
        !           114: 
        !           115: extern void    recinit(unsigned int);
        !           116: extern void    initgetrec(void);
        !           117: extern void    makefields(int, int);
        !           118: extern void    growfldtab(int n);
        !           119: extern int getrec(char **, int *, int);
        !           120: extern void    nextfile(void);
        !           121: extern int readrec(char **buf, int *bufsize, FILE *inf);
        !           122: extern char    *getargv(int);
        !           123: extern void    setclvar(char *);
        !           124: extern void    fldbld(void);
        !           125: extern void    cleanfld(int, int);
        !           126: extern void    newfld(int);
        !           127: extern int refldbld(const char *, const char *);
        !           128: extern void    recbld(void);
        !           129: extern Cell    *fieldadr(int);
        !           130: extern void    yyerror(const char *);
        !           131: extern void    fpecatch(int);
        !           132: extern void    bracecheck(void);
        !           133: extern void    bcheck2(int, int, int);
        !           134: extern void    SYNTAX(const char *, ...);
        !           135: extern void    FATAL(const char *, ...);
        !           136: extern void    WARNING(const char *, ...);
        !           137: extern void    error(void);
        !           138: extern void    eprint(void);
        !           139: extern void    bclass(int);
        !           140: extern double  errcheck(double, const char *);
        !           141: extern int isclvar(const char *);
        !           142: extern int is_number(const char *);
        !           143: 
        !           144: extern int adjbuf(char **pb, int *sz, int min, int q, char **pbp, const char *what);
        !           145: extern void    run(Node *);
        !           146: extern Cell    *execute(Node *);
        !           147: extern Cell    *program(Node **, int);
        !           148: extern Cell    *call(Node **, int);
        !           149: extern Cell    *copycell(Cell *);
        !           150: extern Cell    *arg(Node **, int);
        !           151: extern Cell    *jump(Node **, int);
        !           152: extern Cell    *awkgetline(Node **, int);
        !           153: extern Cell    *getnf(Node **, int);
        !           154: extern Cell    *array(Node **, int);
        !           155: extern Cell    *awkdelete(Node **, int);
        !           156: extern Cell    *intest(Node **, int);
        !           157: extern Cell    *matchop(Node **, int);
        !           158: extern Cell    *boolop(Node **, int);
        !           159: extern Cell    *relop(Node **, int);
        !           160: extern void    tfree(Cell *);
        !           161: extern Cell    *gettemp(void);
        !           162: extern Cell    *field(Node **, int);
        !           163: extern Cell    *indirect(Node **, int);
        !           164: extern Cell    *substr(Node **, int);
        !           165: extern Cell    *sindex(Node **, int);
        !           166: extern int format(char **, int *, const char *, Node *);
        !           167: extern Cell    *awksprintf(Node **, int);
        !           168: extern Cell    *awkprintf(Node **, int);
        !           169: extern Cell    *arith(Node **, int);
        !           170: extern double  ipow(double, int);
        !           171: extern Cell    *incrdecr(Node **, int);
        !           172: extern Cell    *assign(Node **, int);
        !           173: extern Cell    *cat(Node **, int);
        !           174: extern Cell    *pastat(Node **, int);
        !           175: extern Cell    *dopa2(Node **, int);
        !           176: extern Cell    *split(Node **, int);
        !           177: extern Cell    *condexpr(Node **, int);
        !           178: extern Cell    *ifstat(Node **, int);
        !           179: extern Cell    *whilestat(Node **, int);
        !           180: extern Cell    *dostat(Node **, int);
        !           181: extern Cell    *forstat(Node **, int);
        !           182: extern Cell    *instat(Node **, int);
        !           183: extern Cell    *bltin(Node **, int);
        !           184: extern Cell    *printstat(Node **, int);
        !           185: extern Cell    *nullproc(Node **, int);
        !           186: extern FILE    *redirect(int, Node *);
        !           187: extern FILE    *openfile(int, const char *);
        !           188: extern const char  *filename(FILE *);
        !           189: extern Cell    *closefile(Node **, int);
        !           190: extern void    closeall(void);
        !           191: extern Cell    *sub(Node **, int);
        !           192: extern Cell    *gsub(Node **, int);
        !           193: 
        !           194: extern FILE    *popen(const char *, const char *);
        !           195: extern int pclose(FILE *);

CVSweb interface <joel.bertrand@systella.fr>