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>