remove 'params:' from x and .subckt lines of input deck
This commit is contained in:
parent
94e9f07b90
commit
9bbf9bc549
|
|
@ -1,3 +1,7 @@
|
||||||
|
2011-12-25 Holger Vogt
|
||||||
|
* src/frontend/inpcom.c : remove 'params:' from X or .SUBCKT lines
|
||||||
|
of input deck (in fcn inp_fix_for_numparam())
|
||||||
|
|
||||||
2011-12-21 Holger Vogt
|
2011-12-21 Holger Vogt
|
||||||
* src/misc/string.c ,
|
* src/misc/string.c ,
|
||||||
src/frontend/inpcom.c ,
|
src/frontend/inpcom.c ,
|
||||||
|
|
|
||||||
|
|
@ -169,6 +169,7 @@ inp_readall(FILE *fp, struct line **data, int call_depth, char *dir_name, bool c
|
||||||
num_functions = 0;
|
num_functions = 0;
|
||||||
global = NULL;
|
global = NULL;
|
||||||
found_end = FALSE;
|
found_end = FALSE;
|
||||||
|
inp_compat_mode = ngspice_compat_mode() ;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* gtri - modify - 12/12/90 - wbk - read from mailbox if ipc enabled */
|
/* gtri - modify - 12/12/90 - wbk - read from mailbox if ipc enabled */
|
||||||
|
|
@ -674,6 +675,7 @@ inp_readall(FILE *fp, struct line **data, int call_depth, char *dir_name, bool c
|
||||||
inp_remove_excess_ws(working);
|
inp_remove_excess_ws(working);
|
||||||
|
|
||||||
if ( call_depth == 0 ) {
|
if ( call_depth == 0 ) {
|
||||||
|
|
||||||
comment_out_unused_subckt_models(working, line_number);
|
comment_out_unused_subckt_models(working, line_number);
|
||||||
|
|
||||||
line_number = inp_split_multi_param_lines(working, line_number);
|
line_number = inp_split_multi_param_lines(working, line_number);
|
||||||
|
|
@ -699,7 +701,7 @@ inp_readall(FILE *fp, struct line **data, int call_depth, char *dir_name, bool c
|
||||||
|
|
||||||
if (cp_getvar("addcontrol", CP_BOOL, NULL))
|
if (cp_getvar("addcontrol", CP_BOOL, NULL))
|
||||||
inp_add_control_section(working, &line_number);
|
inp_add_control_section(working, &line_number);
|
||||||
inp_compat_mode = ngspice_compat_mode() ;
|
|
||||||
if (inp_compat_mode == COMPATMODE_ALL) {
|
if (inp_compat_mode == COMPATMODE_ALL) {
|
||||||
/* Do all the compatibility stuff here */
|
/* Do all the compatibility stuff here */
|
||||||
working = cc->li_next;
|
working = cc->li_next;
|
||||||
|
|
@ -1138,10 +1140,11 @@ chk_for_line_continuation( char *line )
|
||||||
//
|
//
|
||||||
// change .macro --> .subckt
|
// change .macro --> .subckt
|
||||||
// .eom --> .ends
|
// .eom --> .ends
|
||||||
|
// .subckt name 1 2 3 params: w=9u l=180n --> .subckt name 1 2 3 w=9u l=180n
|
||||||
// .subckt name (1 2 3) --> .subckt name 1 2 3
|
// .subckt name (1 2 3) --> .subckt name 1 2 3
|
||||||
// x1 (1 2 3) --> x1 1 2 3
|
// x1 (1 2 3) --> x1 1 2 3
|
||||||
// .param func1(x,y) = {x*y} --> .func func1(x,y) {x*y}
|
// .param func1(x,y) = {x*y} --> .func func1(x,y) {x*y}
|
||||||
//
|
|
||||||
static void
|
static void
|
||||||
inp_fix_macro_param_func_paren_io( struct line *begin_card )
|
inp_fix_macro_param_func_paren_io( struct line *begin_card )
|
||||||
{
|
{
|
||||||
|
|
@ -1168,7 +1171,9 @@ inp_fix_macro_param_func_paren_io( struct line *begin_card )
|
||||||
tfree( card->li_line );
|
tfree( card->li_line );
|
||||||
card->li_line = new_str;
|
card->li_line = new_str;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ciprefix( ".subckt", card->li_line ) || ciprefix( "x", card->li_line ) ) {
|
if ( ciprefix( ".subckt", card->li_line ) || ciprefix( "x", card->li_line ) ) {
|
||||||
|
/* remove ( ) */
|
||||||
str_ptr = card->li_line;
|
str_ptr = card->li_line;
|
||||||
while( !isspace(*str_ptr) ) str_ptr++; // skip over .subckt, instance name
|
while( !isspace(*str_ptr) ) str_ptr++; // skip over .subckt, instance name
|
||||||
while( isspace(*str_ptr) ) str_ptr++;
|
while( isspace(*str_ptr) ) str_ptr++;
|
||||||
|
|
@ -2035,13 +2040,17 @@ inp_remove_ws( char *s )
|
||||||
|
|
||||||
/*
|
/*
|
||||||
change quotes from '' to {}
|
change quotes from '' to {}
|
||||||
modify .subckt lines by calling inp_fix_subckt()
|
.subckt name 1 2 3 params: l=1 w=2 --> .subckt name 1 2 3 l=1 w=2
|
||||||
|
x1 1 2 3 params: l=1 w=2 --> x1 1 2 3 l=1 w=2
|
||||||
|
modify .subckt lines by calling inp_fix_subckt()
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
inp_fix_for_numparam(struct line *deck)
|
inp_fix_for_numparam(struct line *deck)
|
||||||
{
|
{
|
||||||
bool found_control = FALSE;
|
bool found_control = FALSE;
|
||||||
struct line *c=deck;
|
struct line *c=deck;
|
||||||
|
char *str_ptr;
|
||||||
|
|
||||||
while( c!=NULL) {
|
while( c!=NULL) {
|
||||||
if ( ciprefix( ".modif", c->li_line ) ) *c->li_line = '*';
|
if ( ciprefix( ".modif", c->li_line ) ) *c->li_line = '*';
|
||||||
if ( ciprefix( "*lib", c->li_line ) ) {
|
if ( ciprefix( "*lib", c->li_line ) ) {
|
||||||
|
|
@ -2061,6 +2070,16 @@ inp_fix_for_numparam(struct line *deck)
|
||||||
if ( !ciprefix( "*lib", c->li_line ) && !ciprefix( "*inc", c->li_line ) )
|
if ( !ciprefix( "*lib", c->li_line ) && !ciprefix( "*inc", c->li_line ) )
|
||||||
inp_change_quotes(c->li_line);
|
inp_change_quotes(c->li_line);
|
||||||
|
|
||||||
|
if (inp_compat_mode == COMPATMODE_ALL) {
|
||||||
|
if ( ciprefix( ".subckt", c->li_line ) || ciprefix( "x", c->li_line ) ) {
|
||||||
|
/* remove params: */
|
||||||
|
str_ptr = strstr(c->li_line, "params:");
|
||||||
|
if (str_ptr) {
|
||||||
|
memcpy(str_ptr, " ", 7);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ( ciprefix( ".subckt", c->li_line ) ) {
|
if ( ciprefix( ".subckt", c->li_line ) ) {
|
||||||
c->li_line = inp_fix_subckt(c->li_line);
|
c->li_line = inp_fix_subckt(c->li_line);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue