home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-05-30 | 5.8 KB | 153 lines | [TEXT/KEEN] |
- /* complete list of (real) AWK function prototypes */
- /*MAIN.c*/
- extern int AWKmain(int argc, char **argv);main
- static void usage(void);
- extern struct re_pattern_buffer *
- make_regexp(NODE *s, int ignorecase);
- extern struct re_pattern_buffer *
- mk_re_parse(char *s, int ignorecase);
- static void copyleft(void);
- static void set_fs(char *str);
- static void init_args(int argc0, int argc, char *argv0, char **argv);
- static void init_vars(void);
- static NODE *spc_var(char *name, NODE *value);
- static void pre_assign(char *v);
- extern SIGTYPE catchsig(int sig, int code);
- /*ALLOCA.C*/
- extern void *alloca (unsigned int size);
- pointer xmalloc(unsigned int n);
- /*ARRAY.C*/
- NODE *concat_exp(NODE *tree);
- void assoc_clear(NODE *symbol);
- static int hash_calc(NODE *subs);
- static NODE *assoc_find(NODE *symbol, NODE *subs, int hash1);
- int in_array(NODE *symbol, NODE *subs);
- NODE **assoc_lookup(NODE *symbol, NODE *subs);
- void do_delete(NODE *symbol, NODE *tree);
- struct search *assoc_scan(NODE *symbol);
- struct search *assoc_next(struct search *lookat);
- /*AWKTAB.C*/
- int yyparse(void);
- static void yyerror();
- int parse_escape(char **string_ptr);
- static int yylex(void);
- static FILE *pathopen(char *file);
- static NODE *node_common(NODETYPE op);
- NODE *node(NODE *left, NODETYPE op, NODE *right);
- static NODE *snode(NODE *subn, NODETYPE op, NODE *(*procp) ());
- static NODE *mkrangenode(NODE *cpair);
- static NODE *make_for_loop(NODE *init, NODE *cond, NODE *incr);
- NODE *install(NODE **table, char *name, NODE *value);
- NODE *lookup(NODE **table, char *name);
- static int hashf(register char *name, register int len, int hashsize);
- static NODE *append_right(NODE *list, NODE *new);
-
- static void func_install(NODE *params, NODE *def);
- static void pop_var(NODE *np, int freeit);
- static void pop_params(NODE *params);
- static NODE *make_param(char *name);
- NODE *variable(char *name);
- /*BUILTIN.C*/
- NODE *do_exp(NODE *tree);
- NODE *do_index(NODE *tree);
- NODE *do_int(NODE *tree);
- NODE *do_length(NODE *tree);
- NODE *do_log(NODE *tree);
- NODE *do_sprintf(NODE *tree);
- void do_printf(NODE *tree);
- NODE *do_sqrt(NODE *tree);
- NODE *do_substr(NODE *tree);
- NODE *do_system(NODE *tree);
- void do_print(register NODE *tree);
- NODE *do_tolower(NODE *tree);
- NODE *do_toupper(NODE *tree);
- static void get_one(NODE *tree, NODE **res);
- static void get_two(NODE *tree, NODE **res1, NODE **res2);
- static int get_three(NODE *tree, NODE **res1, NODE **res2, NODE **res3);
- int a_get_three(NODE *tree, NODE **res1, NODE **res2, NODE **res3);
- void print_simple(NODE *tree, FILE *fp);
- NODE *do_atan2(NODE *tree);
- NODE *do_sin(NODE *tree);
- NODE *do_cos(NODE *tree);
- NODE *do_rand(NODE *tree);
- NODE *do_srand(NODE *tree);
- NODE *do_match(NODE *tree);
- static NODE *sub_common(NODE *tree, int global);
- NODE *do_gsub(NODE *tree);
- NODE *do_sub(NODE *tree);
- /*EVAL.C*/
- int interpret(NODE *tree);
- NODE *r_tree_eval(NODE *tree);
- void assign_number(NODE **ptr, AWKNUM value);
- static int eval_condition(NODE *tree);
- int cmp_nodes(NODE *t1, NODE *t2);
- static NODE *op_assign(NODE *tree);
- static NODE *func_call(NODE *name, NODE *arg_list);
- NODE **get_lhs(NODE *ptr, int assign);
- static NODE *match_op(NODE *tree);
- /*FIELD.C*/
- void init_fields(void);
- static void set_field(int num, char *str, int len, NODE *dummy);
- static void rebuild_record(void);
- void set_record(char *buf, int cnt);
- NODE **get_field(int num, int assign);
- static int parse_fields(int up_to, char **buf, int len,
- register char *fs, void (*set) (), NODE *n);
- static int re_split(char *buf, int len, char *fs,
- struct re_registers *reregsp);
- NODE *do_split(NODE *tree);
- static char *get_fs(void);
- static void set_element(int num, char *s, int len, NODE *n);
- /*GETOPT.C*/
- int getopt(int argc, char **argv, char *opts);
- /*IO.C*/
- static IOBUF *nextfile(void);
- static IOBUF *iop_alloc(int fd);
- void do_input(void);
- static int iop_close(IOBUF *iop);
- static int inrec(IOBUF *iop);
- static void do_file(IOBUF *iop);
- int get_rs(void);
- struct redirect *redirect(NODE *tree, int errflg);
- static void close_one(void);
- NODE *do_close(NODE *tree);
- static int close_redir(register struct redirect *rp);
- int flush_io (void);
- int close_io (void);
- int devopen (char *name, char *mode);
- static IOBUF *gawk_popen(char *cmd, struct redirect *rp);
- static int gawk_pclose(struct redirect *rp);
- static int get_a_record(char **res, IOBUF *iop);
- NODE *do_getline(NODE *tree);
- /*MISSING.C*/
- /*MSG.C*/
- static void err(char *s, char *msg, va_list *argp);
- void msg();
- void warning();
- void fatal();
- /*NODE.C*/
- AWKNUM r_force_number(NODE *n);
- NODE *r_force_string(NODE *s);
- NODE *dupnode(NODE *n);
- NODE *make_number(AWKNUM x);
- NODE *tmp_number(AWKNUM x);
- NODE *make_str_node(char *s, int len, int scan);
- NODE *tmp_string(char *s, int len);
- NODE *newnode(NODETYPE ty);
- void freenode(NODE *it);
- void do_deref(void);
- /*REGEX.C*/
- static void init_syntax_once(void );
- extern int re_set_syntax(int syntax);
- extern char *re_compile_pattern(char *pattern,int size,struct re_pattern_buffer *bufp);
- static int store_jump(char *from,char opcode,char *to);
- static int insert_jump(char op,char *from,char *to,char *current_end);
- extern void re_compile_fastmap(struct re_pattern_buffer *bufp);
- extern int re_search(struct re_pattern_buffer *pbufp,char *string,int size,int startpos,int range,struct re_registers *regs);
- extern int re_search_2(struct re_pattern_buffer *pbufp,char *string1,int size1,char *string2,int size2,int startpos,int range,struct re_registers *regs,int mstop);
- extern int re_match(struct re_pattern_buffer *pbufp,char *string,int size,int pos,struct re_registers *regs);
- extern int re_match_2(struct re_pattern_buffer *pbufp,unsigned char *string1,int size1,unsigned char *string2,int size2,int pos,struct re_registers *regs,int mstop);
- static int bcmp_translate(unsigned char *s1,unsigned char *s2,int len,unsigned char *translate);
- extern char *re_comp(char *s);
- extern int re_exec(char *s);
- /*VERSION.C*/