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

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 *);
1.2     ! bertrand   46: extern int hexstr(uschar **);
        !            47: extern int quoted(uschar **);
1.1       bertrand   48: extern char    *cclenter(const char *);
1.2     ! bertrand   49: extern void    overflo(const char *) __attribute__((__noreturn__));
1.1       bertrand   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 *, ...);
1.2     ! bertrand  135: extern void    FATAL(const char *, ...) __attribute__((__noreturn__));
1.1       bertrand  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>