From afc5c481f97b85b803b9b973d52684deceb715d0 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Tue, 30 Jul 2013 14:26:50 -0400 Subject: Start new branch that adds comments to profiling. --- awk.h | 1 + 1 file changed, 1 insertion(+) (limited to 'awk.h') diff --git a/awk.h b/awk.h index e01726d9..7b8761cd 100644 --- a/awk.h +++ b/awk.h @@ -679,6 +679,7 @@ typedef enum opcodeval { Op_func, + Op_comment, /* for pretty printing */ Op_exec_count, Op_breakpoint, Op_lint, -- cgit v1.2.3 From 611353597e20081bd0c72617e24fa5ff4c63dac1 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Thu, 4 Sep 2014 09:38:08 +0300 Subject: Make indirect calls work on built-in and extension functions. --- awk.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'awk.h') diff --git a/awk.h b/awk.h index a232e7a0..60e40d11 100644 --- a/awk.h +++ b/awk.h @@ -1377,6 +1377,8 @@ extern void register_deferred_variable(const char *name, NODE *(*load_func)(void extern int files_are_same(char *path, SRCFILE *src); extern void valinfo(NODE *n, Func_print print_func, FILE *fp); extern void negate_num(NODE *n); +typedef NODE *(*builtin_func_t)(int); /* function that implements a built-in */ +extern builtin_func_t lookup_builtin(const char *name); /* builtin.c */ extern double double_to_int(double d); extern NODE *do_exp(int nargs); -- cgit v1.2.3 From 0f5cb955662136ad4a93e35db5721dd986dfd55b Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Fri, 5 Sep 2014 11:21:38 +0300 Subject: Add builtin functions to FUNCTAB and PROCINFO["identifiers"] and doc. --- awk.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'awk.h') diff --git a/awk.h b/awk.h index 60e40d11..4f39ffcf 100644 --- a/awk.h +++ b/awk.h @@ -297,6 +297,7 @@ typedef enum nodevals { Node_func, /* lnode is param. list, rnode is body */ Node_ext_func, /* extension function, code_ptr is builtin code */ Node_old_ext_func, /* extension function, code_ptr is builtin code */ + Node_builtin_func, /* built-in function, main use is for FUNCTAB */ Node_array_ref, /* array passed by ref as parameter */ Node_array_tree, /* Hashed array tree (HAT) */ @@ -1379,6 +1380,7 @@ extern void valinfo(NODE *n, Func_print print_func, FILE *fp); extern void negate_num(NODE *n); typedef NODE *(*builtin_func_t)(int); /* function that implements a built-in */ extern builtin_func_t lookup_builtin(const char *name); +extern void install_builtins(void); /* builtin.c */ extern double double_to_int(double d); extern NODE *do_exp(int nargs); -- cgit v1.2.3 From f9fadc3b2bf0bf9d65a981a712aa9aebc21a699b Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sun, 7 Sep 2014 20:41:47 +0300 Subject: Minor code cleanups. --- awk.h | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) (limited to 'awk.h') diff --git a/awk.h b/awk.h index 4f39ffcf..cb737eb2 100644 --- a/awk.h +++ b/awk.h @@ -193,15 +193,6 @@ extern void *memset_ulong(void *dest, int val, unsigned long l); #define memset memset_ulong #endif -#ifdef HAVE_LIBSIGSEGV -#include -#else -typedef void *stackoverflow_context_t; -#define sigsegv_install_handler(catchsegv) signal(SIGSEGV, catchsig) -/* define as 0 rather than empty so that (void) cast on it works */ -#define stackoverflow_install_handler(catchstackoverflow, extra_stack, STACK_SIZE) 0 -#endif - #if defined(__EMX__) || defined(__MINGW32__) #include "nonposix.h" #endif /* defined(__EMX__) || defined(__MINGW32__) */ @@ -1642,7 +1633,7 @@ extern void load_symbols(); extern void init_symbol_table(); extern NODE *symbol_table; extern NODE *func_table; -extern NODE *install_symbol(char *name, NODETYPE type); +extern NODE *install_symbol(const char *name, NODETYPE type); extern NODE *remove_symbol(NODE *r); extern void destroy_symbol(NODE *r); extern void release_symbols(NODE *symlist, int keep_globals); -- cgit v1.2.3 From 3fcce8a32e825dd10384d5276c420c2514442fe2 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Mon, 15 Sep 2014 19:47:03 +0300 Subject: Finish excising isalpha and isalnum. Document. --- awk.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'awk.h') diff --git a/awk.h b/awk.h index cb737eb2..8bc393e7 100644 --- a/awk.h +++ b/awk.h @@ -1372,6 +1372,9 @@ extern void negate_num(NODE *n); typedef NODE *(*builtin_func_t)(int); /* function that implements a built-in */ extern builtin_func_t lookup_builtin(const char *name); extern void install_builtins(void); +extern bool is_alpha(int c); +extern bool is_alnum(int c); +extern bool is_identchar(int c); /* builtin.c */ extern double double_to_int(double d); extern NODE *do_exp(int nargs); -- cgit v1.2.3