Codebase list adms / 11ea4f1
remove BENCOMPATIBILITY and add support to variable array git-svn-id: https://mot-adms.svn.sourceforge.net/svnroot/mot-adms/trunk@1182 6a24e58b-241e-0410-9a82-9c1a24ee876d r29173 14 years ago
4 changed file(s) with 11 addition(s) and 42 deletion(s). Raw diff Collapse all Expand all
364364 </scalar>
365365 <scalar datatypefamily="basictype" name="vcount" datatypename="basicinteger" info="count in source assignment" default="0"/>
366366 <scalar datatypefamily="reference" name="vlast" datatypename="assignment" info="last assignment"/>
367 <list datatypefamily="reference" name="arraydefault" datatypename="adms" info="default value"/>
367368 <list datatypefamily="reference" name="attribute" datatypename="attribute" info="veriloga items"/>
368369 <list datatypefamily="basictype" name="alias" datatypename="basicstring" info="alias name"/>
369370 <list datatypefamily="reference" name="range" datatypename="range" info="list of ranges of the variable"/>
434434 char* myvalues=aprintf(mytransform,myrhs);
435435 admse mye=ns_strtoe(myvalues);
436436 ((p_valuetobasicenumeration)mylhs->_valueto)(mylhs->_previous->_item.p,mye);
437 if( BENCOMPATIBILITY==200
438 &&
439 ((mylhs->_previous->_pseudo==admse_variable)||(mylhs->_previous->_pseudo==admse_math&&mylhs->_previous->_previous->_pseudo==admse_variable))
440 &&(mylhs->_valueto==adms_math_valueto_dependency)
441 )
442 {
443 p_variable myvariable=(p_variable)mylhs->_previous->_item.p;
444 p_variableprototype myvariableprototype=myvariable->_prototype;
445 myvariableprototype->_dependency=mye;
446 }
447437 free(myvalues);
448438 }
449439 else if(mylhs->_pseudo==admse_basicinteger)
25902580 adms_message_info(("-xv: skipping version check\n"))
25912581 }
25922582 if((strlen(argv[i])==8)&&!strcmp(argv[i],"-compat2"))
2593 {
2594 BENCOMPATIBILITY=200;
2595 adms_message_warning(("setting backward compatibitily\n"))
2596 }
2583 adms_message_warning(("backward compat ignored\n"))
25972584 adms_slist_push(&root()->_argv,(p_adms)adms_kclone(argv[i]));
25982585 }
25992586 }
306306 $adms_h.="typedef struct s_slist t_slist;\n";
307307 $adms_h.="typedef t_slist* p_slist;\n";
308308 $adms_h.="win32_interface FILE *stdadmstdbgimpl;\n";
309 $adms_h.="win32_interface FILE *OUT(void);\n";
310309 $adms_h.="win32_interface FILE *stdadmstdbgimpl;\n";
311310 $adms_h.="#define stdadmstdbg (stdadmstdbgimpl?stdadmstdbgimpl:stderr)\n";
312311 $adms_h.="win32_interface int admsmain(const char*xcode,const char*xflag,const char*vacode);\n";
337336 }
338337 $adms_h.="\n/*-- Miscellaneous routines --*/\n";
339338 $adms_h.=q@
340 win32_interface int BENCOMPATIBILITY;
341339 win32_interface const double adms_dzero;
342340 win32_interface double adms_NAN;
343341 win32_interface p_admst aread (p_admst myadmst);
737735 my$adms_c;
738736 $adms_c.=$BUILDER;
739737 $adms_c.="#include \"adms.h\"\n";
740 $adms_c.="int BENCOMPATIBILITY=0;\n";
741738 $adms_c.="const double adms_dzero=0.0;\n";
742739 $adms_c.="double adms_NAN;\n";
743740 #enumeration to string
13931390 p_admst aread (p_admst myadmst)
13941391 {
13951392 p_admst myadmstread=(myadmst&&myadmst->_pseudo==admse__croix)?(p_admst)((p_attribute)myadmst->_item.p)->_value:myadmst;
1396 if(BENCOMPATIBILITY==200 && myadmstread)
1397 if(myadmstread->_previous)
1398 if(myadmst->_valueto)
1399 if(myadmstread->_valueto)
1400 if(myadmstread->_valueto==adms_math_valueto_dependency)
1401 {
1402 if(myadmstread->_previous->_pseudo==admse_variable)
1403 {
1404 p_variable myvariable=(p_variable)myadmstread->_previous->_item.p;
1405 p_variableprototype myvariableprototype=myvariable->_prototype;
1406 myadmstread=(myadmst&&myadmst->_pseudo==admse__croix)?(p_admst)((p_attribute)myadmst->_item.p)->_value:myadmst;
1407 myadmstread->_item.i=myvariable->_subexpression._math._dependency=myvariableprototype->_dependency;
1408 }
1409 else if(myadmstread->_previous->_pseudo==admse_math && myadmstread->_previous->_previous->_pseudo==admse_variable)
1410 {
1411 p_variable myvariable=(p_variable)myadmstread->_previous->_item.p;
1412 p_variableprototype myvariableprototype=myvariable->_prototype;
1413 myadmstread=(myadmst&&myadmst->_pseudo==admse__croix)?(p_admst)((p_attribute)myadmst->_item.p)->_value:myadmst;
1414 myadmstread->_item.i=myvariable->_subexpression._math._dependency=myvariableprototype->_dependency;
1415 }
1416 }
14171393 return myadmstread;
14181394 }
14191395 int adms_strtol (p_ktransform mytransform,const char* mynumber)
19301906 win32_interface p_slist globalfileoutputlist;
19311907 win32_interface int break_found;
19321908
1909 win32_interface FILE *OUT(void);
19331910 win32_interface int is_admst (const char* name);
19341911 win32_interface int apath_main (int argc,char **argv);
19351912 win32_interface void dbxx (p_transform mytransform);
28072784 char*myname=tsprintf(myadmst,mypath->_text);
28082785 p_slist list;
28092786 p_adms item=myadmst->_item.p;
2810 if(BENCOMPATIBILITY==200 && myadmst && (myadmst->_pseudo==admse_variable))
2811 item=(p_adms)((p_variable)myadmst->_item.p)->_prototype;
28122787 if(
28132788 (myadmst->_pseudo==admse_basicenumeration)
28142789 ||
29692944 p_admstvariable mydollar;
29702945 p_slist list;
29712946 p_adms item=myadmst->_item.p;
2972 if(BENCOMPATIBILITY==200 && myadmst && (myadmst->_pseudo==admse_variable))
2973 item=(p_adms)((p_variable)myadmst->_item.p)->_prototype;
29742947 list=item->_variable;
29752948 while(list)
29762949 {
674674 _ ((p_variableprototype)gVariableDeclarationList->data)->_default=((p_expression)YY($3));
675675 _ ((p_variableprototype)gVariableDeclarationList->data)->_range=adms_slist_reverse(gRangeList);
676676 _ gRangeList=NULL;
677 | R_s.variable.name '=' '{' R_l.expression '}' R_s.parameter.range
678 _ p_slist myArgs=(p_slist)YY($4);
679 _ adms_slist_inreverse(&myArgs);
680 _ ((p_variableprototype)gVariableDeclarationList->data)->_input=admse_yes;
681 _ ((p_variableprototype)gVariableDeclarationList->data)->_default=((p_expression)myArgs->data);
682 _ ((p_variableprototype)gVariableDeclarationList->data)->_arraydefault=myArgs;
683 _ ((p_variableprototype)gVariableDeclarationList->data)->_range=adms_slist_reverse(gRangeList);
684 _ gRangeList=NULL;
677685 ;
678686 R_s.variable.name
679687 | tk_ident