NAPA Compiler V4.50
Author: Yves Leduc, yves.leduc.be@gmail.com
Loading...
Searching...
No Matches
C:/Simulate/Napados/Source/napa.h
Go to the documentation of this file.
1
2#ifndef NAPA_H
3#define NAPA_H
4
5/* ****************************************************************************************************************************** */
6
7/* This file is included in all source files of the NAPA compiler. */
8
9
10/* ************************ VERSION ID ****************************************************************************************** */
11
12/* The version ID has a prefix followed by a number: */
13
14/* Prefix X means a BETA RELEASE. */
15/* Prefix V means a REGULAR VERSION. */
16
17/* The number indicates the release number: */
18
19/* M.NP M indicates major release ID. */
20/* N indicates major change needing a correction of existing netlists. */
21/* P indicates minor change not impacting existing netlists. */
22
23/* A lowercase letter suffix could be added (bug correction, cosmetic fix). */
24
25/* V1 was supporting Integer for digital and Float for analog */
26/* V2 was supporting Long Integer for digital and Double Float for analog */
27/* V3 supports Long Long Integer for digital and Double Float for analog and is ANSI-c2x compliant */
28
29
30#define NAPA_COMPILER_VERSION "V4.50" /* See date of release in file 'main.c' */
31
32
33/* ******************************************************************** AUTHOR: Yves Leduc (Email: yves.leduc.be@gmail.com) ***** */
34
35/* Source could be compiled with any ANSI-C compiler c2x standard revision (ISO/IEC 9899:2018), 64 bits. */
36/* MINGW GNU-C compiler (Windows 64 bits version) is the compiler used by the author to test the software. */
37
38/* It is expected that an ANSI-C compliant compiler does not issue any warning. */
39/* Exception: Warnings may be issued by some compiler as norm ISO does not allow arrays containing more than 65535 bytes. */
40
41/* NB: NAPA, in its current version, requests to run on a LITTLE-ENDIAN platform (e.g Intel CPU) */
42
43
44/* ************************ COMPILATION OPTIONS ********************************************************************************* */
45
46/* It is IMPORTANT to distinguish DOS based platform as the file pathname is not case sensitive. */
47/* This is the only conditional compilation in the code with 2 other exceptions: */
48
49/* 1. It is possible to trigger some debugging information (to help code maintenance, see 'main.c') */
50/* 2. It is possible to compile some code allowing further user's extensions (to extend NAPA to the extreme, see below) */
51
52
53/* ************************ PLATFORM IDENTIFICATION ***************************************************************************** */
54
55/* Other platforms may be considered. A minimum requirement is an ANSI-C compiler, no memory limitation like the infamous 640K of */
56/* DOS, and a file system like the UNIX system. Expect to have to rework a few items if the file system is different. */
57
58/* For example, these sources are compatible with DOS, only because the GNU compiler hides some of the differences between DOS */
59/* and UNIX file and directory naming. Using another compiler for DOS operations could cause incompatibilities. In any case, */
60/* scripts to run NAPA have to be rewritten. */
61
62/* It is sometimes possible to detect the platform automatically. It is nevertheless requested here to use dedicated compiler */
63/* options to indicate the platform: */
64
65/* For WINDOWS platform, define '__WIN64__' */
66/* For LINUX platform, define '__LINUX__' */
67/* For UNIX platform, define '__UNIX__' */
68
69
70#define IS_LINUX 1
71#define IS_UNIX 2
72#define IS_WIN64 4
73
74#if defined(__LINUX__)
75 #define PLATFORM IS_LINUX
76 #define MACHINE "Linux"
77#endif
78
79#if defined(__UNIX__)
80 #define PLATFORM IS_UNIX
81 #define MACHINE " Unix"
82#endif
83
84#if defined(__WIN64__)
85 #define PLATFORM IS_WIN64
86 #define MACHINE "Win64"
87#endif
88
89#if !defined(PLATFORM) /* Unidentified Platform */
90 #define PLATFORM 0
91 #define MACHINE " ??? "
92#endif
93
94
95/* ****************************************************************************************************************************** */
96
97#define BIG_ENDIAN 0
98#define LITTLE_ENDIAN 1
99
100
101/* ** STANDARD I/O's ************************************************************************************************************ */
102
103#define STDIN stdin /* Currently not used */
104#define STDOUT stdout /* Output C file of the NAPA compiler */
105#define STDERR stderr /* Error and warning messages */
106
107
108/* ** USER'S EXTENSION TO ADD NAPA_LOOP_OPTION to the simulator built by NAPA to respond to complex user's demand. */
109
110#define NAPA_LOOP_OPTION NO /* Recommended: NO */
111
112
113/* ** INCLUDE FILES ************************************************************************************************************* */
114
115#include <ctype.h>
116#include <float.h>
117#include <limits.h>
118#include <math.h>
119#include <stdarg.h>
120#include <stdlib.h>
121#include <stdio.h>
122#include <string.h>
123#include <time.h>
124#include <stdbool.h>
125
126
127/* ** NODES AND VARIABLES CODING ************************************************************************************************ */
128
129#define NAPA_DIGITAL_TYPE long long /* DIGITAL node or variable */
130#define NAPA_ANALOG_TYPE double /* ANALOG node or variable */
131#define NAPA_ITERATOR_TYPE long /* iterator */
132
133
134/* ** A FEW MATHEMATICAL CONSTANTS ********************************************************************************************** */
135
136#define _PI_ 3.14159265358979323846264338327950288L /* pi */
137#define _PI2_ 1.57079632679489661923132169163975144L /* pi / 2 */
138#define _PI4_ 0.78539816339744830961566084581987572L /* pi / 4 */
139#define _PI8_ 0.39269908169872415480783042290993786L /* pi / 8 */
140#define _2PI_ 6.28318530717958647692528676655900576L /* 2 * pi */
141#define _E_ 2.71828182845904523536028747135266250L /* e */
142
143#define _D2R_ (_PI_/180.0L) /* from degree to radian */
144#define _R2D_ (180.0L/_PI_) /* from radian to degree */
145
146#define _SMALL_ (10.0*pow(10.0, - (double) DBL_DIG)) /* 'Small value', used e.g. to compare to 0.0 */
147
148
149
150/* *** DEFAULT VALUES FOR NAPA SIMULATOR OUTPUT FORMAT ************************************************************************** */
151
152#define I_FORMAT_S " % 6lld" /* Size corresponding to signed integer up to 16b */
153#define I_FORMAT_M " % 11lld" /* Size corresponding to signed integer up to 32b */
154#define I_FORMAT_L " % 21lld" /* Size corresponding to signed integer up to 64b */
155#define I_FORMAT_V " % 17lld" /* Export format must be coherent with S_FORMAT_V */
156
157#define X_FORMAT_S " %#06llX" /* Size corresponding to signed hex up to 16b */
158#define X_FORMAT_M " %#010llX" /* Size corresponding to signed hex up to 32b */
159#define X_FORMAT_L " %#018llX" /* Size corresponding to signed hex up to 64b */
160#define X_FORMAT_V " %#017llX" /* Export format must be coherent with S_FORMAT_V */
161
162#define R_FORMAT_S " % .9e"
163#define R_FORMAT_M " % .12e"
164#define R_FORMAT_L " % .15e"
165#define R_FORMAT_V " % .9e" /* Export format must be coherent with S_FORMAT_V */
166
167#define S_FORMAT_S " %6s"
168#define S_FORMAT_M " %12s"
169#define S_FORMAT_L " %24s"
170#define S_FORMAT_V "%18s"
171
172
173#define DEFAULT_I_FORMAT I_FORMAT_M /* Default of output integer format, medium size */
174#define DEFAULT_X_FORMAT X_FORMAT_L /* Default of output integer format, LARGE size */
175#define DEFAULT_R_FORMAT R_FORMAT_M /* Default of output real format, medium size */
176#define DEFAULT_S_FORMAT S_FORMAT_M /* Default of output string format, medium size */
177
178
179/* ** MACROS DEFINING INTERNAL ARRAY SIZES ************************************************************************************** */
180
181/* This is important to use a line size -at least- equal to 10000 as NAPA is handling long */
182/* strings after expansion of signal names. More hierarchy, longer are the resulting names. */
183
184/* Smaller machine with limited memory could be impacted by large numbers here. */
185
186#define MAXNODES 4095L /* max number of nodes */
187#define MAXVARS 2047L /* max number of variables */
188#define MAXUPDATES 2047L /* max number of updates */
189#define MAXDECLARES 1023L /* max number of declarations */
190#define MAXINSTANCES 511L /* max number of instantiation of cells */
191#define MAXFILECELLS 511L /* max number of cell file names recorded */
192#define MAXUSERTOOLS 511L /* max number of user's defined functions */
193#define MAXDECLARECOMMONS 255L /* max number of common declarations */
194#define MAXDIRS 255L /* max number of directives */
195#define MAXFUNCTIONS 255L /* max number of functions to be recorded */
196#define MAXOPTIONS 127L /* max number of options to be recorded */
197#define MAXALIASES 127L /* max number of aliases */
198#define MAXRECORDS 127L /* max number of array of pointers */
199#define MAXOPCODES 127L /* max number of opcodes */
200#define MAXPARMS 127L /* max number of cell parameters */
201#define MAXSEGMENTS 127L /* max number of simulation segments */
202#define MAXARRAYS 63L /* max number of arrays */
203#define MAXCOMMENTS 63L /* max number of comment lines */
204#define MAXFILES 63L /* max number of files open (simulation) */
205#define MAXIOS 63L /* max number of IO streams */
206#define MAXPOSTS 63L /* max number of post-processing functions */
207#define MAXCMDLINES 63L /* max number of command line parameters */
208#define MAXDEBUGS 63L /* max number of debugs */
209#define MAXHEADERS 63L /* max number of different headers */
210#define MAXINJECTS 63L /* max number of inject to node */
211#define MAXSTUCKS 63L /* max number of nodes stuck to a value */
212#define MAXDEPTH 31L /* max depth for hierarchy */
213#define MAXEXPORTS 31L /* max number of exported variables */
214#define MAXGROUPS 31L /* max number of post-processing groups */
215
216#define LINLENGTH 16383L /* max length of a line */
217#define STRLENGTH 2047L /* max length of a string */
218
219
220/* ****************************************************************************************************************************** */
221
222/* ** MACROS DEFINING NAPA NODE KINDS ******************************************************************************************* */
223
224#define UNKNOWN_KIND (-1)
225
226#define ADC_KIND 1
227#define ALGEBRA_KIND 2
228#define ALU_KIND 3
229#define AND_KIND 4
230#define AVERAGE_KIND 5
231#define BSHIFT_KIND 6
232#define BTOI_KIND 7
233#define BUF_KIND 8
234#define BWAND_KIND 9
235#define BWINV_KIND 10
236#define BWNAND_KIND 11
237#define BWNOR_KIND 12
238#define BWOR_KIND 13
239#define BWXNOR_KIND 14
240#define BWXOR_KIND 15
241#define CELL_KIND 16
242#define CHG_KIND 17
243#define CLIP_KIND 18
244#define CLOCK_KIND 19
245#define COMP_KIND 20
246#define CONST_KIND 21
247#define COPY_KIND 22
248#define COS_KIND 23
249#define COS2_KIND 924 /* Internal use, issued during process */
250#define DAC_KIND 25
251#define DALGEBRA_KIND 26
252#define DC_KIND 27
253#define DELAY_KIND 28
254#define DELAY1_KIND 929 /* Internal use, issued during process */
255#define DELAY2_KIND 930 /* Internal use, issued during process */
256#define DELAY3_KIND 931 /* Internal use, issued during process */
257#define DIFFERENTIATOR_KIND 32
258#define DIV_KIND 33
259#define DTOI_KIND 34
260#define DTOOL_KIND 35
261#define DUSER_KIND 36
262#define EQUAL_KIND 37
263#define FZAND_KIND 38
264#define FZBUF_KIND 39
265#define FZINV_KIND 40
266#define FZNAND_KIND 41
267#define FZNOR_KIND 42
268#define FZOR_KIND 43
269#define FZXNOR_KIND 44
270#define FZXOR_KIND 45
271#define GAIN_KIND 46
272#define GEN_KIND 47
273#define HOLD_KIND 48
274#define IALGEBRA_KIND 49
275#define INTEGRATOR_KIND 50
276#define INV_KIND 51
277#define ITOB_KIND 52
278#define ITOD_KIND 53
279#define ITOOL_KIND 54
280#define IUSER_KIND 55
281#define LATCH_KIND 56
282#define LSHIFT_KIND 57
283#define MAX_KIND 58
284#define MERGE_KIND 59
285#define MIN_KIND 60
286#define MOD_KIND 61
287#define MULLER_KIND 63
288#define MUX_KIND 64
289#define NAND_KIND 65
290#define NOISE_KIND 66
291#define NOR_KIND 67
292#define OFFSET_KIND 68
293#define OR_KIND 69
294#define OSC_KIND 70
295#define POLY_KIND 71
296#define PROD_KIND 72
297#define QUANT_KIND 73
298#define RAM_KIND 74
299#define RAM2_KIND 75
300#define RECT_KIND 76
301#define RELAY_KIND 77
302#define RIP_KIND 78
303#define ROM_KIND 79
304#define ROM2_KIND 80
305#define RSHIFT_KIND 81
306#define RSHIFT1_KIND 82
307#define RSHIFT2_KIND 83
308#define SET_KIND 984 /* Internal use, issued during process */
309#define SIGN_KIND 85
310#define SIN_KIND 86
311#define SIN2_KIND 987 /* Internal use, issued during process */
312#define SQUARE_KIND 88
313#define STEP_KIND 89
314#define SUB_KIND 90
315#define SUM_KIND 91
316#define TEST_KIND 92
317#define TOGGLE_KIND 93
318#define TRACK_KIND 94
319#define TRIANGLE_KIND 95
320#define TRIG_KIND 96
321#define UADC_KIND 97
322#define UDAC_KIND 98
323#define WSUM_KIND 99
324#define XNOR_KIND 100
325#define XOR_KIND 101
326#define ZERO_KIND 102
327
328
329/* ****************************************************************************************************************************** */
330
331#define UNDEFINED (-1)
332#define UNKNOWN_TYPE 0
333
334
335/* ** MACROS DEFINING DATA TYPES ************************ It is important that the definitions are power of 2 ******************* */
336
337#define DIGITAL_DATA_TYPE 1 /* 2^0 */
338#define ANALOG_DATA_TYPE 2 /* 2^1 */
339#define STRING_DATA_TYPE 4 /* 2^2 */
340#define HEX_DATA_TYPE 8 /* 2^3 */
341#define BOOLEAN_DATA_TYPE 16 /* 2^4 */
342#define NO_DATA_TYPE 32 /* 2^5 */
343
344#define CONSTANT_TYPE 64 /* 2^6 */
345
346
347/* ** MACROS DEFINING SAMPLING TYPES ******************************************************************************************** */
348
349#define MAIN_SEGMENT_TYPE 1
350#define NOMINAL_SEGMENT_TYPE 2
351#define DECIMATE_SEGMENT_TYPE 3
352#define INTERPOLATE_SEGMENT_TYPE 4
353#define DROP_SEGMENT_TYPE 5
354
355
356/* ** MACROS DEFINING I/O TYPES ************************************************************************************************* */
357
358#define INPUT_TYPE 1
359#define OUTPUT_TYPE 2
360
361
362/* ** MACROS USED DURING SYNTAX VERIFICATION ************ It is important that the definitions are power of 2 ******************* */
363
364#define DONTCARE 0
365#define NODE 1 /* 2^0 */
366#define VARIABLE 2 /* 2^1 */
367#define NUMBER 4 /* 2^2 */
368#define STRING 8 /* 2^3 */
369#define NOSIGN 16 /* 2^4 */
370
371
372/* ** MACRO FUNCTIONS *********************************************************************************************************** */
373
374#define ABS(x) ((0.0<(x))?(x):-(x))
375
376#define MIN(x,y) (((x)<(y))?(x):(y))
377#define MAX(x,y) (((x)>(y))?(x):(y))
378
379#define ISEQUAL(x,y) (fabs(((x)-(y)))<=(_SMALL_*(fabs(x)+fabs(y))))
380#define ISNOTEQUAL(x,y) (fabs(((x)-(y)))> (_SMALL_*(fabs(x)+fabs(y))))
381
382#define D2I(x) ((0.0<(x))?(long)((x)+0.5):(long)((x)-0.5))
383#define I2D(n) ((double)(n))
384
385#define ISNOTSMALL(x) (fabs(x)> _SMALL_)
386#define ISSMALL(x) (fabs(x)<=_SMALL_)
387
388#define ISINTEGER(x) ISEQUAL(I2D(D2I(x)),(x)) /* check the value, regardless of the type */
389#define ISNOTINTEGER(x) ISNOTEQUAL(I2D(D2I(x)),(x)) /* check the value, regardless of the type */
390
391#define _STR_(x) #x
392#define STRINGIFY(x) _STR_(x) /* stringification */
393
394#define ISEMPTY(s) (0==strlen(s)) /* test on string */
395#define ISNOTEMPTY(s) (0!=strlen(s))
396
397#define LENGTH(s) ((long)strlen(s)) /* length of a string */
398
399
400/* ** OTHER MACROS ************************************************************************************************************** */
401
402#define FALSE 0 /* boolean */
403#define TRUE 1
404
405#define MAYBE (-1) /* 3 levels */
406#define NO 0
407#define YES 1
408
409#define WARNING 1 /* Error level */
410#define ERROR 2
411
412#define NO_EXPAND 0 /* File expansion flag */
413#define EXPAND 1
414
415#define LEFT_VALUE (-1) /* Left or right value identifier */
416#define RIGHT_VALUE 1
417
418
419/* *** DATA STRUCTURES ********************************************************************************************************** */
420
421/* These data types are used to define intermediate lists built on the fly by the compiler. */
422
423/* Data Type List Iterator */
424
425/* ALIAS_TYPE Alias_List[MAXARRAYS] Num_Aliases */
426/* ARRAY_TYPE Array_List[MAXARRAYS] Num_Arrays */
427/* CMDLINE_TYPE Cmdline_List[MAXCMDLINES] Num_Cmdlines */
428/* DEBUG_TYPE Debug_List[MAXDEBUGS] Num_Debugs */
429/* DECLARE_TYPE Declare_List[MAXDECLARES] Num_Declares */
430/* DECLARE_COMMON_TYPE Declare_Common_List[MAXDECLARECOMMONS] Num_Declare_Commons */
431/* DIRECTIVE_TYPE Directive_List[MAXDIRS] Num_Directives */
432/* DUMP_TYPE Dump_List . */
433/* EXPORT_TYPE Export_List[MAXEXPORTS] Num_Exports */
434/* FUNCTION_TYPE Function_List[MAXFUNCTIONS] Num_Functions */
435/* GATEWAY_TYPE Gateway_List . */
436/* GROUP_TYPE Group_List[MAXGROUPS] Num_Groups */
437/* HEADER_TYPE Header_List[MAXHEADERS] Num_Headers */
438/* INJECT_TYPE Inject_List[MAXINJECTS] Num_Injects */
439/* INTERLUDE_TYPE Interlude_List . */
440/* IO_TYPE IO_List[MAXIOS] Num_IOs */
441/* LOAD_TYPE Load_List . */
442/* NODE_TYPE Node_List[MAXNODES] Num_Nodes */
443/* OPCODE_TYPE Opcode_List[MAXOPCODES] Num_Opcodes */
444/* PING_TYPE Ping_List . */
445/* POST_TYPE Post_List[MAXPOSTS] Num_Posts */
446/* RECORD_TYPE Record_List[MAXRECORDS] Num_Records */
447/* SAMPLING_TYPE Sampling_List . */
448/* RANDOMSEED_TYPE Seed_List . */
449/* SEGMENT_TYPE Segment_List[MAXSEGMENTS] Num_Segments */
450/* STUCK_TYPE Stuck_List[MAXSTUCKS] Num_Stucks */
451/* TERMINATE_TYPE Terminate_List . */
452/* UPDATE_TYPE Update_List[MAXUPDATES] Num_Updates */
453/* USERTOOL_TYPE UserTool_List[MAXUSERTOOLS] Num_UserTools */
454/* VAR_TYPE Var_List[MAXVARS] Num_Vars */
455
456
458typedef struct {
459 char *name;
460 char *aliasof;
461 unsigned long mline[MAXDEPTH];
462 unsigned long mfile[MAXDEPTH];
463} ALIAS_TYPE;
464
466typedef struct {
467 char *variant;
468 char *name;
469 char *size;
470 long type;
471 long kind;
472 long port;
473 char *fname;
474 int used;
475 unsigned long mline[MAXDEPTH];
476 unsigned long mfile[MAXDEPTH];
477} ARRAY_TYPE;
478
480typedef struct {
481 char *parms;
482 char *comment;
483 unsigned long mline[MAXDEPTH];
484 unsigned long mfile[MAXDEPTH];
486
488typedef struct {
489 char *name;
490 long usage;
491 unsigned long mline[MAXDEPTH];
492 unsigned long mfile[MAXDEPTH];
493} DEBUG_TYPE;
494
496typedef struct {
497 char *name;
498 long number;
499 long type;
500 unsigned long mline[MAXDEPTH];
501 unsigned long mfile[MAXDEPTH];
503
505typedef struct {
506 char *value;
507 unsigned long mline[MAXDEPTH];
508 unsigned long mfile[MAXDEPTH];
510
512typedef struct {
513 char *name;
514 char *parms;
515 char *value;
516 int used;
518 unsigned long mline[MAXDEPTH];
519 unsigned long mfile[MAXDEPTH];
521
523typedef struct {
524 char *fname;
525 char *condition;
526 int event;
527 long segment;
528 unsigned long mline[MAXDEPTH];
529 unsigned long mfile[MAXDEPTH];
530} DUMP_TYPE;
531
533typedef struct {
534 char *name;
535 unsigned long mline[MAXDEPTH];
536 unsigned long mfile[MAXDEPTH];
538
539typedef struct {
540 char *table;
541 long number;
543
545typedef struct {
546 long counter;
547 long segment;
549
551typedef struct {
552 char *ifname;
553 char *ofname;
554 long ID;
555} GROUP_TYPE;
556
558typedef struct {
559 char *fname;
560 char *option;
561 unsigned long mline[MAXDEPTH];
562 unsigned long mfile[MAXDEPTH];
564
566typedef struct {
567 char *name;
568 char *value;
569 unsigned long mline[MAXDEPTH];
570 unsigned long mfile[MAXDEPTH];
572
574typedef struct {
575 char *fname;
576 char *element;
577 char *condition;
578 long type;
579 int event;
580 long segment;
581 double rate;
582 unsigned long mline[MAXDEPTH];
583 unsigned long mfile[MAXDEPTH];
584} IO_TYPE;
585
587typedef struct {
588 char *fname;
589 unsigned long mline[MAXDEPTH];
590 unsigned long mfile[MAXDEPTH];
591} LOAD_TYPE;
592
594typedef struct {
595 char *name1;
596 char *name2;
597 char *tag;
598 char *value;
599 char *option;
600 long *depend;
601 long ID;
602 long ID2;
603 long type;
604 long declare;
605 int inject;
606 long kind;
607 long width;
611 int used;
612 int init;
614 int flag;
615 long segment;
616 unsigned long mline[MAXDEPTH];
617 unsigned long mfile[MAXDEPTH];
618} NODE_TYPE;
619
621typedef struct {
622 long number1;
623 long number2;
624 long number3;
625 unsigned long mline[MAXDEPTH];
626 unsigned long mfile[MAXDEPTH];
628
630typedef struct {
631 char *name;
632 long code;
633 char *function;
634 unsigned long mline[MAXDEPTH];
635 unsigned long mfile[MAXDEPTH];
637
650
652typedef struct {
653 char *fname;
654 unsigned long mline[MAXDEPTH];
655 unsigned long mfile[MAXDEPTH];
656} PING_TYPE;
657
659typedef struct {
660 char *origin;
661 char *function;
662 char *option;
663 char *ofname;
664 long number;
665 char *parms;
666 long segment;
667 unsigned long mline[MAXDEPTH];
668 unsigned long mfile[MAXDEPTH];
669 long ID;
670} POST_TYPE;
671
673typedef struct {
674 long rndseed;
675 unsigned long mline[MAXDEPTH];
676 unsigned long mfile[MAXDEPTH];
678
680typedef struct {
681 char *name;
682 long size;
683 long nrow;
684 long ncol;
685 long ID;
686 long *depend;
688 int used;
689 int nflag;
690 int pflag;
691 char *list1;
692 char *list2;
693 unsigned long mline[MAXDEPTH];
694 unsigned long mfile[MAXDEPTH];
696
697typedef struct {
698 double frequency;
699 double period;
700 char *formula;
701 long segment;
702 unsigned long mline[MAXDEPTH];
703 unsigned long mfile[MAXDEPTH];
705
707typedef struct {
708 char *value;
709 long type;
710 long ref;
711 int used1;
712 int used2;
713 int used3;
715 double offset;
716 double rate;
717 double frequency;
718 unsigned long mline[MAXDEPTH];
719 unsigned long mfile[MAXDEPTH];
721
723typedef struct {
724 char *name;
725 char *value;
726 unsigned long mline[MAXDEPTH];
727 unsigned long mfile[MAXDEPTH];
728} STUCK_TYPE;
729
731typedef struct {
732 char *condition;
733 unsigned long mline[MAXDEPTH];
734 unsigned long mfile[MAXDEPTH];
736
738typedef struct {
739 char *name;
740 char *value;
741 char *condition;
742 long ID;
743 long *depend;
746 int event;
747 long segment;
748 unsigned long mline[MAXDEPTH];
749 unsigned long mfile[MAXDEPTH];
751
753typedef struct {
754 char *name;
755 char *function;
756 char *parms;
757 char *option;
758 long kind;
759 long number;
760 long mailbox;
761 long ID;
762 long node;
763 long segment;
764 unsigned long mline[MAXDEPTH];
765 unsigned long mfile[MAXDEPTH];
767
769typedef struct {
770 char *name1;
771 char *name2;
772 char *comment;
773 char *value;
774 long *depend;
775 long external;
776 long ID;
777 long type;
778 long declare;
779 long width;
782 int used;
784 int event;
785 long segment;
786 unsigned long mline[MAXDEPTH];
787 unsigned long mfile[MAXDEPTH];
788} VAR_TYPE;
789
790
791/* *** GLOBAL VARIABLES ********************************************************************************************************* */
792
793/* This file 'napa.h' is included in all source files of the NAPA compiler. To avoid multiple declarations of variables, macro */
794/* EXTERN is defined at the beginning of each C file: in file 'main.c', its definition corresponds to a blank definition, in all */
795/* other files, its definition corresponds to 'extern' C identifier. */
796
798
838
839
840/* These flags are set on the fly to record information used to build the NAPA compiler */
841
842EXTERN int Antithetic_Flag; /* random stream */
843EXTERN int Array_Flag; /* ram/rom usage */
844EXTERN int Assert_Flag; /* assert usage */
845EXTERN int Call_Flag; /* call usage */
846EXTERN int Cmdline_Flag; /* command line usage */
847EXTERN int Comment_Flag; /* comment */
848EXTERN int Debug_Flag; /* use of debug */
849EXTERN int Delayed_Flag; /* use of &delayed */
850EXTERN int Directive_Flag; /* use of directive */
851EXTERN int Drop_Flag; /* drop instruction */
852EXTERN int Dump_Flag; /* dump instruction */
853EXTERN int Error_Flag; /* error detection */
854EXTERN int Expand_Flag; /* input expansion */
855EXTERN int Export_Flag; /* export variable */
856EXTERN int Fs_Flag; /* sampling frequency */
857EXTERN int Fs_Ext_Flag; /* sampling frequency command line */
858EXTERN int Function_Flag; /* function usage */
859EXTERN int Gateway_Flag; /* gateway after assert */
860EXTERN int Hierarchy_Flag; /* hierarchical netlist */
861EXTERN int Inject_Flag; /* inject instruction */
862EXTERN int Input_Flag; /* input instruction */
863EXTERN int Interpolate_Flag; /* interpolation */
864EXTERN int List_Flag; /* list node and var */
865EXTERN int Load_Flag; /* load instruction */
866EXTERN int Loop_Flag; /* build main loop */
867EXTERN int Multdelay_Flag; /* multiple delay usage */
868EXTERN int Interlude_Flag1; /* interlude usage */
869EXTERN int Interlude_Flag2; /* interlude usage */
870EXTERN int Interlude_Flag3; /* interlude usage */
871EXTERN int Option_Flag; /* option */
872EXTERN int Output_Flag; /* output instruction */
873EXTERN int Periodic_Flag; /* periodic sampling */
874EXTERN int Ping_Flag; /* ping instruction */
875EXTERN int Pointer_Flag; /* array of pointers */
876EXTERN int Post_Flag; /* postprocessor instruction */
877EXTERN int Seed_Flag; /* seed flag for random number */
878EXTERN int Stuck_Flag; /* node stuck use */
879EXTERN int Synchro_Flag; /* tool synchronisation */
880EXTERN int Terminate_Flag; /* terminate instruction */
881EXTERN int Title_Flag; /* title instruction */
882EXTERN int Tool_Index_Flag; /* TOOL_INDEX flag */
883EXTERN int Tool_Flag; /* tool flag */
884EXTERN int Ts_Flag; /* sampling period */
885EXTERN int Ts_Ext_Flag; /* sampling period command line */
886EXTERN int Update_Flag; /* update flag */
887EXTERN int User_Flag; /* user flag */
888EXTERN int UserTool_Flag; /* tool/user flag */
889EXTERN int Verbose_Flag; /* verbose mode flag */
890EXTERN int Warning_Flag; /* warning */
891
892EXTERN char Last_Instruction[STRLENGTH]; /* trace previous instruction */
893EXTERN char Last_Postprocess[STRLENGTH]; /* trace previous postprocessor */
894
901
906
908
910
912
916
918
923
925EXTERN char Comment_String[MAXCOMMENTS][LINLENGTH]; /* MAXCOMMENTS strings of LINLENGTH characters */
928
930
931EXTERN char Cur_Fil_Name[MAXDEPTH][STRLENGTH]; /* MAXDEPTH strings of STRLENGTH characters */
932EXTERN char Cur_Lib_Name[MAXDEPTH][STRLENGTH]; /* MAXDEPTH strings of STRLENGTH characters */
933
934EXTERN long Cell_Num_Parms[MAXDEPTH]; /* number of parameters */
935
936EXTERN char Cell_Plist[MAXDEPTH][MAXPARMS][LINLENGTH]; /* parms list (cell) */
937EXTERN char Inst_Plist[MAXDEPTH][MAXPARMS][LINLENGTH]; /* parms list (instance) */
938
939EXTERN char *Record_Instantiation_Name[MAXINSTANCES]; /* record instance names */
940EXTERN char *Record_Cell_File_Table[MAXFILECELLS]; /* record cell files */
942
943EXTERN char Segment_Condition[MAXSEGMENTS][STRLENGTH]; /* MAXSEGMENTS strings of STRLENGTH characters */
944
945EXTERN char Cell_Name_Prefix[MAXDEPTH][STRLENGTH]; /* MAXDEPTH strings of STRLENGTH characters */
946
947EXTERN char Condition_Assign[LINLENGTH]; /* temporary storage for condition assignation */
948
949EXTERN ALIAS_TYPE Alias_List[MAXALIASES]; /* index: Num_Aliases */
950EXTERN ARRAY_TYPE Array_List[MAXARRAYS]; /* index: Num_Arrays */
951EXTERN CMDLINE_TYPE Cmdline_List[MAXCMDLINES]; /* index: Num_Cmdlines */
952EXTERN DEBUG_TYPE Debug_List[MAXDEBUGS]; /* index: Num_Debugs */
953EXTERN DECLARE_TYPE Declare_List[MAXDECLARES]; /* index: Num_Declares */
955EXTERN DIRECTIVE_TYPE Directive_List[MAXDIRS]; /* index: Num_Directives */
956EXTERN EXPORT_TYPE Export_List[MAXEXPORTS]; /* index: Num_Exports */
957EXTERN FUNCTION_TYPE Function_List[MAXFUNCTIONS]; /* index: Num_Functions */
958EXTERN GROUP_TYPE Group_List[MAXGROUPS]; /* index: Num_Groups */
959EXTERN HEADER_TYPE Header_List[MAXHEADERS]; /* index: Num_Headers */
960EXTERN INJECT_TYPE Inject_List[MAXINJECTS]; /* index: Num_Injects */
961EXTERN IO_TYPE IO_List[MAXIOS]; /* index: Num_IOs */
962EXTERN NODE_TYPE Node_List[MAXNODES]; /* index: Num_Nodes */
963EXTERN OPCODE_TYPE Opcode_List[MAXOPCODES]; /* index: Num_Opcodes */
964EXTERN POST_TYPE Post_List[MAXPOSTS]; /* index: Num_Posts */
965EXTERN RECORD_TYPE Record_List[MAXRECORDS]; /* index: Num_Records */
966EXTERN SEGMENT_TYPE Segment_List[MAXSEGMENTS]; /* index: Num_Segments */
967EXTERN STUCK_TYPE Stuck_List[MAXSTUCKS]; /* index: Num_Stucks */
968EXTERN UPDATE_TYPE Update_List[MAXUPDATES]; /* index: Num_Updates */
969EXTERN USERTOOL_TYPE UserTool_List[MAXUSERTOOLS]; /* index: Num_UserTools */
970EXTERN VAR_TYPE Var_List[MAXVARS]; /* index: Num_Vars */
971
981
983
984EXTERN long Delay_Input[MAXNODES]; /* pointer: delay_num */
985
986EXTERN time_t NAPA_Time; /* compilation time */
987
988EXTERN double NAPA_Compile_Start; /* compilation time */
989EXTERN double NAPA_Compile_Stop; /* compilation time */
990EXTERN char NAPA_Compile_Time[33]; /* compilation time */
991
992EXTERN char NAPA_Identification_String[35]; /* compiler time stamp */
993EXTERN char NAPA_Job_ID[19]; /* job ID */
994
995
996/* ****************************************************************************************************************************** */
997#endif /* NAPA_H */
998/* end of file */
#define EXTERN
Definition bl.c:4
#define MAXEXPORTS
Definition napa.h:213
EXTERN int Interpolate_Flag
Definition napa.h:863
EXTERN long Num_Injects
Definition napa.h:820
EXTERN char * Generator_Lib_Name
Definition napa.h:913
EXTERN char Inst_Plist[31L][127L][16383L]
Definition napa.h:937
#define MAXVARS
Definition napa.h:187
EXTERN int Synchro_Flag
Definition napa.h:879
EXTERN long Num_Voids
Definition napa.h:837
#define MAXDEPTH
Definition napa.h:212
EXTERN long Num_Groups
Definition napa.h:817
EXTERN long Num_Aliases
Definition napa.h:799
EXTERN RANDOMSEED_TYPE Seed_List
Definition napa.h:979
EXTERN long Num_Macros
Definition napa.h:823
EXTERN VAR_TYPE Var_List[2047L]
Definition napa.h:970
EXTERN char NAPA_Compile_Time[33]
Definition napa.h:990
EXTERN char NAPA_Command_Line[2047L]
Definition napa.h:907
EXTERN int Error_Flag
Definition napa.h:853
EXTERN char I_String_Format[2047L]
Definition napa.h:902
EXTERN int Interlude_Flag3
Definition napa.h:870
EXTERN RECORD_TYPE Record_List[127L]
Definition napa.h:965
EXTERN long Num_Consts
Definition napa.h:807
#define MAXINSTANCES
Definition napa.h:190
EXTERN long Num_Debugs
Definition napa.h:809
EXTERN long Num_Calls
Definition napa.h:802
EXTERN int Post_Flag
Definition napa.h:876
EXTERN char Condition_Assign[16383L]
Definition napa.h:947
EXTERN int Stuck_Flag
Definition napa.h:878
EXTERN OPTION_TYPE Option_List
Definition napa.h:976
EXTERN DECLARE_COMMON_TYPE Declare_Common_List[255L]
Definition napa.h:954
EXTERN long Num_Functions
Definition napa.h:815
EXTERN long Num_Vars
Definition napa.h:836
EXTERN ARRAY_TYPE Array_List[63L]
Definition napa.h:950
EXTERN char Cell_Name_Prefix[31L][2047L]
Definition napa.h:945
EXTERN int Array_Flag
Definition napa.h:843
EXTERN char V_Format[2047L]
Definition napa.h:899
EXTERN char E_Format[2047L]
Definition napa.h:895
EXTERN DECLARE_TYPE Declare_List[1023L]
Definition napa.h:953
EXTERN int Load_Flag
Definition napa.h:865
EXTERN int Directive_Flag
Definition napa.h:850
EXTERN int Drop_Flag
Definition napa.h:851
EXTERN long Num_Records
Definition napa.h:828
EXTERN char S_Format[2047L]
Definition napa.h:898
EXTERN long Num_Updates
Definition napa.h:834
EXTERN char R_Format[2047L]
Definition napa.h:897
EXTERN long Num_Arrays
Definition napa.h:800
EXTERN int Function_Flag
Definition napa.h:858
EXTERN char Last_Postprocess[2047L]
Definition napa.h:893
EXTERN POST_TYPE Post_List[63L]
Definition napa.h:964
EXTERN double NAPA_Compile_Start
Definition napa.h:988
EXTERN int Ts_Flag
Definition napa.h:884
#define MAXPARMS
Definition napa.h:200
EXTERN int Title_Flag
Definition napa.h:881
#define MAXINJECTS
Definition napa.h:210
EXTERN NODE_TYPE Node_List[4095L]
Definition napa.h:962
EXTERN int Hierarchy_Flag
Definition napa.h:860
EXTERN char S_String_Format[2047L]
Definition napa.h:904
EXTERN int Update_Flag
Definition napa.h:886
EXTERN long Num_UserTools
Definition napa.h:835
EXTERN char NAPA_Job_ID[19]
Definition napa.h:993
EXTERN long Max_Depth
Definition napa.h:797
EXTERN int Dump_Flag
Definition napa.h:852
EXTERN USERTOOL_TYPE UserTool_List[511L]
Definition napa.h:969
EXTERN EXPORT_TYPE Export_List[31L]
Definition napa.h:956
EXTERN int Fs_Flag
Definition napa.h:856
EXTERN int Delayed_Flag
Definition napa.h:849
EXTERN long Num_Restarts
Definition napa.h:830
EXTERN int Export_Flag
Definition napa.h:855
EXTERN int Expand_Flag
Definition napa.h:854
EXTERN SAMPLING_TYPE Sampling_List
Definition napa.h:978
EXTERN int Tool_Index_Flag
Definition napa.h:882
EXTERN int Verbose_Flag
Definition napa.h:889
EXTERN int Tool_Flag
Definition napa.h:883
#define MAXGROUPS
Definition napa.h:214
#define MAXCOMMENTS
Definition napa.h:203
EXTERN char R_String_Format[2047L]
Definition napa.h:903
EXTERN char Export0_Head_String[16383L]
Definition napa.h:919
EXTERN long Num_Headers
Definition napa.h:818
EXTERN char X_String_Format[2047L]
Definition napa.h:905
EXTERN long Num_Redefs
Definition napa.h:829
EXTERN char * Record_Cell_File_Table[511L]
Definition napa.h:940
EXTERN ALIAS_TYPE Alias_List[127L]
Definition napa.h:949
EXTERN DIRECTIVE_TYPE Directive_List[255L]
Definition napa.h:955
EXTERN DEBUG_TYPE Debug_List[63L]
Definition napa.h:952
EXTERN HEADER_TYPE Header_List[63L]
Definition napa.h:959
#define MAXDECLARES
Definition napa.h:189
EXTERN long Num_Declares
Definition napa.h:810
EXTERN long Num_Asserts
Definition napa.h:801
EXTERN int Cmdline_Flag
Definition napa.h:846
#define LINLENGTH
Definition napa.h:216
#define MAXFUNCTIONS
Definition napa.h:195
EXTERN long Num_Nodes
Definition napa.h:824
#define MAXPOSTS
Definition napa.h:206
EXTERN char X_Format[2047L]
Definition napa.h:900
EXTERN int Ts_Ext_Flag
Definition napa.h:885
#define MAXARRAYS
Definition napa.h:202
EXTERN int Debug_Flag
Definition napa.h:848
EXTERN INJECT_TYPE Inject_List[63L]
Definition napa.h:960
EXTERN long Num_Tools
Definition napa.h:833
EXTERN LOAD_TYPE Load_List
Definition napa.h:975
EXTERN long Num_Exports
Definition napa.h:813
EXTERN PING_TYPE Ping_List
Definition napa.h:977
EXTERN time_t NAPA_Time
Definition napa.h:986
#define MAXFILECELLS
Definition napa.h:191
EXTERN int Warning_Flag
Definition napa.h:890
EXTERN INTERLUDE_TYPE Interlude_List
Definition napa.h:974
EXTERN long Num_Directives
Definition napa.h:812
EXTERN long Num_Delays
Definition napa.h:811
EXTERN long Num_Inits
Definition napa.h:819
EXTERN int Interlude_Flag1
Definition napa.h:868
EXTERN char Cur_Lib_Name[31L][2047L]
Definition napa.h:932
EXTERN char Comment_String[63L][16383L]
Definition napa.h:925
#define MAXDECLARECOMMONS
Definition napa.h:193
EXTERN int Comment_Flag
Definition napa.h:847
EXTERN long Num_Posts
Definition napa.h:827
EXTERN char * Header_Lib_Name
Definition napa.h:914
EXTERN char Root_String[2047L]
Definition napa.h:929
#define MAXOPCODES
Definition napa.h:199
EXTERN char Export0_List_String[16383L]
Definition napa.h:921
EXTERN int Input_Flag
Definition napa.h:862
EXTERN OPCODE_TYPE Opcode_List[127L]
Definition napa.h:963
EXTERN char Void_List_Name[2047L]
Definition napa.h:917
EXTERN int Option_Flag
Definition napa.h:871
EXTERN double NAPA_Compile_Stop
Definition napa.h:989
EXTERN long Num_FileCells
Definition napa.h:814
EXTERN long Cell_Num_Parms[31L]
Definition napa.h:934
#define MAXHEADERS
Definition napa.h:209
EXTERN char Export1_List_String[16383L]
Definition napa.h:922
EXTERN int UserTool_Flag
Definition napa.h:888
EXTERN int List_Flag
Definition napa.h:864
EXTERN long Num_IOs
Definition napa.h:822
#define MAXIOS
Definition napa.h:205
EXTERN char I_Format[2047L]
Definition napa.h:896
EXTERN double Simulation_Rate
Definition napa.h:982
#define MAXNODES
Definition napa.h:186
#define MAXUPDATES
Definition napa.h:188
EXTERN long Num_Nulls
Definition napa.h:825
EXTERN long Num_Segments
Definition napa.h:831
EXTERN GATEWAY_TYPE Gateway_List
Definition napa.h:973
EXTERN long Delay_Input[4095L]
Definition napa.h:984
EXTERN long Num_Comments
Definition napa.h:805
EXTERN long Record_Cell_File_Usage[511L]
Definition napa.h:941
EXTERN int Inject_Flag
Definition napa.h:861
EXTERN char Cur_Fil_Name[31L][2047L]
Definition napa.h:931
EXTERN long Num_Instances
Definition napa.h:821
EXTERN int Fs_Ext_Flag
Definition napa.h:857
EXTERN CMDLINE_TYPE Cmdline_List[63L]
Definition napa.h:951
#define MAXRECORDS
Definition napa.h:198
EXTERN char Segment_Condition[127L][2047L]
Definition napa.h:943
#define MAXUSERTOOLS
Definition napa.h:192
EXTERN long Num_Cmdlines
Definition napa.h:804
EXTERN long Num_Creates
Definition napa.h:808
EXTERN char Title_String[2 *2047L]
Definition napa.h:927
EXTERN int User_Flag
Definition napa.h:887
EXTERN int Terminate_Flag
Definition napa.h:880
EXTERN TERMINATE_TYPE Terminate_List
Definition napa.h:980
EXTERN SEGMENT_TYPE Segment_List[127L]
Definition napa.h:966
EXTERN char * Main_File_Name
Definition napa.h:911
EXTERN char * Record_Instantiation_Name[511L]
Definition napa.h:939
#define MAXDEBUGS
Definition napa.h:208
EXTERN int Pointer_Flag
Definition napa.h:875
#define MAXALIASES
Definition napa.h:197
EXTERN GROUP_TYPE Group_List[31L]
Definition napa.h:958
#define STRLENGTH
Definition napa.h:217
EXTERN char * User_Name
Definition napa.h:909
EXTERN int Multdelay_Flag
Definition napa.h:867
EXTERN long Num_Opcodes
Definition napa.h:826
EXTERN int Assert_Flag
Definition napa.h:844
EXTERN long Num_Cells
Definition napa.h:803
EXTERN long Num_Stucks
Definition napa.h:832
EXTERN FUNCTION_TYPE Function_List[255L]
Definition napa.h:957
#define MAXCMDLINES
Definition napa.h:207
EXTERN char NAPA_Identification_String[35]
Definition napa.h:992
EXTERN int Seed_Flag
Definition napa.h:877
EXTERN int Antithetic_Flag
Definition napa.h:842
EXTERN int Ping_Flag
Definition napa.h:874
EXTERN char * Net_Lib_Name
Definition napa.h:915
EXTERN char Cmdline_String[2047L]
Definition napa.h:924
EXTERN char Export1_Head_String[16383L]
Definition napa.h:920
EXTERN STUCK_TYPE Stuck_List[63L]
Definition napa.h:967
EXTERN long Num_Generators
Definition napa.h:816
EXTERN int Gateway_Flag
Definition napa.h:859
EXTERN int Output_Flag
Definition napa.h:872
EXTERN int Call_Flag
Definition napa.h:845
EXTERN DUMP_TYPE Dump_List
Definition napa.h:972
#define MAXSEGMENTS
Definition napa.h:201
EXTERN char Cell_Plist[31L][127L][16383L]
Definition napa.h:936
EXTERN char Short_Title_String[2 *2047L]
Definition napa.h:926
EXTERN char Last_Instruction[2047L]
Definition napa.h:892
EXTERN IO_TYPE IO_List[63L]
Definition napa.h:961
EXTERN int Loop_Flag
Definition napa.h:866
EXTERN long Num_Declare_Commons
Definition napa.h:806
#define MAXDIRS
Definition napa.h:194
EXTERN int Interlude_Flag2
Definition napa.h:869
EXTERN UPDATE_TYPE Update_List[2047L]
Definition napa.h:968
EXTERN int Periodic_Flag
Definition napa.h:873
#define MAXSTUCKS
Definition napa.h:211
char * name
Definition napa.h:459
unsigned long mfile[31L]
Definition napa.h:462
unsigned long mline[31L]
Definition napa.h:461
char * aliasof
Definition napa.h:460
long port
Definition napa.h:472
int used
Definition napa.h:474
char * name
Definition napa.h:468
long type
Definition napa.h:470
char * variant
Definition napa.h:467
char * size
Definition napa.h:469
unsigned long mfile[31L]
Definition napa.h:476
long kind
Definition napa.h:471
unsigned long mline[31L]
Definition napa.h:475
char * fname
Definition napa.h:473
char * comment
Definition napa.h:482
char * parms
Definition napa.h:481
unsigned long mfile[31L]
Definition napa.h:484
unsigned long mline[31L]
Definition napa.h:483
long usage
Definition napa.h:490
char * name
Definition napa.h:489
unsigned long mfile[31L]
Definition napa.h:492
unsigned long mline[31L]
Definition napa.h:491
unsigned long mfile[31L]
Definition napa.h:508
unsigned long mline[31L]
Definition napa.h:507
char * name
Definition napa.h:497
long type
Definition napa.h:499
long number
Definition napa.h:498
unsigned long mfile[31L]
Definition napa.h:501
unsigned long mline[31L]
Definition napa.h:500
char * parms
Definition napa.h:514
char * value
Definition napa.h:515
char * name
Definition napa.h:513
int function
Definition napa.h:517
unsigned long mfile[31L]
Definition napa.h:519
unsigned long mline[31L]
Definition napa.h:518
long segment
Definition napa.h:527
unsigned long mfile[31L]
Definition napa.h:529
char * condition
Definition napa.h:525
unsigned long mline[31L]
Definition napa.h:528
int event
Definition napa.h:526
char * fname
Definition napa.h:524
char * name
Definition napa.h:534
unsigned long mfile[31L]
Definition napa.h:536
unsigned long mline[31L]
Definition napa.h:535
long number
Definition napa.h:541
char * table
Definition napa.h:540
long counter
Definition napa.h:546
long segment
Definition napa.h:547
char * ofname
Definition napa.h:553
char * ifname
Definition napa.h:552
long ID
Definition napa.h:554
char * option
Definition napa.h:560
unsigned long mfile[31L]
Definition napa.h:562
unsigned long mline[31L]
Definition napa.h:561
char * fname
Definition napa.h:559
char * value
Definition napa.h:568
char * name
Definition napa.h:567
unsigned long mfile[31L]
Definition napa.h:570
unsigned long mline[31L]
Definition napa.h:569
long number2
Definition napa.h:623
long number1
Definition napa.h:622
unsigned long mfile[31L]
Definition napa.h:626
unsigned long mline[31L]
Definition napa.h:625
long number3
Definition napa.h:624
double rate
Definition napa.h:581
long type
Definition napa.h:578
long segment
Definition napa.h:580
unsigned long mfile[31L]
Definition napa.h:583
char * element
Definition napa.h:576
char * condition
Definition napa.h:577
unsigned long mline[31L]
Definition napa.h:582
int event
Definition napa.h:579
char * fname
Definition napa.h:575
unsigned long mfile[31L]
Definition napa.h:590
unsigned long mline[31L]
Definition napa.h:589
char * fname
Definition napa.h:588
long ID2
Definition napa.h:602
char * name1
Definition napa.h:595
int aliased
Definition napa.h:609
int delayed
Definition napa.h:608
char * value
Definition napa.h:598
int determined
Definition napa.h:610
int used
Definition napa.h:611
char * name2
Definition napa.h:596
long width
Definition napa.h:607
long type
Definition napa.h:603
long segment
Definition napa.h:615
char * option
Definition napa.h:599
int init
Definition napa.h:612
char * tag
Definition napa.h:597
long * depend
Definition napa.h:600
long declare
Definition napa.h:604
unsigned long mfile[31L]
Definition napa.h:617
int errflag
Definition napa.h:613
long kind
Definition napa.h:606
unsigned long mline[31L]
Definition napa.h:616
int flag
Definition napa.h:614
long ID
Definition napa.h:601
int inject
Definition napa.h:605
char * function
Definition napa.h:633
char * name
Definition napa.h:631
long code
Definition napa.h:632
unsigned long mfile[31L]
Definition napa.h:635
unsigned long mline[31L]
Definition napa.h:634
long maxid
Definition napa.h:648
char valstr[16383L]
Definition napa.h:643
char valset[255L][2047L]
Definition napa.h:644
long nfun
Definition napa.h:645
char optstr[16383L]
Definition napa.h:641
char optset[255L][2047L]
Definition napa.h:642
long nval
Definition napa.h:647
long nopt
Definition napa.h:646
char funstr[16383L]
Definition napa.h:639
char funset[255L][2047L]
Definition napa.h:640
unsigned long mfile[31L]
Definition napa.h:655
unsigned long mline[31L]
Definition napa.h:654
char * fname
Definition napa.h:653
char * origin
Definition napa.h:660
char * ofname
Definition napa.h:663
char * function
Definition napa.h:661
char * parms
Definition napa.h:665
long segment
Definition napa.h:666
char * option
Definition napa.h:662
long number
Definition napa.h:664
unsigned long mfile[31L]
Definition napa.h:668
unsigned long mline[31L]
Definition napa.h:667
long ID
Definition napa.h:669
long rndseed
Definition napa.h:674
unsigned long mfile[31L]
Definition napa.h:676
unsigned long mline[31L]
Definition napa.h:675
char * list2
Definition napa.h:692
long size
Definition napa.h:682
int pflag
Definition napa.h:690
int nflag
Definition napa.h:689
int determined
Definition napa.h:687
int used
Definition napa.h:688
char * name
Definition napa.h:681
long nrow
Definition napa.h:683
long * depend
Definition napa.h:686
unsigned long mfile[31L]
Definition napa.h:694
unsigned long mline[31L]
Definition napa.h:693
long ncol
Definition napa.h:684
char * list1
Definition napa.h:691
long ID
Definition napa.h:685
double frequency
Definition napa.h:698
long segment
Definition napa.h:701
unsigned long mfile[31L]
Definition napa.h:703
double period
Definition napa.h:699
unsigned long mline[31L]
Definition napa.h:702
char * formula
Definition napa.h:700
int periodic
Definition napa.h:714
double offset
Definition napa.h:715
int used3
Definition napa.h:713
double rate
Definition napa.h:716
long ref
Definition napa.h:710
double frequency
Definition napa.h:717
char * value
Definition napa.h:708
long type
Definition napa.h:709
int used1
Definition napa.h:711
int used2
Definition napa.h:712
unsigned long mfile[31L]
Definition napa.h:719
unsigned long mline[31L]
Definition napa.h:718
char * value
Definition napa.h:725
char * name
Definition napa.h:724
unsigned long mfile[31L]
Definition napa.h:727
unsigned long mline[31L]
Definition napa.h:726
unsigned long mfile[31L]
Definition napa.h:734
char * condition
Definition napa.h:732
unsigned long mline[31L]
Definition napa.h:733
char * value
Definition napa.h:740
int determined
Definition napa.h:744
char * name
Definition napa.h:739
long segment
Definition napa.h:747
long * depend
Definition napa.h:743
unsigned long mfile[31L]
Definition napa.h:749
char * condition
Definition napa.h:741
int constant
Definition napa.h:745
unsigned long mline[31L]
Definition napa.h:748
int event
Definition napa.h:746
long ID
Definition napa.h:742
long mailbox
Definition napa.h:760
char * function
Definition napa.h:755
char * parms
Definition napa.h:756
char * name
Definition napa.h:754
long segment
Definition napa.h:763
char * option
Definition napa.h:757
long number
Definition napa.h:759
unsigned long mfile[31L]
Definition napa.h:765
long kind
Definition napa.h:758
unsigned long mline[31L]
Definition napa.h:764
long node
Definition napa.h:762
long ID
Definition napa.h:761
char * comment
Definition napa.h:772
char * name1
Definition napa.h:770
long external
Definition napa.h:775
int aliased
Definition napa.h:780
char * value
Definition napa.h:773
int determined
Definition napa.h:781
int used
Definition napa.h:782
char * name2
Definition napa.h:771
long width
Definition napa.h:779
long type
Definition napa.h:777
long segment
Definition napa.h:785
long * depend
Definition napa.h:774
long declare
Definition napa.h:778
unsigned long mfile[31L]
Definition napa.h:787
int constant
Definition napa.h:783
unsigned long mline[31L]
Definition napa.h:786
int event
Definition napa.h:784
long ID
Definition napa.h:776