123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- /****************************************************************
- Copyright (C) Lucent Technologies 1997
- All Rights Reserved
- Permission to use, copy, modify, and distribute this software and
- its documentation for any purpose and without fee is hereby
- granted, provided that the above copyright notice appear in all
- copies and that both that the copyright notice and this
- permission notice and warranty disclaimer appear in supporting
- documentation, and that the name Lucent Technologies or any of
- its entities not be used in advertising or publicity pertaining
- to distribution of the software without specific, written prior
- permission.
- LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
- IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY
- SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
- IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
- THIS SOFTWARE.
- ****************************************************************/
- extern int yywrap(void);
- extern void setfname(Cell *);
- extern int constnode(Node *);
- extern char *strnode(Node *);
- extern Node *notnull(Node *);
- extern int yyparse(void);
- extern int yylex(void);
- extern void startreg(void);
- extern int input(void);
- extern void unput(int);
- extern void unputstr(char *);
- extern int yylook(void);
- extern int yyback(int *, int);
- extern int yyinput(void);
- extern void *compre(char *);
- extern int hexstr(char **);
- extern void quoted(char **, char **, char *);
- extern int match(void *, char *, char *);
- extern int pmatch(void *, char *, char *);
- extern int nematch(void *, char *, char *);
- extern int countposn(char *, int);
- extern void overflow(void);
- extern int pgetc(void);
- extern char *cursource(void);
- extern Node *nodealloc(int);
- extern Node *exptostat(Node *);
- extern Node *node1(int, Node *);
- extern Node *node2(int, Node *, Node *);
- extern Node *node3(int, Node *, Node *, Node *);
- extern Node *node4(int, Node *, Node *, Node *, Node *);
- extern Node *stat3(int, Node *, Node *, Node *);
- extern Node *op2(int, Node *, Node *);
- extern Node *op1(int, Node *);
- extern Node *stat1(int, Node *);
- extern Node *op3(int, Node *, Node *, Node *);
- extern Node *op4(int, Node *, Node *, Node *, Node *);
- extern Node *stat2(int, Node *, Node *);
- extern Node *stat4(int, Node *, Node *, Node *, Node *);
- extern Node *celltonode(Cell *, int);
- extern Node *rectonode(void);
- extern Node *makearr(Node *);
- extern Node *pa2stat(Node *, Node *, Node *);
- extern Node *linkum(Node *, Node *);
- extern void defn(Cell *, Node *, Node *);
- extern int isarg(char *);
- extern char *tokname(int);
- extern Cell *(*proctab[])(Node **, int);
- extern int ptoi(void *);
- extern Node *itonp(int);
- extern void syminit(void);
- extern void arginit(int, char **);
- extern void envinit(char **);
- extern Array *makesymtab(int);
- extern void freesymtab(Cell *);
- extern void freeelem(Cell *, char *);
- extern Cell *setsymtab(char *, char *, double, unsigned int, Array *);
- extern int hash(char *, int);
- extern void rehash(Array *);
- extern Cell *lookup(char *, Array *);
- extern double setfval(Cell *, double);
- extern void funnyvar(Cell *, char *);
- extern char *setsval(Cell *, char *);
- extern double getfval(Cell *);
- extern char *getsval(Cell *);
- extern char *tostring(char *);
- extern char *qstring(char *, int);
- extern void recinit(unsigned int);
- extern void initgetrec(void);
- extern void makefields(int, int);
- extern void growfldtab(int n);
- extern int getrec(char **, int *, int);
- extern void nextfile(void);
- extern int readrec(char **buf, int *bufsize, FILE *inf);
- extern char *getargv(int);
- extern void setclvar(char *);
- extern void fldbld(void);
- extern void cleanfld(int, int);
- extern void newfld(int);
- extern int refldbld(char *, char *);
- extern void recbld(void);
- extern Cell *fieldadr(int);
- extern void yyerror(char *);
- extern void fpecatch(int);
- extern void bracecheck(void);
- extern void bcheck2(int, int, int);
- extern void SYNTAX(char *, ...);
- extern void FATAL(char *, ...);
- extern void WARNING(char *, ...);
- extern void error(void);
- extern void eprint(void);
- extern void bclass(int);
- extern double errcheck(double, char *);
- extern int isclvar(char *);
- extern int is_number(char *);
- extern int adjbuf(char **pb, int *sz, int min, int q, char **pbp, char *what);
- extern void run(Node *);
- extern Cell *execute(Node *);
- extern Cell *program(Node **, int);
- extern Cell *call(Node **, int);
- extern Cell *copycell(Cell *);
- extern Cell *arg(Node **, int);
- extern Cell *jump(Node **, int);
- extern Cell *getline(Node **, int);
- extern Cell *getnf(Node **, int);
- extern Cell *array(Node **, int);
- extern Cell *awkdelete(Node **, int);
- extern Cell *intest(Node **, int);
- extern Cell *matchop(Node **, int);
- extern Cell *boolop(Node **, int);
- extern Cell *relop(Node **, int);
- extern void tfree(Cell *);
- extern Cell *gettemp(void);
- extern Cell *field(Node **, int);
- extern Cell *indirect(Node **, int);
- extern Cell *substr(Node **, int);
- extern Cell *sindex(Node **, int);
- extern int format(char **, int *, char *, Node *);
- extern Cell *awksprintf(Node **, int);
- extern Cell *awkprintf(Node **, int);
- extern Cell *arith(Node **, int);
- extern double ipow(double, int);
- extern Cell *incrdecr(Node **, int);
- extern Cell *assign(Node **, int);
- extern Cell *cat(Node **, int);
- extern Cell *pastat(Node **, int);
- extern Cell *dopa2(Node **, int);
- extern Cell *split(Node **, int);
- extern Cell *condexpr(Node **, int);
- extern Cell *ifstat(Node **, int);
- extern Cell *whilestat(Node **, int);
- extern Cell *dostat(Node **, int);
- extern Cell *forstat(Node **, int);
- extern Cell *instat(Node **, int);
- extern Cell *bltin(Node **, int);
- extern Cell *printstat(Node **, int);
- extern Cell *nullproc(Node **, int);
- extern FILE *redirect(int, Node *);
- extern FILE *openfile(int, char *);
- extern char *filename(FILE *);
- extern Cell *closefile(Node **, int);
- extern void closeall(void);
- extern Cell *sub(Node **, int);
- extern Cell *gsub(Node **, int);
- extern FILE *popen(const char *, const char *);
- extern int pclose(FILE *);
|