Subversion Repositories planix.SVN

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

/****************************************************************
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 *);