File:  [local] / rpl / rplawk / proto.h
Revision 1.2: download - view: text, annotated - select for diffs - revision graph
Wed Jun 12 09:47:52 2013 UTC (10 years, 9 months ago) by bertrand
Branches: MAIN
CVS tags: rpl-4_1_35, rpl-4_1_34, rpl-4_1_33, rpl-4_1_32, rpl-4_1_31, rpl-4_1_30, rpl-4_1_29, rpl-4_1_28, rpl-4_1_27, rpl-4_1_26, rpl-4_1_25, rpl-4_1_24, rpl-4_1_23, rpl-4_1_22, rpl-4_1_21, rpl-4_1_20, rpl-4_1_19, rpl-4_1_18, rpl-4_1_17, rpl-4_1_16, rpl-4_1_15, rpl-4_1_14, HEAD
Quelques patches pour rplawk et ncurses.

    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(uschar **);
   47: extern  int quoted(uschar **);
   48: extern  char    *cclenter(const char *);
   49: extern  void    overflo(const char *) __attribute__((__noreturn__));
   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 *, ...) __attribute__((__noreturn__));
  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>