NEURON
model.h File Reference
#include "wrap_sprintf.h"
#include <stdio.h>
#include <assert.h>
#include "modlunit.h"

Go to the source code of this file.

Classes

struct  Item
 
struct  Symbol
 

Macros

#define NRN_BUFSIZE   8192
 
#define ITEM0   (Item*) 0
 
#define ITERATE(itm, lst)   for (itm = (lst)->next; itm != (lst); itm = itm->next)
 
#define SYM0   (Symbol*) 0
 
#define SYM(q)   _SYM(q, (char*) __FILE__, __LINE__)
 
#define STR(q)   _STR(q, (char*) __FILE__, __LINE__)
 
#define ITM(q)   _ITM(q, (char*) __FILE__, __LINE__)
 
#define ITMA(q)   _ITMA(q, (char*) __FILE__, __LINE__)
 
#define LST(q)   _LST(q, (char*) __FILE__, __LINE__)
 
#define SPECIAL   1
 
#define SYMBOL   1
 
#define ITEM   2
 
#define LIST   3
 
#define ITEMARRAY   4
 
#define KEYWORD   01L
 
#define modlunitCONST   02L
 
#define INDEP   04L
 
#define DEP   010L /* also in usage field */
 
#define STAT   020L
 
#define ARRAY   040L
 
#define FUNCT   0100L /* also in usage field */
 
#define PROCED   0200L
 
#define NEGATIVE   0400L
 
#define SEMI   01L /* ";" */
 
#define BEGINBLK   02L /* "{" */
 
#define ENDBLK   04L /* "}" */
 
#define DERF   01000L
 
#define LINF   02000L
 
#define NLINF   04000L
 
#define DISCF   010000L
 
#define PARF   040000L
 
#define EXTDEF   0100000L
 
#define KINF   0200000L
 
#define LOCL   0400000L
 
#define CNVFAC   01000000L
 
#define UFACTOR   02000000L
 
#define RANGEOBJ   04000000L
 
#define EXPLICIT_DECL   01 /* usage field, variable occurs in input file */
 
#define Fprintf   fprintf
 
#define Fclose   fclose
 
#define Fflush   fflush
 
#define Printf   printf
 
#define Strcpy   strcpy
 
#define Strcat   strcat
 
#define Insertstr   insertstr
 
#define Insertsym   insertsym
 
#define Linsertsym   linsertsym
 
#define Linsertstr   linsertstr
 
#define Lappendsym   lappendsym
 
#define Lappendstr   lappendstr
 
#define Lappenditem   lappenditem
 
#define IGNORE(arg)   arg
 

Typedefs

typedef struct Item Item
 
typedef Item List
 
typedef struct Symbol Symbol
 

Functions

Symbol_SYM (Item *, char *, int)
 
char * _STR (Item *q, char *file, int line)
 
Item_ITM (Item *q, char *file, int line)
 
Item ** _ITMA (Item *q, char *file, int line)
 
List_LST (Item *q, char *file, int line)
 
char * emalloc (unsigned)
 
char * stralloc (const char *, char *)
 
char * inputline ()
 
char * inputtopar ()
 
char * Gets (char *)
 
const char * unit_str ()
 
const char * decode_units (Symbol *)
 
Listmakelist (int narg,...)
 
Listitemarray (int narg,...)
 
Listprepend ()
 
Listnewlist ()
 
Listinputtext ()
 
Itemputintoken (const char *s, short type, short)
 
Iteminsertstr (Item *item, const char *str)
 
Iteminsertsym (List *list, Symbol *sym)
 
Itemlinsertstr (List *list, char *str)
 
Itemlappendstr (List *list, const char *str)
 
Itemlinsertsym (List *list, Symbol *sym)
 
Itemlappendsym (List *list, Symbol *sym)
 
Itemlappenditem (List *list, Item *item)
 
Itemlisttype ()
 
Itemnext_parstok (Item *)
 
Itemprev_parstok (Item *)
 
Itemcar (List *)
 
Itemnext (Item *)
 
Itemprev (Item *)
 
Symbolinstall (const char *, int)
 
Symbollookup (const char *)
 
Symbolifnew_constinstall ()
 

Variables

int unitonflag
 
char finname [NRN_BUFSIZE]
 
char buf [512]
 
Itemparseroot
 
Itemlex_tok
 
Listintoken
 
Listinitfunc
 
Listmodelfunc
 
Listtermfunc
 
Listprocfunc
 
Listinitlist
 
Listfirstlist
 
Listplotlist
 
Listmisc
 
FILE * fin
 
FILE * fparout
 
FILE * fcout
 
Symbolindepsym
 
Symbolsemi
 
Symbolbeginblk
 
Symbolendblk
 

Macro Definition Documentation

◆ ARRAY

