Mercurial > hg > octave-nkf
diff src/defun-int.h @ 3295:35a6d027772c
[project @ 1999-10-19 10:13:02 by jwe]
author | jwe |
---|---|
date | Tue, 19 Oct 1999 10:13:06 +0000 |
parents | 4964d5391acc |
children | 6923abb04e16 |
line wrap: on
line diff
--- a/src/defun-int.h +++ b/src/defun-int.h @@ -56,43 +56,6 @@ extern void alias_builtin (const string& alias, const string& name); -// MAKE_BUILTINS is defined to extract function names and related -// information and create the *.def files that are eventually used to -// create the buitlins.cc file. - -#ifdef MAKE_BUILTINS - -// Generate code to install name in the symbol table. The script -// mkdefs will create a .def file for every .cc file that uses DEFUN, -// DEFUN_TEXT, or DEFUN_DLD. - -#define DEFUN_INTERNAL(name, args_name, nargout_name, is_text_fcn, doc) \ - BEGIN_INSTALL_BUILTIN \ - extern DECLARE_FUN (name, args_name, nargout_name); \ - install_builtin_function (F ## name, #name, doc, is_text_fcn); \ - END_INSTALL_BUILTIN - -// Generate code for making another name for an existing function. - -#define DEFALIAS_INTERNAL(alias, name) \ - BEGIN_INSTALL_BUILTIN \ - alias_builtin (#alias, #name); \ - END_INSTALL_BUILTIN - -#else /* ! MAKE_BUILTINS */ - -// Generate the first line of the function definition. This ensures -// that the internal functions all have the same signature. - -#define DEFUN_INTERNAL(name, args_name, nargout_name, is_text_fcn, doc) \ - DECLARE_FUN (name, args_name, nargout_name) - -// No definition is required for an alias. - -#define DEFALIAS_INTERNAL(name, alias) - -#endif /* ! MAKE_BUILTINS */ - // Define the code that will be used to insert the new function into // the symbol table. @@ -114,6 +77,59 @@ octave_value_list \ F ## name (const octave_value_list& args_name, int nargout_name) +// MAKE_BUILTINS is defined to extract function names and related +// information and create the *.df files that are eventually used to +// create the builtins.cc file. + +#if defined (MAKE_BUILTINS) + +// Generate code to install name in the symbol table. The script +// mkdefs will create a .def file for every .cc file that uses DEFUN, +// DEFUN_TEXT, or DEFUN_DLD. + +#define DEFUN_INTERNAL(name, args_name, nargout_name, is_text_fcn, doc) \ + BEGIN_INSTALL_BUILTIN \ + XDEFUN_INTERNAL (name, args_name, nargout_name, is_text_fcn, doc) \ + END_INSTALL_BUILTIN + +// Generate code for making another name for an existing function. + +#define DEFALIAS_INTERNAL(alias, name) \ + BEGIN_INSTALL_BUILTIN \ + XDEFALIAS_INTERNAL(alias, name) \ + END_INSTALL_BUILTIN + +#define DEFVAR_INTERNAL(name, sname, defn, protect, chg_fcn, doc) \ + BEGIN_INSTALL_BUILTIN \ + XDEFVAR_INTERNAL(name, sname, defn, protect, chg_fcn, doc) \ + END_INSTALL_BUILTIN + +#define DEFCONST_INTERNAL(name, sname, defn, protect, doc) \ + BEGIN_INSTALL_BUILTIN \ + XDEFCONST_INTERNAL(name, sname, defn, protect, doc) \ + END_INSTALL_BUILTIN + +#define DEFUN_MAPPER_INTERNAL(name, ch_map, d_b_map, c_b_map, d_d_map, \ + d_c_map, c_c_map, lo, hi, \ + can_ret_cmplx_for_real, doc) \ + BEGIN_INSTALL_BUILTIN \ + XDEFUN_MAPPER_INTERNAL(name, ch_map, d_b_map, c_b_map, d_d_map, \ + d_c_map, c_c_map, lo, hi, \ + can_ret_cmplx_for_real, doc) \ + END_INSTALL_BUILTIN + +#else /* ! MAKE_BUILTINS */ + +// Generate the first line of the function definition. This ensures +// that the internal functions all have the same signature. + +#define DEFUN_INTERNAL(name, args_name, nargout_name, is_text_fcn, doc) \ + DECLARE_FUN (name, args_name, nargout_name) + +// No definition is required for an alias. + +#define DEFALIAS_INTERNAL(name, alias) + // How builtin variables are actually installed. #define DEFVAR_INTERNAL(name, sname, defn, protect, chg_fcn, doc) \ @@ -135,6 +151,8 @@ c_c_map, lo, hi, \ can_ret_cmplx_for_real, #name)) +#endif /* ! MAKE_BUILTINS */ + #endif /*