summaryrefslogtreecommitdiffstats
path: root/contrib/awk/awk.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/awk/awk.h')
-rw-r--r--contrib/awk/awk.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/contrib/awk/awk.h b/contrib/awk/awk.h
index 807f700..246c6ef 100644
--- a/contrib/awk/awk.h
+++ b/contrib/awk/awk.h
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 1986, 1988, 1989, 1991-1999 the Free Software Foundation, Inc.
+ * Copyright (C) 1986, 1988, 1989, 1991-2000 the Free Software Foundation, Inc.
*
* This file is part of GAWK, the GNU implementation of the
* AWK Programming Language.
@@ -293,6 +293,7 @@ typedef enum nodevals {
Node_K_do, /* lnode is conditional, rnode stuff to run */
Node_K_return, /* lnode is return value */
Node_K_delete, /* lnode is array, rnode is subscript */
+ Node_K_delete_loop, /* lnode is array, rnode is subscript */
Node_K_getline, /* lnode is opt var, rnode is redirection */
Node_K_function, /* lnode is statement list, rnode is params */
Node_K_nextfile, /* no subs */
@@ -332,6 +333,7 @@ typedef enum nodevals {
Node_regex, /* a regexp, text, compiled, flags, etc */
Node_hashnode, /* an identifier in the symbol table */
Node_ahash, /* an array element */
+ Node_array_ref, /* array passed by ref as parameter */
Node_NF, /* variables recognized in the grammar */
Node_NR,
Node_FNR,
@@ -457,6 +459,8 @@ typedef struct exp_node {
#define array_size sub.nodep.l.ll
#define table_size sub.nodep.x.xl
+#define orig_array sub.nodep.x.extra
+
#define condpair lnode
#define triggered sub.nodep.r.r_ent
@@ -715,16 +719,19 @@ extern unsigned int hash P((const char *s, size_t len, unsigned long hsize));
extern int in_array P((NODE *symbol, NODE *subs));
extern NODE **assoc_lookup P((NODE *symbol, NODE *subs));
extern void do_delete P((NODE *symbol, NODE *tree));
+extern void do_delete_loop P((NODE *symbol, NODE *tree));
extern void assoc_scan P((NODE *symbol, struct search *lookat));
extern void assoc_next P((struct search *lookat));
+extern NODE *assoc_dump P((NODE *symbol));
+extern NODE *do_adump P((NODE *tree));
/* awktab.c */
extern char *tokexpand P((void));
-extern char nextc P((void));
extern NODE *node P((NODE *left, NODETYPE op, NODE *right));
extern NODE *install P((char *name, NODE *value));
extern NODE *lookup P((const char *name));
extern NODE *variable P((char *name, int can_free, NODETYPE type));
extern int yyparse P((void));
+extern NODE *stopme P((NODE *tree));
/* builtin.c */
extern double double_to_int P((double d));
extern NODE *do_exp P((NODE *tree));
@@ -775,6 +782,7 @@ void set_OFS P((void));
void set_ORS P((void));
void set_OFMT P((void));
void set_CONVFMT P((void));
+extern char *flags2str P((int));
/* field.c */
extern void init_fields P((void));
extern void set_record P((char *buf, int cnt, int freeold));
OpenPOWER on IntegriCloud