25 {
26 long in;
27 long k, l, m, n;
28 long t;
29 char *nm1 = (char*) NULL;
30 char *nm2 = (char*) NULL;
31
40 (void) fprintf(
STDERR,
" node or variable <%s> does not exist\n",
Declare_List[in].name);
43
44 continue;
45 }
50 (void) fprintf(
STDERR,
" according to declaration, variable <%s> cannot be updated,\n\n",
Var_List[l].name2);
52 (void) fprintf(
STDERR,
" this variable, aliased as <%s>, is updated\n",
Var_List[l].name1);
53 } else {
54 (void) fprintf(
STDERR,
" this variable is updated\n");
55 }
57 }
58
59 continue;
60 }
66 (void) fprintf(
STDERR,
" according to declaration, node <%s> should be a 'dc' or a 'const' node,\n",
Node_List[k].name2);
68 (void) fprintf(
STDERR,
" this node, aliased as <%s>, is defined\n\n",
Node_List[k].name1);
69 } else {
70 (void) fprintf(
STDERR,
" this node is defined\n\n");
71 }
73 }
74
75 continue;
76 }
77 }
78 continue;
79 }
85 if (0 != strcmp(nm1, nm2)) {
86 (void) fprintf(
STDERR,
" node <%s>, aliased as <%s>, cannot be declared as a string\n", nm2, nm1);
87 } else {
88 (void) fprintf(
STDERR,
" node <%s> cannot be declared as a string\n", nm2);
89 }
90
91 continue;
92 }
95 if (0 != strcmp(nm1, nm2)) {
96 (void) fprintf(
STDERR,
" node <%s>, aliased as <%s>, was already declared as analog\n", nm2, nm1);
97 } else {
98 (void) fprintf(
STDERR,
" node <%s> was already declared as analog\n", nm2);
99 }
101
102 continue;
103 }
106 if (0 != strcmp(nm1, nm2)) {
107 (void) fprintf(
STDERR,
" node <%s>, aliased as <%s>, was already declared as digital\n", nm2, nm1);
108 } else {
109 (void) fprintf(
STDERR,
" node <%s> was already declared as digital\n", nm2);
110 }
112
113 continue;
114 }
117 }
118 continue;
119 }
125 if (0 != strcmp(nm1, nm2)) {
126 (void) fprintf(
STDERR,
" variable <%s>, aliased as <%s>, was already declared as digital\n", nm2, nm1);
127 } else {
128 (void) fprintf(
STDERR,
" variable <%s> was already declared as digital\n", nm2);
129 }
130
131 continue;
132 }
135 if (0 != strcmp(nm1, nm2)) {
136 (void) fprintf(
STDERR,
" variable <%s>, aliased as <%s>, was already declared as analog\n", nm2, nm1);
137 } else {
138 (void) fprintf(
STDERR,
" variable <%s> was already declared as analog\n", nm2);
139 }
140
141 continue;
142 }
145 if (0 != strcmp(nm1, nm2)) {
146 (void) fprintf(
STDERR,
" variable <%s>, aliased as <%s>, was already declared as a string\n", nm2, nm1);
147 } else {
148 (void) fprintf(
STDERR,
" variable <%s> was already declared as a string\n", nm2);
149 }
150
151 continue;
152 }
155 if (0 != strcmp(nm1, nm2)) {
156 (void) fprintf(
STDERR,
" according to a declaration, variable <%s>, aliased as <%s>, must be analog\n", nm2, nm1);
157 } else {
158 (void) fprintf(
STDERR,
" according to a declaration, variable <%s> must be analog\n", nm2);
159 }
161
162 continue;
163 }
166 if (0 != strcmp(nm1, nm2)) {
167 (void) fprintf(
STDERR,
" according to a declaration, variable <%s>, aliased as <%s>, must be digital\n", nm2, nm1);
168 } else {
169 (void) fprintf(
STDERR,
" according to a declaration, variable <%s> must be digital\n", nm2);
170 }
172
173 continue;
174 }
177 if (0 != strcmp(nm1, nm2)) {
178 (void) fprintf(
STDERR,
" according to a declaration, variable <%s>, aliased as <%s>, must be a string\n", nm2, nm1);
179 } else {
180 (void) fprintf(
STDERR,
" according to a declaration, variable <%s> must be a string\n", nm2);
181 }
183
184 continue;
185 }
188 }
189 continue;
190 }
195 (void) fprintf(
STDERR,
" parameter corresponding to declaration #%ld",
Declare_List[in].number);
196 (void) fprintf(
STDERR,
" is not an analog number, (value: <%s>)\n", nm1);
197
198 continue;
199 }
202 (void) fprintf(
STDERR,
" parameter corresponding to declaration #%ld",
Declare_List[in].number);
203 (void) fprintf(
STDERR,
" is not a strict digital number (value: <%s>)\n", nm1);
204
205 continue;
206 }
209 (void) fprintf(
STDERR,
" parameter corresponding to declaration #%ld",
Declare_List[in].number);
210 (void) fprintf(
STDERR,
" is not a string constant (value: <%s>)\n", nm1);
211
212 continue;
213 }
214 }
215 }
216 return;
217}
void print_location(const unsigned long *mlin, const unsigned long *mfil)
void print_error_location(const char *type, const unsigned long *mlin, const unsigned long *mfil)
long constant_type(char *identifier)
long update_id(const char *identifier, long num)
long node_id(const char *identifier)
long var_id(const char *identifier)
void process_node_error(const char *tok1)
void process_variable_error(const char *tok1)
EXTERN VAR_TYPE Var_List[2047L]
EXTERN DECLARE_TYPE Declare_List[1023L]
EXTERN NODE_TYPE Node_List[4095L]
#define DIGITAL_DATA_TYPE
EXTERN UPDATE_TYPE Update_List[2047L]