#define ARRAY   040L

Definition at line 107 of file model.h.

◆ BEGINBLK

#define BEGINBLK   02L /* "{" */

Definition at line 112 of file model.h.

◆ CNVFAC

#define CNVFAC   01000000L

Definition at line 122 of file model.h.

◆ DEP

#define DEP   010L /* also in usage field */

Definition at line 105 of file model.h.

◆ DERF

#define DERF   01000L

Definition at line 114 of file model.h.

◆ DISCF

#define DISCF   010000L

Definition at line 117 of file model.h.

◆ ENDBLK

#define ENDBLK   04L /* "}" */

Definition at line 113 of file model.h.

◆ EXPLICIT_DECL

#define EXPLICIT_DECL   01 /* usage field, variable occurs in input file */

Definition at line 126 of file model.h.

◆ EXTDEF

#define EXTDEF   0100000L

Definition at line 119 of file model.h.

◆ Fclose

#define Fclose   fclose

Definition at line 212 of file model.h.

◆ Fflush

#define Fflush   fflush

Definition at line 213 of file model.h.

◆ Fprintf

#define Fprintf   fprintf

Definition at line 211 of file model.h.

◆ FUNCT

#define FUNCT   0100L /* also in usage field */

Definition at line 108 of file model.h.

◆ IGNORE

#define IGNORE (   arg)    arg

Definition at line 224 of file model.h.

◆ INDEP

#define INDEP   04L

Definition at line 104 of file model.h.

◆ Insertstr

#define Insertstr   insertstr

Definition at line 217 of file model.h.

◆ Insertsym

#define Insertsym   insertsym

Definition at line 218 of file model.h.

◆ ITEM

#define ITEM   2

Definition at line 92 of file model.h.

◆ ITEM0

#define ITEM0   (Item*) 0

Definition at line 15 of file model.h.

◆ ITEMARRAY

#define ITEMARRAY   4

Definition at line 94 of file model.h.

◆ ITERATE

#define ITERATE (   itm,
  lst 
)    for (itm = (lst)->next; itm != (lst); itm = itm->next)

Definition at line 18 of file model.h.

◆ ITM

#define ITM (   q)    _ITM(q, (char*) __FILE__, __LINE__)

Definition at line 77 of file model.h.

◆ ITMA

#define ITMA (   q)    _ITMA(q, (char*) __FILE__, __LINE__)

Definition at line 78 of file model.h.

◆ KEYWORD

#define KEYWORD   01L

Definition at line 102 of file model.h.

◆ KINF

#define KINF   0200000L

Definition at line 120 of file model.h.

◆ Lappenditem

#define Lappenditem   lappenditem

Definition at line 223 of file model.h.

◆ Lappendstr

#define Lappendstr   lappendstr

Definition at line 222 of file model.h.

◆ Lappendsym

#define Lappendsym   lappendsym

Definition at line 221 of file model.h.

◆ LINF

#define LINF   02000L

Definition at line 115 of file model.h.

◆ Linsertstr

#define Linsertstr   linsertstr

Definition at line 220 of file model.h.

◆ Linsertsym

#define Linsertsym   linsertsym

Definition at line 219 of file model.h.

◆ LIST

#define LIST   3

Definition at line 93 of file model.h.

◆ LOCL

#define LOCL   0400000L

Definition at line 121 of file model.h.

◆ LST

#define LST (   q)    _LST(q, (char*) __FILE__, __LINE__)

Definition at line 79 of file model.h.

◆ modlunitCONST

#define modlunitCONST   02L

Definition at line 103 of file model.h.

◆ NEGATIVE

#define NEGATIVE   0400L

Definition at line 110 of file model.h.

◆ NLINF

#define NLINF   04000L

Definition at line 116 of file model.h.

◆ NRN_BUFSIZE

#define NRN_BUFSIZE   8192

Definition at line 6 of file model.h.

◆ PARF

#define PARF   040000L

Definition at line 118 of file model.h.

◆ Printf

#define Printf   printf

Definition at line 214 of file model.h.

◆ PROCED

#define PROCED   0200L

Definition at line 109 of file model.h.

◆ RANGEOBJ

#define RANGEOBJ   04000000L

Definition at line 124 of file model.h.

◆ SEMI

#define SEMI   01L /* ";" */

Definition at line 111 of file model.h.

◆ SPECIAL

#define SPECIAL   1

Definition at line 89 of file model.h.

◆ STAT

#define STAT   020L

Definition at line 106 of file model.h.

◆ STR

#define STR (   q)    _STR(q, (char*) __FILE__, __LINE__)

Definition at line 76 of file model.h.

◆ Strcat

#define Strcat   strcat

Definition at line 216 of file model.h.

◆ Strcpy

#define Strcpy   strcpy

