subckt.c, emphasize token separator insertion

This commit is contained in:
rlar 2016-11-19 13:55:09 +01:00
parent 6bb93b68ac
commit aecf48475e
1 changed files with 50 additions and 33 deletions

View File

@ -1005,7 +1005,8 @@ translate(struct line *deck, char *formal, char *actual, char *scname, const cha
name = MIFgettok(&s);
bxx_rewind(&buffer);
bxx_printf(&buffer, "a.%s.%s ", scname, name);
bxx_printf(&buffer, "a.%s.%s", scname, name);
bxx_putc(&buffer, ' ');
/* Now translate the nodes, looking ahead one token to recognize */
@ -1049,10 +1050,11 @@ translate(struct line *deck, char *formal, char *actual, char *scname, const cha
/* must be a node name at this point, so translate it */
t = gettrans(name, NULL);
if (t) {
bxx_printf(&buffer, "%s ", t);
bxx_printf(&buffer, "%s", t);
} else {
bxx_printf(&buffer, "%s.%s ", scname, name);
bxx_printf(&buffer, "%s.%s", scname, name);
}
bxx_putc(&buffer, ' ');
break;
} /* switch */
@ -1101,8 +1103,9 @@ translate(struct line *deck, char *formal, char *actual, char *scname, const cha
*/
ch = *name; /* ch identifies the type of component */
bxx_rewind(&buffer);
bxx_printf(&buffer, "%c.%s.%s ", ch, scname, name);
bxx_printf(&buffer, "%c.%s.%s", ch, scname, name);
tfree(t);
bxx_putc(&buffer, ' ');
/* Next iterate over all nodes (netnames) found and translate them. */
nnodes = numnodes(c->li_line, subs, modnames);
@ -1119,13 +1122,14 @@ translate(struct line *deck, char *formal, char *actual, char *scname, const cha
t = gettrans(name, NULL);
if (t) { /* the netname was used during the invocation; print it into the buffer */
bxx_printf(&buffer, "%s ", t);
bxx_printf(&buffer, "%s", t);
} else {
/* net netname was not used during the invocation; place a
* translated name into the buffer.*/
bxx_printf(&buffer, "%s.%s ", scname, name);
bxx_printf(&buffer, "%s.%s", scname, name);
}
tfree(name);
bxx_putc(&buffer, ' ');
} /* while (nnodes-- . . . . */
@ -1192,7 +1196,7 @@ translate(struct line *deck, char *formal, char *actual, char *scname, const cha
ch = *name; /* ch is the first char of the token. */
bxx_printf(&buffer, "%c.%s.%s ", ch, scname, name);
bxx_printf(&buffer, "%c.%s.%s", ch, scname, name);
/* From Vsense and Urefdes creates V.Urefdes.sense */
} else { /* Handle netname */
@ -1205,16 +1209,17 @@ translate(struct line *deck, char *formal, char *actual, char *scname, const cha
t = gettrans(name, NULL);
if (t) { /* the netname was used during the invocation; print it into the buffer */
bxx_printf(&buffer, "%s ", t);
bxx_printf(&buffer, "%s", t);
} else {
/* net netname was not used during the invocation; place a
* translated name into the buffer.
*/
bxx_printf(&buffer, "%s.%s ", scname, name);
bxx_printf(&buffer, "%s.%s", scname, name);
/* From netname and Urefdes creates Urefdes:netname */
}
}
tfree(nametofree);
bxx_putc(&buffer, ' ');
} /* while (nnodes--. . . . */
/* Now write out remainder of line (polynomial coeffs) */
@ -1242,11 +1247,12 @@ translate(struct line *deck, char *formal, char *actual, char *scname, const cha
bxx_rewind(&buffer);
if (ch != 'x')
bxx_printf(&buffer, "%c.%s.%s ", ch, scname, name);
bxx_printf(&buffer, "%c.%s.%s", ch, scname, name);
else
bxx_printf(&buffer, "%s.%s ", scname, name);
bxx_printf(&buffer, "%s.%s", scname, name);
tfree(nametofree);
bxx_putc(&buffer, ' ');
/* Next iterate over all nodes (netnames) found and translate them. */
nnodes = numnodes(c->li_line, subs, modnames);
@ -1261,14 +1267,15 @@ translate(struct line *deck, char *formal, char *actual, char *scname, const cha
t = gettrans(name, NULL);
if (t) { /* the netname was used during the invocation; print it into the buffer */
bxx_printf(&buffer, "%s ", t);
bxx_printf(&buffer, "%s", t);
} else {
/* net netname was not used during the invocation; place a
* translated name into the buffer.
*/
bxx_printf(&buffer, "%s.%s ", scname, name);
bxx_printf(&buffer, "%s.%s", scname, name);
}
tfree(name);
bxx_putc(&buffer, ' ');
} /* while (nnodes-- . . . . */
/* Now translate any devices (i.e. controlling sources).
@ -1285,11 +1292,12 @@ translate(struct line *deck, char *formal, char *actual, char *scname, const cha
ch = *name;
if (ch != 'x')
bxx_printf(&buffer, "%c.%s.%s ", ch, scname, name);
bxx_printf(&buffer, "%c.%s.%s", ch, scname, name);
else
bxx_printf(&buffer, "%s.%s ", scname, name);
bxx_printf(&buffer, "%s.%s", scname, name);
tfree(t);
bxx_putc(&buffer, ' ');
} /* while (nnodes--. . . . */
/* Now we finish off the line. For most components (R, C, etc),
@ -1746,11 +1754,12 @@ devmodtranslate(struct line *s, char *subname, wordlist * const orig_modnames)
wlsub = wl_find(name, orig_modnames);
if (!wlsub)
bxx_printf(&buffer, "%s ", name);
bxx_printf(&buffer, "%s", name);
else
bxx_printf(&buffer, "%s:%s ", subname, name);
bxx_printf(&buffer, "%s:%s", subname, name);
tfree(name);
bxx_putc(&buffer, ' ');
#ifdef TRACE
/* SDB debug statement */
@ -1782,10 +1791,11 @@ devmodtranslate(struct line *s, char *subname, wordlist * const orig_modnames)
wlsub = wl_find(name, orig_modnames);
if (!wlsub)
bxx_printf(&buffer, "%s ", name);
bxx_printf(&buffer, "%s", name);
else
bxx_printf(&buffer, "%s:%s ", subname, name);
bxx_printf(&buffer, "%s:%s", subname, name);
tfree(name);
bxx_putc(&buffer, ' ');
}
if (*t) {
@ -1793,10 +1803,11 @@ devmodtranslate(struct line *s, char *subname, wordlist * const orig_modnames)
wlsub = wl_find(name, orig_modnames);
if (!wlsub)
bxx_printf(&buffer, "%s ", name);
bxx_printf(&buffer, "%s", name);
else
bxx_printf(&buffer, "%s:%s ", subname, name);
bxx_printf(&buffer, "%s:%s", subname, name);
tfree(name);
bxx_putc(&buffer, ' ');
}
bxx_put_cstring(&buffer, t);
@ -1819,11 +1830,12 @@ devmodtranslate(struct line *s, char *subname, wordlist * const orig_modnames)
wlsub = wl_find(name, orig_modnames);
if (!wlsub)
bxx_printf(&buffer, "%s ", name);
bxx_printf(&buffer, "%s", name);
else
bxx_printf(&buffer, "%s:%s ", subname, name);
bxx_printf(&buffer, "%s:%s", subname, name);
tfree(name);
bxx_putc(&buffer, ' ');
bxx_put_cstring(&buffer, t);
tfree(s->li_line);
s->li_line = copy(bxx_buffer(&buffer));
@ -1851,11 +1863,12 @@ devmodtranslate(struct line *s, char *subname, wordlist * const orig_modnames)
wlsub = wl_find(name, orig_modnames);
if (!wlsub)
bxx_printf(&buffer, "%s ", name);
bxx_printf(&buffer, "%s", name);
else
bxx_printf(&buffer, "%s:%s ", subname, name);
bxx_printf(&buffer, "%s:%s", subname, name);
tfree(name);
bxx_putc(&buffer, ' ');
bxx_put_cstring(&buffer, t);
tfree(s->li_line);
s->li_line = copy(bxx_buffer(&buffer));
@ -1889,10 +1902,11 @@ devmodtranslate(struct line *s, char *subname, wordlist * const orig_modnames)
wlsub = wl_find(name, orig_modnames);
if (!wlsub)
bxx_printf(&buffer, "%s ", name);
bxx_printf(&buffer, "%s", name);
else
bxx_printf(&buffer, "%s:%s ", subname, name);
bxx_printf(&buffer, "%s:%s", subname, name);
bxx_putc(&buffer, ' ');
bxx_put_cstring(&buffer, t);
tfree(s->li_line);
s->li_line = copy(bxx_buffer(&buffer));
@ -1938,9 +1952,10 @@ devmodtranslate(struct line *s, char *subname, wordlist * const orig_modnames)
} /* while */
if (!found)
bxx_printf(&buffer, "%s ", name);
bxx_printf(&buffer, "%s", name);
else
bxx_printf(&buffer, "%s:%s ", subname, name);
bxx_printf(&buffer, "%s:%s", subname, name);
bxx_putc(&buffer, ' ');
bxx_put_cstring(&buffer, t);
tfree(s->li_line);
@ -1986,11 +2001,12 @@ devmodtranslate(struct line *s, char *subname, wordlist * const orig_modnames)
wlsub = wl_find(name, orig_modnames);
if (!wlsub) /* Fallback w/o subckt name before */
bxx_printf(&buffer, "%s ", name);
bxx_printf(&buffer, "%s", name);
else
bxx_printf(&buffer, "%s:%s ", subname, name);
bxx_printf(&buffer, "%s:%s", subname, name);
tfree(name);
bxx_putc(&buffer, ' ');
bxx_put_cstring(&buffer, t);
tfree(s->li_line);
@ -2022,11 +2038,12 @@ devmodtranslate(struct line *s, char *subname, wordlist * const orig_modnames)
wlsub = wl_find(name, orig_modnames);
if (!wlsub)
bxx_printf(&buffer, "%s ", name);
bxx_printf(&buffer, "%s", name);
else
bxx_printf(&buffer, "%s:%s ", subname, name);
bxx_printf(&buffer, "%s:%s", subname, name);
tfree(name);
bxx_putc(&buffer, ' ');
bxx_put_cstring(&buffer, t);
tfree(s->li_line);