45 char *s = (
char*) NULL;
46 char *str = (
char*) NULL;
48 long determined_ptr = 0L;
110 out = determined_ptr;
126 out = determined_ptr;
158 out = determined_ptr;
178 out = determined_ptr;
197 out = determined_ptr;
220 out = determined_ptr;
239 out = determined_ptr;
249 out = determined_ptr;
280 out = determined_ptr;
305 out = determined_ptr;
332 out = determined_ptr;
356 out = determined_ptr;
380 out = determined_ptr;
395 out = determined_ptr;
463 (void) fprintf(
STDERR,
" Width limitation has no effect on node <%s>\n",
Node_List[out].name1);
469 out = determined_ptr;
487 out = determined_ptr;
494 (void) fprintf(
STDERR,
" Width limitation has no effect on node <%s>\n",
Node_List[out].name1);
520 out = determined_ptr;
567 out = determined_ptr;
582 out = determined_ptr;
653 out = determined_ptr;
668 (void) strcpy(tok2, tok1);
674 out = determined_ptr;
690 out = determined_ptr;
716 out = determined_ptr;
731 if (0 == strcmp(brc,
"()")) {
732 if (0 == strcmp(tok1,
"digital")) {
735 (void) strcpy(
Node_List[out].value, str);
736 }
else if (0 == strcmp(tok1,
"analog")) {
739 (void) strcpy(
Node_List[out].value, str);
749 out = determined_ptr;
765 if (0 == strcmp(brc,
"()")) {
766 if (0 == strcmp(tok1,
"analog")) {
769 (void) strcpy(
Node_List[out].value, str);
770 }
else if (0 == strcmp(tok1,
"digital")) {
773 (void) strcpy(
Node_List[out].value, str);
783 out = determined_ptr;
819 out = determined_ptr;
839 (void) fprintf(
STDERR,
" the type of node <%s> is not compatible with type declaration\n",
Node_List[out].name1);
843 out = determined_ptr;
884 (void) fprintf(
STDERR,
" being analog type, node <%s> cannot be width limited\n",
Node_List[out].name1);
891 (void) fprintf(
STDERR,
" Sorry, there is no way to determine the type of\n");
892 (void) fprintf(
STDERR,
" node <%s> by simple inspection of the netlist\n",
Node_List[out].name1);
897 (void) fprintf(
STDERR,
"\n Probable cause of type undetermination is an incorrect description.\n");
898 (void) fprintf(
STDERR,
" Chameleonic nodes may introduce also an undetermination. In this case, NAPA\n");
899 (void) fprintf(
STDERR,
" needs a hint. Use a 'declare' instruction to remove an undetermination of type.\n");
900 (void) fprintf(
STDERR,
" You will never hide nor introduce a mistake with a declaration. As NAPA\n");
901 (void) fprintf(
STDERR,
" determines the type of the nodes by inspection of the netlist, any mismatch\n");
902 (void) fprintf(
STDERR,
" will be safely reported.\n\n");
void print_warning_location(const char *type, const unsigned long *mlin, const unsigned long *mfil)
void print_error_location(const char *type, const unsigned long *mlin, const unsigned long *mfil)
void swap_nodes(long i, long j)
long array_id(const char *identifier)
long node_id(const char *identifier)
long var_id(const char *identifier)
EXTERN VAR_TYPE Var_List[2047L]
EXTERN ARRAY_TYPE Array_List[63L]
EXTERN NODE_TYPE Node_List[4095L]
#define DIFFERENTIATOR_KIND
EXTERN int Terminate_Flag
EXTERN TERMINATE_TYPE Terminate_List
EXTERN DUMP_TYPE Dump_List
#define DIGITAL_DATA_TYPE
void node_determination(void)
char * get_token_between_braces(char *str, char *brc, char *tok)
char * get_sign_and_token(char *str, char *sgn, char *tok)