Definition at line 215 of file model.h.

◆ SYM

#define SYM (   q)    _SYM(q, (char*) __FILE__, __LINE__)

Definition at line 75 of file model.h.

◆ SYM0

#define SYM0   (Symbol*) 0

Definition at line 63 of file model.h.

◆ SYMBOL

#define SYMBOL   1

Definition at line 91 of file model.h.

◆ UFACTOR

#define UFACTOR   02000000L

Definition at line 123 of file model.h.

Typedef Documentation

◆ Item

typedef struct Item Item

◆ List

typedef Item List

Definition at line 17 of file model.h.

◆ Symbol

typedef struct Symbol Symbol

Function Documentation

◆ _ITM()

Item* _ITM ( Item q,
char *  file,
int  line 
)

Definition at line 186 of file io.cpp.

◆ _ITMA()

Item** _ITMA ( Item q,
char *  file,
int  line 
)

Definition at line 193 of file io.cpp.

◆ _LST()

List* _LST ( Item q,
char *  file,
int  line 
)

Definition at line 200 of file io.cpp.

◆ _STR()

char* _STR ( Item q,
char *  file,
int  line 
)

Definition at line 179 of file io.cpp.

◆ _SYM()

Symbol* _SYM ( Item q,
char *  file,
int  line 
)

Definition at line 172 of file io.cpp.

◆ car()

Item * car ( List )

◆ decode_units()

const char* decode_units ( Symbol sym)

Definition at line 11 of file units1.cpp.

◆ Gets()

char * Gets ( char *  buf)

Definition at line 91 of file io.cpp.

◆ ifnew_constinstall()

Symbol * ifnew_constinstall ( )

◆ inputline()

char* inputline ( )

◆ inputtext()

List * inputtext ( )

◆ inputtopar()

char * inputtopar ( )

◆ insertstr()

Item * insertstr ( Item item,
const char *  str 
)

◆ insertsym()

Item * insertsym ( List list,
Symbol sym 
)

◆ install()

Symbol* install ( const char *  ,
int   
)

◆ itemarray()

List * itemarray ( int  narg,
  ... 
)

◆ lappenditem()

Item * lappenditem ( List list,
Item item 
)

◆ lappendstr()

Item * lappendstr ( List list,
const char *  str 
)

◆ lappendsym()

Item * lappendsym ( List list,
Symbol sym 
)

◆ linsertstr()

Item * linsertstr ( List list,
char *  str 
)

◆ linsertsym()

Item * linsertsym ( List list,
Symbol sym 
)

◆ listtype()

Item * listtype ( )

◆ lookup()

Symbol * lookup ( const char *  )

◆ makelist()

List* makelist ( int  narg,
  ... 
)

◆ newlist()

List * newlist ( void  )

◆ next()

Item * next ( Item )

◆ next_parstok()

Item * next_parstok ( Item )

◆ prepend()

List * prepend ( )

◆ prev()

Item * prev ( Item item)

Definition at line 94 of file list.cpp.

◆ prev_parstok()

Item * prev_parstok ( Item )

◆ putintoken()

Item* putintoken ( const char *  s,
short  type,
short   
)

◆ unit_str()

const char* unit_str ( )

Definition at line 319 of file units.cpp.

Variable Documentation

◆ beginblk

Symbol * beginblk

Definition at line 177 of file model.h.

◆ endblk

Symbol * endblk

Definition at line 178 of file model.h.

◆ fcout

FILE * fcout

Definition at line 173 of file model.h.

◆ fin

FILE* fin
extern

Definition at line 33 of file model.cpp.

◆ finname

char finname[NRN_BUFSIZE]
extern

Definition at line 38 of file model.cpp.

◆ firstlist

List * firstlist

Definition at line 168 of file model.h.

◆ fparout

FILE * fparout

Definition at line 172 of file model.h.

◆ indepsym

Symbol* indepsym
extern

Definition at line 8 of file declare.cpp.

◆ initfunc

List * initfunc

Definition at line 167 of file model.h.

◆ initlist

List * initlist

Definition at line 168 of file model.h.

◆ intoken

List* intoken
extern

Definition at line 12 of file init.cpp.

◆ lex_tok

Item * lex_tok

Definition at line 164 of file model.h.

◆ misc

List * misc

Definition at line 169 of file model.h.

◆ modelfunc

List * modelfunc

Definition at line 168 of file model.h.

◆ parseroot

Item* parseroot
extern

Definition at line 39 of file model.cpp.

◆ plotlist

List * plotlist

Definition at line 168 of file model.h.

◆ procfunc

List * procfunc

Definition at line 168 of file model.h.

◆ termfunc

List * termfunc

Definition at line 168 of file model.h.

◆ unitonflag

int unitonflag
extern

Definition at line 34 of file units.cpp.