NEURON
hoc_init.cpp
Go to the documentation of this file.
1 #include <../../nrnconf.h>
2 /* /local/src/master/nrn/src/oc/hoc_init.cpp,v 1.25 1999/11/08 17:48:58 hines Exp */
3 
4 #include "parse.hpp"
5 #include "equation.h"
6 #include "nrnunits.h"
7 
8 #include "nrn_ansi.h"
9 #include "ocfunc.h"
10 
11 #include "oc_mcran4.hpp"
12 
13 #include <cmath>
14 
15 extern void hoc_nrnmpi_init();
16 
17 #if PVM
18 extern int numprocs(), myproc(), psync();
19 #endif
20 
21 #if defined(WIN32)
22 extern void hoc_winio_show(int b);
23 #endif
24 
25 static struct { /* Keywords */
26  const char* name;
27  int kval;
28 } keywords[] = {{"proc", parsePROC},
29  {"func", FUNC},
30  {"obfunc", HOCOBJFUNC},
31  {"return", RETURN},
32  {"break", BREAK},
33  {"continue", CONTINUE},
34  {"stop", STOPSTMT},
35  {"if", IF},
36  {"else", ELSE},
37  {"while", WHILE},
38  {"for", FOR},
39  {"print", PRINT},
40  {"delete", parseDELETE},
41  {"read", READ},
42  {"debug", DEBUG},
43  {"double", parseDOUBLE},
44  {"depvar", DEPENDENT},
45  {"eqn", EQUATION},
46  {"local", LOCAL},
47  {"localobj", LOCALOBJ},
48  {"strdef", STRDEF},
49  {"help", HELP},
50  {"iterator", ITERKEYWORD},
51  {"iterator_statement", ITERSTMT},
52  {"create", SECTIONKEYWORD},
53  {"connect", CONNECTKEYWORD},
54  {"setpointer", SETPOINTERKEYWORD},
55  {"access", ACCESSKEYWORD},
56  {"insert", INSERTKEYWORD},
57  {"uninsert", UNINSERTKEYWORD},
58  {"forall", FORALL},
59  {"ifsec", IFSEC},
60  {"forsec", FORSEC},
61  {"begintemplate", BEGINTEMPLATE},
62  {"endtemplate", ENDTEMPLATE},
63  {"objectvar", OBJVARDECL},
64  {"objref", OBJVARDECL},
65  {"public", PUBLICDECL},
66  {"external", EXTERNALDECL},
67  {"new", NEW},
68  {nullptr, 0}};
69 static struct { /* Constants */
70  const char* name;
71  double cval;
72 } consts[] = {{"PI", 3.14159265358979323846},
73  {"E", 2.71828182845904523536},
74  {"GAMMA", 0.57721566490153286060}, /* Euler */
75  {"DEG", 57.29577951308232087680}, /* deg/radian */
76  {"PHI", 1.61803398874989484820}, /* golden ratio */
77  {"FARADAY", _faraday_codata2018}, /*coulombs/mole*/
78  {"R", _gasconstant_codata2018}, /*molar gas constant, joules/mole/deg-K*/
79  {"Avogadro_constant", _avogadro_number_codata2018}, /* note that the legacy value in
80  nrnunits.lib.in is 6.022169+23 */
81  {nullptr, 0}};
82 
83 static struct { /* Built-ins */
84  const char* name;
85  double (*func)(double);
86 } builtins[] = {{"sin", sin},
87  {"cos", cos},
88  {"atan", atan},
89  {"tanh", tanh},
90  {"log", hoc_Log}, /* checks argument */
91  {"log10", hoc_Log10}, /* checks argument */
92  {"exp", hoc1_Exp}, /* checks argument */
93  {"sqrt", hoc_Sqrt}, /* checks argument */
94  {"int", hoc_integer},
95  {"abs", fabs},
96  {"erf", erf},
97  {"erfc", erfc},
98  {0, 0}};
99 static struct { /* Builtin functions with multiple or variable args */
100  const char* name;
101  void (*fun_blt)(void);
102 } fun_bltin[] = {{"atan2", hoc_atan2},
103  {"system", hoc_System},
104  {"prmat", hoc_Prmat},
105  {"solve", hoc_solve},
106  {"eqinit", hoc_eqinit},
107  {"plt", hoc_Plt},
108  {"axis", hoc_axis},
109  {"plot", hoc_Plot},
110  {"plotx", hoc_plotx},
111  {"ploty", hoc_ploty},
112  {"regraph", hoc_regraph},
113  {"symbols", hoc_symbols},
114  {"printf", hoc_PRintf},
115  {"xred", hoc_Xred},
116  {"sred", hoc_Sred},
117  {"ropen", hoc_ropen},
118  {"wopen", hoc_wopen},
119  {"xopen", hoc_xopen},
120  {"hoc_stdout", hoc_stdout},
121  {"chdir", hoc_Chdir},
122  {"fprint", hoc_Fprint},
123  {"fscan", hoc_Fscan},
124  {"sscanf", hoc_sscanf},
125  {"sprint", hoc_Sprint},
126  {"graph", hoc_Graph},
127  {"graphmode", hoc_Graphmode},
128  {"lw", hoc_Lw},
129  {"getstr", hoc_Getstr},
130  {"strcmp", hoc_Strcmp},
131  {"setcolor", hoc_Setcolor},
132  {"startsw", hoc_startsw},
133  {"stopsw", hoc_stopsw},
134  {"object_id", hoc_object_id},
135  {"allobjectvars", hoc_allobjectvars},
136  {"allobjects", hoc_allobjects},
137  {"xpanel", hoc_xpanel},
138  {"xbutton", hoc_xbutton},
139  {"xcheckbox", hoc_xcheckbox},
140  {"xstatebutton", hoc_xstatebutton},
141  {"xlabel", hoc_xlabel},
142  {"xmenu", hoc_xmenu},
143  {"xvalue", hoc_xvalue},
144  {"xpvalue", hoc_xpvalue},
145  {"xradiobutton", hoc_xradiobutton},
146  {"xfixedvalue", hoc_xfixedvalue},
147  {"xvarlabel", hoc_xvarlabel},
148  {"xslider", hoc_xslider},
149  {"boolean_dialog", hoc_boolean_dialog},
150  {"continue_dialog", hoc_continue_dialog},
151  {"string_dialog", hoc_string_dialog},
152  {"doEvents", hoc_single_event_run},
153  {"doNotify", hoc_notify_iv},
154  {"nrniv_bind_thread", nrniv_bind_thread},
155  {"ivoc_style", ivoc_style},
156  {"numarg", hoc_Numarg},
157  {"argtype", hoc_Argtype},
158  {"hoc_pointer_", hoc_pointer}, /* for internal use */
159  {"nrn_mallinfo", hoc_mallinfo},
160  {"execute", hoc_exec_cmd},
161  {"execute1", hoc_execute1},
162  {"load_proc", hoc_load_proc},
163  {"load_func", hoc_load_func},
164  {"load_template", hoc_load_template},
165  {"load_file", hoc_load_file},
166  {"unix_mac_pc", hoc_unix_mac_pc},
167  {"show_winio", hoc_show_winio},
168  {"nrn_load_dll", hoc_nrn_load_dll},
169  {"machine_name", hoc_machine_name},
170  {"saveaudit", hoc_Saveaudit},
171  {"retrieveaudit", hoc_Retrieveaudit},
172  {"coredump_on_error", hoc_coredump_on_error},
173  {"quit", hoc_quit},
174  {"object_push", hoc_object_push},
175  {"object_pop", hoc_object_pop},
176  {"pwman_place", hoc_pwman_place},
177  {"save_session", hoc_save_session},
178  {"print_session", hoc_print_session},
179  {"show_errmess_always", hoc_show_errmess_always},
180  {"execerror", hoc_Execerror},
181  {"variable_domain", hoc_Symbol_limits},
182  {"name_declared", hoc_name_declared},
183  {"use_mcell_ran4", hoc_usemcran4},
184  {"mcell_ran4", hoc_mcran4},
185  {"mcell_ran4_init", hoc_mcran4init},
186  {"nrn_feenableexcept", nrn_feenableexcept},
187  {"nrnmpi_init", hoc_nrnmpi_init},
188  {"coreneuron_handle", hoc_coreneuron_handle},
189  {"nrn_num_config_keys", hoc_num_config_keys},
190 #if PVM
191  {"numprocs", numprocs},
192  {"myproc", myproc},
193  {"psync", psync},
194 #endif
195 #if defined(WIN32)
196  {"WinExec", hoc_win_exec},
197 #endif
198 #if NRN_DIGEST
199  {"nrn_digest", nrn_digest},
200 #endif
201  {"use_exp_pow_precision", hoc_use_exp_pow_precision},
202  {0, 0}};
203 
204 static struct { /* functions that return a string */
205  const char* name;
206  void (*strfun_blt)(void);
207 } strfun_bltin[] = {{"secname", hoc_secname},
208  {"units", hoc_Symbol_units},
209  {"neuronhome", hoc_neuronhome},
210  {"getcwd", hoc_getcwd},
211  {"nrnversion", hoc_nrnversion},
212  {"nrn_get_config_key", hoc_get_config_key},
213  {"nrn_get_config_val", hoc_get_config_val},
214  {0, 0}};
215 
216 static struct { /* functions that return an object */
217  const char* name;
218  void (*objfun_blt)(void);
219 } objfun_bltin[] = {{"object_pushed", hoc_object_pushed}, {nullptr, nullptr}};
220 
221 double hoc_epsilon = 1.e-11;
222 double hoc_ac_; /*known to the interpreter to evaluate expressions with hoc_oc() */
223 
224 double hoc_cross_x_, hoc_cross_y_; /* For Graph class in ivoc */
226 
228 const char* nrn_mech_dll; /* but actually only for NEURON mswin and linux */
229 int nrn_noauto_dlopen_nrnmech; /* 0 except when binary special. */
231 
232 void hoc_init(void) /* install constants and built-ins table */
233 {
234  int i;
235  Symbol* s;
236 
237  {
238  const char* envvar = getenv("NRNUNIT_USE_LEGACY");
239  if (envvar) {
240  hoc_warning(
241  "NRNUNIT_USE_LEGACY is deprecated as only modern units are supported with NEURON "
242  "version >= 9",
243  "If you want to still use legacy unit you can use a NEURON version < 9");
244  if (strcmp(envvar, "1") == 0) {
246  "'NRNUNIT_USE_LEGACY=1' is set but legacy units support is removed with NEURON "
247  "version >= 9",
248  nullptr);
249  }
250  }
251  }
252 
253  set_use_mcran4(false);
254  nrn_xopen_broadcast_ = 255;
255  extern void hoc_init_space(void);
256  hoc_init_space();
257  for (i = 0; keywords[i].name; i++)
259  for (i = 0; consts[i].name; i++) {
260  s = hoc_install(consts[i].name, UNDEF, consts[i].cval, &hoc_symlist);
261  s->type = VAR;
262  s->u.pval = &consts[i].cval;
263  s->subtype = USERDOUBLE;
264  }
265  for (i = 0; builtins[i].name; i++) {
266  s = hoc_install(builtins[i].name, BLTIN, 0.0, &hoc_symlist);
267  s->u.ptr = builtins[i].func;
268  }
269  for (i = 0; fun_bltin[i].name; i++) {
270  s = hoc_install(fun_bltin[i].name, FUN_BLTIN, 0.0, &hoc_symlist);
271  s->u.u_proc->defn.pf = fun_bltin[i].fun_blt;
272  s->u.u_proc->nauto = 0;
273  s->u.u_proc->nobjauto = 0;
274  }
275  for (i = 0; strfun_bltin[i].name; i++) {
276  s = hoc_install(strfun_bltin[i].name, FUN_BLTIN, 0.0, &hoc_symlist);
277  s->type = STRINGFUNC;
278  s->u.u_proc->defn.pf = strfun_bltin[i].strfun_blt;
279  s->u.u_proc->nauto = 0;
280  s->u.u_proc->nobjauto = 0;
281  }
282  for (i = 0; objfun_bltin[i].name; i++) {
283  s = hoc_install(objfun_bltin[i].name, FUN_BLTIN, 0.0, &hoc_symlist);
284  s->type = OBJECTFUNC;
285  s->u.u_proc->defn.pf = objfun_bltin[i].objfun_blt;
286  s->u.u_proc->nauto = 0;
287  }
288  /* hoc_ac_ is a way to evaluate an expression using the interpreter */
289  hoc_install_var("hoc_ac_", &hoc_ac_);
290  hoc_install_var("float_epsilon", &hoc_epsilon);
291  hoc_install_var("hoc_cross_x_", &hoc_cross_x_);
292  hoc_install_var("hoc_cross_y_", &hoc_cross_y_);
293  hoc_install_var("default_dll_loaded_", &hoc_default_dll_loaded_);
294 
295  s = hoc_install("xopen_broadcast_", UNDEF, 0.0, &hoc_symlist);
296  s->type = VAR;
297  s->subtype = USERINT;
298  s->u.pvalint = &nrn_xopen_broadcast_;
299 
300  /* initialize pointers ( why doesn't Vax do this?) */
301  hoc_access = (int*) 0;
302  hoc_spinit();
305  hoc_symlist = (Symlist*) 0;
306  /* start symlist and top level the same list */
310 }
311 
312 void hoc_unix_mac_pc(void) {
313  hoc_ret();
314 #if defined(DARWIN)
315  hoc_pushx(4.);
316 #else
317 #if defined(WIN32)
318  hoc_pushx(3.);
319 #else
320  hoc_pushx(1.);
321 #endif
322 #endif
323 }
324 void hoc_show_winio(void) {
325  int b = (int) chkarg(1, 0., 1.);
326 #if defined(WIN32)
327  hoc_winio_show(b);
328 #endif
329  hoc_ret();
330  hoc_pushx(0.);
331 }
332 
334 
335 void hoc_nrnversion(void) {
336  char** p = hoc_temp_charptr();
337  int i;
338  i = 1;
339  if (ifarg(1)) {
340  i = (int) chkarg(1, 0., 20.);
341  }
342  hoc_ret();
343  *p = nrn_version(i);
344  hoc_pushstr(p);
345 }
346 
349  auto const i = static_cast<std::size_t>(chkarg(1, 0, nrn_num_config_keys() - 1));
350  char** p = hoc_temp_charptr();
351  hoc_ret();
352  *p = nrn_get_config_key(i);
353  hoc_pushstr(p);
354 }
355 
358  auto const i = static_cast<std::size_t>(chkarg(1, 0, nrn_num_config_keys() - 1));
359  char** p = hoc_temp_charptr();
360  hoc_ret();
361  *p = nrn_get_config_val(i);
362  hoc_pushstr(p);
363 }
364 
367 }
368 
369 void hoc_Execerror(void) {
370  char* c2 = (char*) 0;
371  if (ifarg(2)) {
372  c2 = gargstr(2);
373  }
374  if (ifarg(1)) {
375  hoc_execerror(gargstr(1), c2);
376  } else {
377  hoc_execerror_mes(c2, c2, 0);
378  }
379  /* never get here */
380 }
void hoc_Saveaudit(void)
Definition: audit.cpp:152
void hoc_Retrieveaudit(void)
Definition: audit.cpp:193
void hoc_secname(void)
Definition: cabcode.cpp:2091
void hoc_Symbol_limits(void)
Definition: code2.cpp:78
void hoc_Strcmp(void)
Definition: code2.cpp:232
void hoc_Xred(void)
Definition: code2.cpp:513
void hoc_sscanf(void)
Definition: code2.cpp:242
void hoc_neuronhome(void)
Definition: code2.cpp:208
void hoc_name_declared(void)
Definition: code2.cpp:732
void hoc_symbols(void)
Definition: code2.cpp:593
void hoc_System(void)
Definition: code2.cpp:458
void hoc_Symbol_units(void)
Definition: code2.cpp:148
char * gargstr(int narg)
Definition: code2.cpp:227
void hoc_pointer()
Definition: code2.cpp:709
void hoc_init_space()
Definition: code.cpp:416
void hoc_Argtype()
Definition: code.cpp:1580
void hoc_Numarg(void)
Definition: code.cpp:1568
#define i
Definition: md1redef.h:19
#define FORALL(state, dstate)
Definition: deriv.cpp:283
int * hoc_access
Definition: nonlin.cpp:12
double chkarg(int, double low, double high)
Definition: code2.cpp:626
void hoc_load_template(void)
Definition: fileio.cpp:608
void hoc_Sprint(void)
Definition: fileio.cpp:268
void hoc_load_file(void)
Definition: fileio.cpp:614
void hoc_PRintf(void)
Definition: fileio.cpp:254
void hoc_getcwd(void)
Definition: fileio.cpp:766
void hoc_load_func(void)
Definition: fileio.cpp:603
void hoc_Fscan(void)
Definition: fileio.cpp:322
void hoc_xopen(void)
Definition: fileio.cpp:232
void hoc_machine_name(void)
Definition: fileio.cpp:787
void hoc_wopen(void)
Definition: fileio.cpp:88
void hoc_load_proc(void)
Definition: fileio.cpp:598
void hoc_ropen(void)
Definition: fileio.cpp:60
void hoc_Getstr(void)
Definition: fileio.cpp:337
void hoc_Fprint(void)
Definition: fileio.cpp:243
void hoc_stdout(void)
Definition: fileio.cpp:29
void hoc_Chdir(void)
Definition: fileio.cpp:804
void hoc_startsw()
Definition: ftime.cpp:15
void hoc_stopsw()
Definition: ftime.cpp:20
void hoc_pushstr(char **d)
Definition: code.cpp:800
void hoc_ret()
void hoc_init(void)
Definition: hoc_init.cpp:232
Symbol * hoc_install(const char *, int, double, Symlist **)
Definition: symbol.cpp:77
char ** hoc_temp_charptr(void)
Definition: code.cpp:717
void hoc_retpushx(double x)
Definition: hocusr.cpp:154
Symbol * hoc_install_var(const char *, double *)
Definition: symbol.cpp:123
void hoc_spinit()
Definition: hocusr.cpp:48
double hoc_ac_
Definition: hoc_init.cpp:222
void hoc_class_registration(void)
Definition: classreg.cpp:31
void hoc_execerror_mes(const char *s, const char *t, int prnt)
Definition: hoc.cpp:611
double hoc_epsilon
Definition: hoc_init.cpp:221
void nrn_feenableexcept()
Definition: hoc.cpp:84
void hoc_coredump_on_error(void)
Definition: hoc.cpp:674
void hoc_quit(void)
Definition: hoc.cpp:975
void hoc_show_errmess_always(void)
Definition: hoc.cpp:599
void hoc_show_winio(void)
Definition: hoc_init.cpp:324
double(* func)(double)
Definition: hoc_init.cpp:85
void hoc_unix_mac_pc(void)
Definition: hoc_init.cpp:312
void(* strfun_blt)(void)
Definition: hoc_init.cpp:206
void hoc_get_config_key()
Definition: hoc_init.cpp:347
static struct @40 consts[]
void hoc_nrnmpi_init()
Definition: ivocmain.cpp:295
static struct @43 strfun_bltin[]
void hoc_get_config_val()
Definition: hoc_init.cpp:356
void(* objfun_blt)(void)
Definition: hoc_init.cpp:218
double cval
Definition: hoc_init.cpp:71
static struct @39 keywords[]
static struct @44 objfun_bltin[]
const char * name
Definition: hoc_init.cpp:26
int nrn_main_launch
Definition: hoc_init.cpp:333
void hoc_nrnversion(void)
Definition: hoc_init.cpp:335
void hoc_Execerror(void)
Definition: hoc_init.cpp:369
static struct @42 fun_bltin[]
int nrn_xopen_broadcast_
Definition: hoc_init.cpp:230
double hoc_cross_x_
Definition: hoc_init.cpp:224
void(* fun_blt)(void)
Definition: hoc_init.cpp:101
const char * nrn_mech_dll
Definition: hoc_init.cpp:228
static struct @41 builtins[]
double hoc_default_dll_loaded_
Definition: hoc_init.cpp:225
double hoc_cross_y_
Definition: hoc_init.cpp:224
void hoc_num_config_keys()
Definition: hoc_init.cpp:365
char * neuron_home
Definition: hoc_init.cpp:227
int kval
Definition: hoc_init.cpp:27
int nrn_noauto_dlopen_nrnmech
Definition: hoc_init.cpp:229
void hoc_allobjects(void)
Definition: hoc_oop.cpp:1992
void hoc_allobjectvars(void)
Definition: hoc_oop.cpp:2052
void hoc_install_hoc_obj(void)
Definition: hoc_oop.cpp:44
void hoc_exec_cmd(void)
Definition: hoc_oop.cpp:349
void hoc_object_id(void)
Definition: hoc_oop.cpp:884
void hoc_object_push(void)
Definition: hoc_oop.cpp:236
void hoc_object_pushed(void)
Definition: hoc_oop.cpp:258
void hoc_object_pop(void)
Definition: hoc_oop.cpp:266
#define USERDOUBLE
Definition: hocdec.h:84
#define USERINT
Definition: hocdec.h:83
Symlist * hoc_top_level_symlist
Definition: code2.cpp:677
void nrniv_bind_thread()
Definition: ivoc.cpp:176
void hoc_single_event_run()
Definition: ivocmain.cpp:748
void hoc_pushx(double)
Definition: code.cpp:779
void hoc_use_exp_pow_precision()
Definition: math.cpp:148
double hoc_Sqrt(double x)
Definition: math.cpp:214
double hoc_Log10(double x)
Definition: math.cpp:66
double hoc1_Exp(double x)
Definition: math.cpp:200
double hoc_Log(double x)
Definition: math.cpp:61
double hoc_integer(double x)
Definition: math.cpp:224
void hoc_atan2(void)
Definition: math.cpp:54
#define IGNORE(arg)
Definition: model.h:224
tanh
Definition: extdef.h:4
atan
Definition: extdef.h:4
sin
Definition: extdef.h:3
cos
Definition: extdef.h:3
fabs
Definition: extdef.h:3
erf
Definition: extdef.h:7
#define DEBUG
Definition: list.cpp:37
void hoc_execerror(const char *s1, const char *s2)
Definition: nrnoc_aux.cpp:39
static void * emalloc(size_t size)
Definition: mpispike.cpp:30
void hoc_warning(const char *s1, const char *s2)
Definition: nrnoc_aux.cpp:44
@ ELSE
else sub-block
void hoc_eqinit(void)
Definition: nonlin.cpp:125
void hoc_solve(void)
Definition: nonlin.cpp:253
void hoc_Prmat(void)
Definition: nonlin.cpp:245
std::size_t nrn_num_config_keys()
Get the number of NEURON configuration items.
Definition: nrnversion.cpp:85
char * nrn_version(int)
Definition: nrnversion.cpp:27
char * nrn_get_config_val(std::size_t i)
Get the ith NEURON configuration value.
Definition: nrnversion.cpp:94
char * nrn_get_config_key(std::size_t i)
Get the ith NEURON configuration key.
Definition: nrnversion.cpp:89
#define nrn_assert(x)
assert()-like macro, independent of NDEBUG status
Definition: nrn_assert.h:33
size_t p
s
Definition: multisend.cpp:521
int ifarg(int)
Definition: code.cpp:1607
void hoc_nrn_load_dll(void)
Definition: init.cpp:284
constexpr double _avogadro_number_codata2018
Definition: nrnunits.h:18
constexpr double _faraday_codata2018
Definition: nrnunits.h:20
constexpr double _gasconstant_codata2018
Definition: nrnunits.h:22
Symlist * hoc_symlist
Definition: symbol.cpp:34
void hoc_regraph(void)
Definition: axis.cpp:186
void hoc_Plot(void)
Definition: axis.cpp:222
void hoc_ploty(void)
Definition: axis.cpp:298
void hoc_Graphmode(void)
Definition: axis.cpp:478
void hoc_axis(void)
Definition: axis.cpp:306
void hoc_Graph(void)
Definition: axis.cpp:440
void hoc_plotx(void)
Definition: axis.cpp:293
void hoc_mcran4init()
Definition: oc_mcran4.cpp:25
void hoc_usemcran4()
Definition: oc_mcran4.cpp:34
void set_use_mcran4(bool value)
Definition: oc_mcran4.cpp:6
void hoc_mcran4()
Definition: oc_mcran4.cpp:14
void hoc_Plt(void)
void hoc_Setcolor(void)
Definition: plt.cpp:31
void hoc_Lw(void)
void hoc_coreneuron_handle()
Definition: symbol.cpp:354
void hoc_Sred(void)
Definition: xred.cpp:104
void hoc_mallinfo(void)
Definition: symbol.cpp:345
void hoc_execute1()
Definition: ocjump.cpp:27
void hoc_continue_dialog()
Definition: ocnoiv1.cpp:93
void hoc_notify_iv()
Definition: ocnoiv1.cpp:17
void hoc_xpanel()
Definition: ocnoiv1.cpp:57
void hoc_xvalue()
Definition: ocnoiv1.cpp:52
void hoc_xbutton()
Definition: ocnoiv1.cpp:32
void hoc_xfixedvalue()
Definition: ocnoiv1.cpp:67
void hoc_save_session()
Definition: ocnoiv1.cpp:114
void hoc_xlabel()
Definition: ocnoiv1.cpp:27
void hoc_xstatebutton()
Definition: ocnoiv1.cpp:42
void hoc_xmenu()
Definition: ocnoiv1.cpp:47
void ivoc_style()
Definition: ocnoiv1.cpp:124
void hoc_xpvalue()
Definition: ocnoiv1.cpp:22
void hoc_xvarlabel()
Definition: ocnoiv1.cpp:72
void hoc_xslider()
Definition: ocnoiv1.cpp:79
void hoc_boolean_dialog()
Definition: ocnoiv1.cpp:84
void hoc_print_session()
Definition: ocnoiv1.cpp:119
void hoc_xradiobutton()
Definition: ocnoiv1.cpp:62
void hoc_xcheckbox()
Definition: ocnoiv1.cpp:37
void hoc_pwman_place()
Definition: ocnoiv1.cpp:109
void hoc_string_dialog()
Definition: ocnoiv1.cpp:98
Symlist * hoc_built_in_symlist
Definition: symbol.cpp:28
Definition: model.h:47
Definition: hocdec.h:75
Symbol * last
Definition: hocdec.h:77
Symbol * first
Definition: hocdec.h:76