/* ------- code automatically created by ../scripts/xmlXpath.pl -------------- */ static inline p_admst adms_admst_semantic_root (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext) { p_admst mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,"/",adms_admst_enumeration_size_scalar); adms_admst_valueto_item(mynewadmst,adms_adms(adms_global_admsmain())); adms_slist_push(&myadmstpathevaluate->_alladmst,adms_adms(mynewadmst)); adms_message_dbg_xml((" s=root\n")) return mynewadmst; } static inline void adms_admst_semantic_quotedstring (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { char* myquotedstring_0=adms_admstpath_tostring(myadmstpathevaluate->_admsttransform,mycuradmst,mytext[0]); p_admst mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,myquotedstring_0,adms_admst_enumeration_size_scalar); adms_slist_push(mynewlocationptr,adms_adms(mynewadmst)); adms_admst_valueto_item(mynewadmst,adms_adms(adms_quark_new(myquotedstring_0))); free(myquotedstring_0); adms_message_dbg_xml((" s=quotedstring\n")) } static inline void adms_admst_semantic_id (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { char*myid=malloc(sizeof(char)*50); p_admst mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,"id()",adms_admst_enumeration_size_scalar); adms_slist_push(mynewlocationptr,adms_adms(mynewadmst)); sprintf(myid,"%p",adms_admst((mylocaladmstpathevaluate[0]->_admstasscalar)->data)->_item); adms_admst_valueto_item(mynewadmst,adms_adms(adms_quark_new(myid))); free(myid); adms_message_dbg_xml((" s=id\n")) } static inline void adms_admst_semantic_uid (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { char*myuid=adms_constclone(adms_admsxml_uid(adms_admst((mylocaladmstpathevaluate[0]->_admstasscalar)->data)->_item)); p_admst mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,"uid()",adms_admst_enumeration_size_scalar); adms_slist_push(mynewlocationptr,adms_adms(mynewadmst)); adms_admst_valueto_item(mynewadmst,adms_adms(adms_quark_new(myuid))); free(myuid); adms_message_dbg_xml((" s=uid\n")) } static inline void adms_admst_semantic_position (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { int nb=1; char*myposition=adms_integertostring(adms_slist_index(mycuradmst->_container,adms_adms(mycuradmst))+nb); p_admst mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,"positionMinus(.)",adms_admst_enumeration_size_scalar); adms_slist_push(mynewlocationptr,adms_adms(mynewadmst)); adms_admst_valueto_item(mynewadmst,adms_adms(adms_quark_new(myposition))); free(myposition); adms_message_dbg_xml((" s=position\n")) } static inline void adms_admst_semantic_positionplus (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { int nb=1+adms_strtol(mytext[0],myadmstpathevaluate->_admsttransform); char*myposition=adms_integertostring(adms_slist_index(mycuradmst->_container,adms_adms(mycuradmst))+nb); p_admst mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,"positionMinus(.)",adms_admst_enumeration_size_scalar); adms_slist_push(mynewlocationptr,adms_adms(mynewadmst)); adms_admst_valueto_item(mynewadmst,adms_adms(adms_quark_new(myposition))); free(myposition); adms_message_dbg_xml((" s=positionplus\n")) } static inline void adms_admst_semantic_positionminus (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { int nb=1-adms_strtol(mytext[0],myadmstpathevaluate->_admsttransform); char*myposition=adms_integertostring(adms_slist_index(mycuradmst->_container,adms_adms(mycuradmst))+nb); p_admst mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,"positionMinus(.)",adms_admst_enumeration_size_scalar); adms_slist_push(mynewlocationptr,adms_adms(mynewadmst)); adms_admst_valueto_item(mynewadmst,adms_adms(adms_quark_new(myposition))); free(myposition); adms_message_dbg_xml((" s=positionminus\n")) } static inline void adms_admst_semantic_count (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { int mycount; p_admst mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,"count(admstpath)",adms_admst_enumeration_size_scalar); adms_slist_push(mynewlocationptr,adms_adms(mynewadmst)); if((adms_slist_length(mylocaladmstpathevaluate[0]->_admstasscalar)==1) &&(adms_admst(mylocaladmstpathevaluate[0]->_admstasscalar->data)->_isrelative==adms_admst_enumeration_isrelative_yes)) mycount=adms_slist_length(adms_admst(mylocaladmstpathevaluate[0]->_admstasscalar->data)->_container); else mycount=adms_slist_length((mylocaladmstpathevaluate[0]->_admstasscalar)); adms_admst_valueto_item(mynewadmst,adms_adms(adms_integer_new(mycount))); adms_message_dbg_xml((" s=count\n")) } static inline void adms_admst_semantic_sort (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { p_slist myl0=adms_slist_sort(mylocaladmstpathevaluate[0]->_admstasscalar,myadmstpathevaluate->_admsttransform); for(;myl0;myl0=myl0->next) { p_admst mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,"sort(admstpath)",adms_admst_enumeration_size_scalar); adms_slist_push(mynewlocationptr,adms_adms(mynewadmst)); adms_admst_valueto_item(mynewadmst,adms_admst(myl0->data)->_item); } adms_slist_free(myl0); adms_message_dbg_xml((" s=sort\n")) } static inline void adms_admst_semantic_reverse (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { p_slist myl0=mylocaladmstpathevaluate[0]->_admstasscalar; myl0=adms_slist_reverse(myl0); for(;myl0;myl0=myl0->next) { p_admst mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,"sort(admstpath)",adms_admst_enumeration_size_scalar); adms_slist_push(mynewlocationptr,adms_adms(mynewadmst)); adms_admst_valueto_item(mynewadmst,adms_admst(myl0->data)->_item); } adms_slist_free(myl0); adms_message_dbg_xml((" s=reverse\n")) } static inline void adms_admst_semantic_number (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { adms_message_fatal_continue(("number(): not supported!\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmstpathevaluate->_admsttransform))) adms_message_dbg_xml((" s=number\n")) } static inline void adms_admst_semantic_string (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { adms_message_fatal_continue(("string(): not supported!\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmstpathevaluate->_admsttransform))) adms_message_dbg_xml((" s=string\n")) } static inline void adms_admst_semantic_upper_mcase (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { p_slist myl0=mylocaladmstpathevaluate[0]->_admstasscalar; for(;myl0;myl0=myl0->next) { p_admst mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,"upper-case()",adms_admst_enumeration_size_scalar); char*mystring=adms_admst_tostring(adms_admst(myl0->data)); char*mynewstring=adms_consttoupper(mystring); adms_slist_push(mynewlocationptr,adms_adms(mynewadmst)); adms_admst_valueto_item(mynewadmst,adms_adms(adms_quark_new(mynewstring))); free(mystring); free(mynewstring); } adms_slist_free(myl0); adms_message_dbg_xml((" s=upper_mcase\n")) } static inline void adms_admst_semantic_lower_mcase (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { p_slist myl0=mylocaladmstpathevaluate[0]->_admstasscalar; for(;myl0;myl0=myl0->next) { p_admst mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,"lower-case()",adms_admst_enumeration_size_scalar); char*mystring=adms_admst_tostring(adms_admst(myl0->data)); char*mynewstring=adms_consttolower(mystring); adms_slist_push(mynewlocationptr,adms_adms(mynewadmst)); adms_admst_valueto_item(mynewadmst,adms_adms(adms_quark_new(mynewstring))); free(mystring); free(mynewstring); } adms_slist_free(myl0); adms_message_dbg_xml((" s=lower_mcase\n")) } static inline void adms_admst_semantic_contains (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { adms_message_fatal_continue(("contains(): not supported!\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmstpathevaluate->_admsttransform))) adms_message_dbg_xml((" s=contains\n")) } static inline void adms_admst_semantic_index (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { p_slist myl1; for(myl1=(mylocaladmstpathevaluate[1]->_admstasscalar);myl1;myl1=myl1->next) { p_adms myadms1=myl1->data?adms_admst(myl1->data)->_item:NULL; p_slist myl0; int myindex=-1; int found=0; p_admst mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,"index(admstpath,admstpath)",adms_admst_enumeration_size_scalar); adms_slist_push(mynewlocationptr,adms_adms(mynewadmst)); for(myl0=(mylocaladmstpathevaluate[0]->_admstasscalar);myl0&&!found;myl0=myl0->next) { p_adms myadms0=myl0->data?adms_admst(myl0->data)->_item:NULL; found=(myadms0==myadms1); myindex++; } if(found) adms_admst_valueto_item(mynewadmst,adms_adms(adms_integer_new(myindex))); else adms_admst_valueto_item(mynewadmst,adms_adms(adms_integer_new(-1))); } adms_message_dbg_xml((" s=index\n")) } static inline void adms_admst_semantic_admst (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { p_admst mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,"admst(.)",adms_admst_enumeration_size_scalar); adms_slist_push(mynewlocationptr,adms_adms(mynewadmst)); adms_admst_valueto_item(mynewadmst,adms_adms(mycuradmst)); adms_message_dbg_xml((" s=admst\n")) } static inline void adms_admst_semantic_returned (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { p_instanceofadmsttransform myinstanceofadmsttransform=adms_admstpath_instanceofadmsttransform(myadmstpathevaluate->_admsttransform); char* myquotedstring_0=adms_admstpath_tostring(myadmstpathevaluate->_admsttransform,mycuradmst,mytext[0]); p_quark myquark=adms_quark_new(myquotedstring_0); p_attribute myattribute=adms_instanceofadmsttransform_list_return_lookup_by_id(myinstanceofadmsttransform,myquark); p_admst mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,"returned(.)",adms_admst_enumeration_size_scalar); adms_slist_push(mynewlocationptr,adms_adms(mynewadmst)); adms_quark_free(myquark); if(myattribute==NULL) { adms_message_fatal_continue(("returned('%s'): undefined returned value\n",myquotedstring_0)) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmstpathevaluate->_admsttransform))) } adms_admst_valueto_item(mynewadmst,adms_adms(myattribute)); free(myquotedstring_0); adms_message_dbg_xml((" s=returned\n")) } static inline void adms_admst_semantic_applytemplates (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { p_admsttransform mynewadmsttransform=adms_admstpath_admsttransform(myadmstpathevaluate->_admsttransform,mytext[0]); p_slist myl; p_instanceofadmsttransform myinstanceofadmsttransform=adms_instanceofadmsttransform_new(mynewadmsttransform); adms_slist_push(&adms_admsmain_valueof_instanceofadmsttransform(adms_global_admsmain()),adms_adms(myinstanceofadmsttransform)); for(myl=(mylocaladmstpathevaluate[0]->_admstasscalar);myl;myl=myl->next) { if(myl->data&&adms_admst(myl->data)->_item) { p_slist myl1; for(myl1=adms_admsttransform_valueof_children(mynewadmsttransform);myl1;myl1=myl1->next) adms_admsttransform_evaluate(adms_admsttransform(myl1->data),adms_admst(myl->data)); for(myl1=adms_instanceofadmsttransform_valueof_variable(myinstanceofadmsttransform);myl1;myl1=myl1->next) adms_admstvariable_free(adms_admstvariable(myl1->data)); } } adms_slist_pull(&adms_admsmain_valueof_instanceofadmsttransform(adms_global_admsmain())); for(myl=myinstanceofadmsttransform->_return;myl;myl=myl->next) { p_attribute myattribute=adms_attribute(myl->data); p_attribute mycloneattribute=adms_attribute_new(adms_quark_new(myattribute->_name->_value)); p_admst mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,"%()",adms_admst_enumeration_size_scalar); adms_slist_push(mynewlocationptr,adms_adms(mynewadmst)); if(adms_adms_valueof_datatypename(myattribute->_value)==adms_adms_enumeration_datatypename_quark) mycloneattribute->_value=adms_adms(adms_quark_new(adms_quark(myattribute->_value)->_value)); else mycloneattribute->_value=myattribute->_value; adms_admst_valueto_item(mynewadmst,adms_adms(mycloneattribute)); } adms_instanceofadmsttransform_free(myinstanceofadmsttransform); adms_message_dbg_xml((" s=applytemplates\n")) } static inline void adms_admst_semantic_ident (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { p_admst mynewadmst; /*backward compatibility and adms basic types*/ if((mycuradmst->_item)&&!strcmp(mytext[0],"absolute")) /*backward compatibility*/ { mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,mytext[0],adms_admst_enumeration_size_scalar); adms_admst_valueto_item(mynewadmst,mycuradmst->_item); } else if((mycuradmst->_item)&&!strcmp(mytext[0],"datatypefamily")) { int myvalue=0; mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,mytext[0],adms_admst_enumeration_size_scalar); adms_admst_valueto_item(mynewadmst,adms_adms(adms_integer_new(myvalue))); } else if((mycuradmst->_item)&&!strcmp(mytext[0],"datatypename")) { int myvalue=adms_adms_valueof_datatypename(mycuradmst->_item); mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,mytext[0],adms_admst_enumeration_size_scalar); adms_admst_valueto_item(mynewadmst,adms_adms(adms_integer_new(myvalue))); } else if((mycuradmst->_item)&&!strcmp(mytext[0],"seen")) { int myvalue=adms_adms_valueof_seen(adms_admst(mycuradmst->_item)); mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,mytext[0],adms_admst_enumeration_size_scalar); adms_admst_valueto_item(mynewadmst,adms_adms(adms_integer_new(myvalue))); } else if((mycuradmst->_item)&&(mycuradmst->_item->_datatypename==adms_adms_enumeration_datatypename_admst)&&!strcmp(mytext[0],"attributename")) { char*myvalue=adms_admst_valueof_attributename(adms_admst(mycuradmst->_item)); mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,mytext[0],adms_admst_enumeration_size_scalar); adms_admst_valueto_item(mynewadmst,adms_adms(adms_quark_new(myvalue))); } else if((mycuradmst->_item)&&(mycuradmst->_item->_datatypename==adms_adms_enumeration_datatypename_admst)&&!strcmp(mytext[0],"size")) { int myvalue=adms_admst_valueof_size(adms_admst(mycuradmst->_item)); mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,mytext[0],adms_admst_enumeration_size_scalar); adms_admst_valueto_item(mynewadmst,adms_adms(adms_integer_new(myvalue))); } else if((mycuradmst->_item)&&(mycuradmst->_item->_datatypename==adms_adms_enumeration_datatypename_admst)&&!strcmp(mytext[0],"isrelative")) { int myvalue=adms_admst_valueof_isrelative(adms_admst(mycuradmst->_item)); mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,mytext[0],adms_admst_enumeration_size_scalar); adms_admst_valueto_item(mynewadmst,adms_adms(adms_integer_new(myvalue))); } else if((mycuradmst->_item)&&(mycuradmst->_item->_datatypename==adms_adms_enumeration_datatypename_admst)&&!strcmp(mytext[0],"istrue")) { int myvalue=adms_admst_valueof_istrue(adms_admst(mycuradmst->_item)); mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,mytext[0],adms_admst_enumeration_size_scalar); adms_admst_valueto_item(mynewadmst,adms_adms(adms_integer_new(myvalue))); } else { mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,mytext[0],adms_admsxml_size(myadmstpathevaluate->_admsttransform,mycuradmst,mytext[0])); adms_admst_valueto_item(mynewadmst,adms_admsxml_valueof(mycuradmst,mynewadmst->_attributename)); } if(mynewadmst->_size==adms_admst_enumeration_size_list) { p_slist ll; adms_slist_push(&adms_admstpathevaluate_valueof_admstaslist(myadmstpathevaluate),adms_adms(mynewadmst)); adms_slist_push(&(myadmstpathevaluate->_alladmst),adms_adms(mynewadmst)); for(ll=(p_slist)adms_admst_valueof_item(mynewadmst);ll;ll=ll->next) { p_admst mynewadmstflatten=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,mytext[0],adms_admst_enumeration_size_scalar); adms_slist_push(mynewlocationptr,adms_adms(mynewadmstflatten)); adms_admst_valueto_item(mynewadmstflatten,ll->data); } } else adms_slist_push(mynewlocationptr,adms_adms(mynewadmst)); adms_message_dbg_xml((" s=ident\n")) } static inline void adms_admst_semantic_variable (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { p_admstvariable myadmstvariable=adms_admstpath_admstvariable(myadmstpathevaluate->_admsttransform,mytext[0]); p_slist ll; p_admst mynewpreviousadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,"admstvariable",adms_admst_enumeration_size_scalar); p_admst mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mynewpreviousadmst,"value",adms_admst_enumeration_size_list); adms_admst_valueto_item(mynewpreviousadmst,adms_adms(myadmstvariable)); adms_admst_valueto_item(mynewadmst,adms_adms(myadmstvariable->_value)); adms_slist_push(&adms_admstpathevaluate_valueof_admstaslist(myadmstpathevaluate),adms_adms(mynewadmst)); adms_slist_push(&(myadmstpathevaluate->_alladmst),adms_adms(mynewpreviousadmst)); adms_slist_push(&(myadmstpathevaluate->_alladmst),adms_adms(mynewadmst)); for(ll=adms_admstvariable_valueof_value(myadmstvariable);ll;ll=ll->next) { char* mydatatypename=adms_adms_tostring_datatypename_impl(myadmstpathevaluate->_admsttransform,ll->data->_datatypename); p_admst mynewadmstflatten=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,mydatatypename,adms_admst_enumeration_size_scalar); adms_slist_push(mynewlocationptr,adms_adms(mynewadmstflatten)); adms_admst_valueto_item(mynewadmstflatten,ll->data); } adms_message_dbg_xml((" s=variable\n")) } static inline void adms_admst_semantic_star (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { const char**myallattribute=adms_admsxml_allattribute(mycuradmst); for(;*myallattribute;myallattribute++) { p_admst mynewadmst=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,*myallattribute,adms_admsxml_size(myadmstpathevaluate->_admsttransform,mycuradmst,*myallattribute)); adms_admst_valueto_item(mynewadmst,adms_admsxml_valueof(mycuradmst,mynewadmst->_attributename)); if(mynewadmst->_size==adms_admst_enumeration_size_list) { p_slist ll; for(ll=(p_slist )adms_admst_valueof_item(mynewadmst);ll;ll=ll->next) { p_admst mynewadmstflatten=adms_admst_new(myadmstpathevaluate->_admsttransform,mycuradmst,*myallattribute,adms_admst_enumeration_size_scalar); adms_slist_push(mynewlocationptr,adms_adms(mynewadmstflatten)); adms_admst_valueto_item(mynewadmstflatten,ll->data); } } else adms_slist_push(mynewlocationptr,adms_adms(mynewadmst)); } adms_message_dbg_xml((" s=star\n")) } static inline void adms_admst_semantic_dot (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { adms_slist_push(mynewlocationptr,adms_adms(mycuradmst)); adms_admst_valueto_isrelative(mycuradmst,adms_admst_enumeration_isrelative_yes); mycuradmst->_istrue=adms_admst_enumeration_istrue_yes; adms_message_dbg_xml((" s=dot\n")) } static inline void adms_admst_semantic_dotdot (p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[],p_slist* mynewlocationptr) { adms_slist_push(mynewlocationptr,adms_adms(mycuradmst->_previous)); adms_admst_valueto_isrelative(mycuradmst->_previous,adms_admst_enumeration_isrelative_yes); mycuradmst->_previous->_istrue=adms_admst_enumeration_istrue_yes; adms_message_dbg_xml((" s=dotdot\n")) } static inline p_slist adms_admst_semantic_postcondition (p_admstpathevaluate myadmstpathevaluate,p_slist mynewlocation,char**mytext) { p_slist selectedadmst=NULL; p_slist dummyl; for(dummyl=mynewlocation;dummyl;dummyl=dummyl->next) { p_admst myadmst=adms_admst(dummyl->data); if(myadmst->_istrue==adms_admst_enumeration_istrue_yes) { adms_slist_push(&selectedadmst,adms_adms(myadmst)); if(myadmst->_isrelative==adms_admst_enumeration_isrelative_no) adms_slist_push(&myadmstpathevaluate->_alladmst,adms_adms(myadmst)); } else if(myadmst->_isrelative==adms_admst_enumeration_isrelative_no) adms_admst_free(myadmst); } for(dummyl=selectedadmst;dummyl;dummyl=dummyl->next) { p_admst myadmst=adms_admst(dummyl->data); if(myadmst->_isrelative==adms_admst_enumeration_isrelative_no) adms_admst_valueto_container(myadmst,selectedadmst); } adms_slist_free(mynewlocation); return selectedadmst; adms_message_dbg_xml((" s=postcondition\n")) } static inline void adms_admst_semantic_nilled (p_admstpathevaluate myadmstpathevaluate,p_slist mylocation,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[]) { int myval=(mylocaladmstpathevaluate[0]->_admstasscalar==NULL) ||(mylocaladmstpathevaluate[0]->_admstasscalar->data==NULL) ||(adms_admst(mylocaladmstpathevaluate[0]->_admstasscalar->data)->_item==NULL); mycuradmst->_istrue=myval?adms_admst_enumeration_istrue_yes:adms_admst_enumeration_istrue_no; adms_message_dbg_xml((" s=nilled\n")) } static inline void adms_admst_semantic_not (p_admstpathevaluate myadmstpathevaluate,p_slist mylocation,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[]) { int myval=(mycuradmst->_istrue==adms_admst_enumeration_istrue_no); mycuradmst->_istrue=myval?adms_admst_enumeration_istrue_yes:adms_admst_enumeration_istrue_no; adms_message_dbg_xml((" s=not\n")) } static inline void adms_admst_semantic_isdefault (p_admstpathevaluate myadmstpathevaluate,p_slist mylocation,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[]) { int myval; p_adms myitem=adms_admsxml_valueof(mycuradmst,mytext[0]); if(myitem==NULL) { adms_message_fatal_continue(("%s: element is empty!\n",mytext[0])) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmstpathevaluate->_admsttransform))) } else if(myitem->_datatypename==adms_adms_enumeration_datatypename_enumeration) myval=adms_enumeration(myitem)->_value_isdefault; else if(myitem->_datatypename==adms_adms_enumeration_datatypename_quark) myval=adms_quark(myitem)->_value_isdefault; else myval=adms_admsxml_isdefault(mycuradmst,mytext[0]); mycuradmst->_istrue=myval?adms_admst_enumeration_istrue_yes:adms_admst_enumeration_istrue_no; adms_message_dbg_xml((" s=isdefault\n")) } static inline void adms_admst_semantic_true (p_admstpathevaluate myadmstpathevaluate,p_slist mylocation,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[]) { adms_admst_valueto_istrue(mycuradmst,adms_admst_enumeration_istrue_yes); adms_message_dbg_xml((" s=true\n")) } static inline void adms_admst_semantic_false (p_admstpathevaluate myadmstpathevaluate,p_slist mylocation,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[]) { adms_admst_valueto_istrue(mycuradmst,adms_admst_enumeration_istrue_no); adms_message_dbg_xml((" s=false\n")) } static inline void adms_admst_semantic_negate (p_admstpathevaluate myadmstpathevaluate,p_slist mylocation,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[]) { int myval=(mycuradmst->_istrue==adms_admst_enumeration_istrue_no); mycuradmst->_istrue=myval?adms_admst_enumeration_istrue_yes:adms_admst_enumeration_istrue_no; adms_message_dbg_xml((" s=negate\n")) } static inline void adms_admst_semantic_positionequalinteger (p_admstpathevaluate myadmstpathevaluate,p_slist mylocation,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[]) { int myrhs=adms_strtol(mytext[0],myadmstpathevaluate->_admsttransform); int mylhs; int myval; if(mycuradmst->_container) mylhs=adms_slist_index(mycuradmst->_container,adms_adms(mycuradmst))+1; else mylhs=adms_slist_length(mylocation)-adms_slist_index(mylocation,adms_adms(mycuradmst)); myval=(mylhs==myrhs); mycuradmst->_istrue=myval?adms_admst_enumeration_istrue_yes:adms_admst_enumeration_istrue_no; adms_message_dbg_xml((" s=positionequalinteger\n")) } static inline void adms_admst_semantic_dotequalroot (p_admstpathevaluate myadmstpathevaluate,p_slist mylocation,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[]) { p_adms myrhs=NULL; int myval; if((mylocaladmstpathevaluate[0]->_admstasscalar)&&(mylocaladmstpathevaluate[0]->_admstasscalar)->data) myrhs=adms_admst((mylocaladmstpathevaluate[0]->_admstasscalar)->data)->_item; if(mycuradmst->_item==NULL) myval=(myrhs==NULL); else if(adms_adms_valueof_datatypename(mycuradmst->_item)==adms_adms_enumeration_datatypename_quark) { e_adms_datatypename myrhsdatatypename=myrhs?adms_adms_valueof_datatypename(myrhs):adms_adms_enumeration_datatypename__empty; if(myrhsdatatypename==adms_adms_enumeration_datatypename_quark) myval=(!strcmp(adms_quark(myrhs)->_value,adms_quark(mycuradmst->_item)->_value)); else myval=(myrhs==mycuradmst->_item); } else myval=(myrhs==mycuradmst->_item); mycuradmst->_istrue=myval?adms_admst_enumeration_istrue_yes:adms_admst_enumeration_istrue_no; adms_message_dbg_xml((" s=dotequalroot\n")) } static inline void adms_admst_semantic_rootequalroot (p_admstpathevaluate myadmstpathevaluate,p_slist mylocation,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[]) { adms_message_fatal_continue(("rootequalroot(): not supported!\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmstpathevaluate->_admsttransform))) adms_message_dbg_xml((" s=rootequalroot\n")) } static inline void adms_admst_semantic_rootequalident (p_admstpathevaluate myadmstpathevaluate,p_slist mylocation,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[]) { p_adms myadms1=adms_admsxml_valueof(mycuradmst,mytext[0]); e_adms_datatypename mytype1=myadms1?adms_adms_valueof_datatypename(myadms1):adms_adms_enumeration_datatypename__empty; p_slist myl0; int myval=1; for(myl0=(mylocaladmstpathevaluate[0]->_admstasscalar);myl0&&myval;myl0=myl0->next) { p_adms myadms0=adms_admst(myl0->data)->_item; e_adms_datatypename mytype0=myadms0?adms_adms_valueof_datatypename(myadms0):adms_adms_enumeration_datatypename__empty; if(mytype0!=mytype1) myval=0; else if(mytype0==adms_adms_enumeration_datatypename__empty) {} else if(mytype0==adms_adms_enumeration_datatypename_quark) myval=!strcmp(adms_quark(myadms0)->_value,adms_quark(myadms1)->_value); else if(mytype0==adms_adms_enumeration_datatypename_enumeration) { char *myvalue0=((p_valuetostring)adms_enumeration(myadms0)->_tostring)(myadmstpathevaluate->_admsttransform,adms_enumeration(myadms0)); char *myvalue1=((p_valuetostring)adms_enumeration(myadms1)->_tostring)(myadmstpathevaluate->_admsttransform,adms_enumeration(myadms1)); myval=!strcmp(myvalue0,myvalue1); } else myval=(myadms0==myadms1); } mycuradmst->_istrue=myval?adms_admst_enumeration_istrue_yes:adms_admst_enumeration_istrue_no; adms_message_dbg_xml((" s=rootequalident\n")) } static inline void adms_admst_semantic_rootequalquotedstring (p_admstpathevaluate myadmstpathevaluate,p_slist mylocation,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[]) { /* backward compatibility: admstpathroot='%p' */ if(!strcmp(mytext[0],"%p")) { p_admst myadmst1=adms_pull_admst(myadmstpathevaluate->_admsttransform); p_adms myadms1=myadmst1->_item; e_adms_datatypename mytype1=myadms1?adms_adms_valueof_datatypename(myadms1):adms_adms_enumeration_datatypename__empty; p_slist myl0; int myval=1; for(myl0=(mylocaladmstpathevaluate[0]->_admstasscalar);myl0&&myval;myl0=myl0->next) { p_adms myadms0=adms_admst(myl0->data)->_item; e_adms_datatypename mytype0=myadms0?adms_adms_valueof_datatypename(myadms0):adms_adms_enumeration_datatypename__empty; if(mytype0!=mytype1) myval=0; else if(mytype0==adms_adms_enumeration_datatypename_quark) { char* myvalue0=adms_quark(myadms0)->_value; char* myvalue1=adms_quark(myadms1)->_value; myval=myval&&!strcmp(myvalue0,myvalue1); } else if(mytype0==adms_adms_enumeration_datatypename_enumeration) { char* myvalue0=((p_valuetostring)adms_enumeration(myadms0)->_tostring)(myadmstpathevaluate->_admsttransform,adms_enumeration(myadms0)); char* myvalue1=((p_valuetostring)adms_enumeration(myadms1)->_tostring)(myadmstpathevaluate->_admsttransform,adms_enumeration(myadms1)); myval=myval&&!strcmp(myvalue0,myvalue1); } else myval=myval&&(myadms0==myadms1); } mycuradmst->_istrue=myval?adms_admst_enumeration_istrue_yes:adms_admst_enumeration_istrue_no; } else { char*myquotedstring=adms_admstpath_tostring(myadmstpathevaluate->_admsttransform,mycuradmst,mytext[0]); p_slist myl0; int myval=1; for(myl0=(mylocaladmstpathevaluate[0]->_admstasscalar);myl0&&myval;myl0=myl0->next) { p_admst myadmst0=adms_admst(myl0->data); char *myattributename0=adms_admst_valueof_attributename(myadmst0); p_adms myadms0=myadmst0->_item; e_adms_datatypename mytype0=myadms0?adms_adms_valueof_datatypename(myadms0):adms_adms_enumeration_datatypename__empty; if(!strcmp(myattributename0,"datatypefamily")) {} if(!strcmp(myattributename0,"datatypename")) { int myinteger0=adms_integer(myadms0)->_value; int myinteger1=adms_adms_fromstring_datatypename_impl(myadmstpathevaluate->_admsttransform,mytext[0]); myval=(myinteger0==myinteger1); } else if(!strcmp(myattributename0,"seen")) { int myinteger0=adms_integer(myadms0)->_value; int myinteger1=adms_adms_fromstring_seen_impl(myadmstpathevaluate->_admsttransform,mytext[0]); myval=(myinteger0==myinteger1); } else if(mytype0==adms_adms_enumeration_datatypename_quark) myval=!strcmp(adms_quark(myadms0)->_value,myquotedstring); else if(mytype0==adms_adms_enumeration_datatypename_enumeration) { char *myvalue0=((p_valuetostring)adms_enumeration(myadms0)->_tostring)(myadmstpathevaluate->_admsttransform,adms_enumeration(myadms0)); myval=!strcmp(myvalue0,myquotedstring); } else myval=0; } mycuradmst->_istrue=myval?adms_admst_enumeration_istrue_yes:adms_admst_enumeration_istrue_no; } adms_message_dbg_xml((" s=rootequalquotedstring\n")) } static inline void adms_admst_semantic_rootequalinteger (p_admstpathevaluate myadmstpathevaluate,p_slist mylocation,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[]) { int myinteger1=adms_strtol(mytext[0],myadmstpathevaluate->_admsttransform); p_slist myl0; int myval=1; for(myl0=(mylocaladmstpathevaluate[0]->_admstasscalar);myl0&&myval;myl0=myl0->next) { p_adms myadms0=adms_admst(myl0->data)->_item; e_adms_datatypename mytype0=myadms0?adms_adms_valueof_datatypename(myadms0):adms_adms_enumeration_datatypename__empty; if(mytype0==adms_adms_enumeration_datatypename_integer) { int myinteger0=adms_integer(myadms0)->_value; myval=(myinteger0==myinteger1); } else if(mytype0==adms_adms_enumeration_datatypename_quark) { int myinteger0=adms_strtol(adms_quark(myadms0)->_value,myadmstpathevaluate->_admsttransform); myval=(myinteger0==myinteger1); } else if(mytype0==adms_adms_enumeration_datatypename_enumeration) { char *myvalue0=((p_valuetostring)adms_enumeration(myadms0)->_tostring)(myadmstpathevaluate->_admsttransform,adms_enumeration(myadms0)); int myinteger0=adms_strtol(myvalue0,myadmstpathevaluate->_admsttransform); myval=(myinteger0==myinteger1); } else myval=0; } mycuradmst->_istrue=myval?adms_admst_enumeration_istrue_yes:adms_admst_enumeration_istrue_no; adms_message_dbg_xml((" s=rootequalinteger\n")) } static inline void adms_admst_semantic_rootequalreal (p_admstpathevaluate myadmstpathevaluate,p_slist mylocation,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[]) { double myreal1=adms_strtod(mytext[0]); p_slist myl0; int myval=1; for(myl0=(mylocaladmstpathevaluate[0]->_admstasscalar);myl0&&myval;myl0=myl0->next) { p_adms myadms0=adms_admst(myl0->data)->_item; e_adms_datatypename mytype0=myadms0?adms_adms_valueof_datatypename(myadms0):adms_adms_enumeration_datatypename__empty; if(mytype0==adms_adms_enumeration_datatypename_real) { double myreal0=adms_real(myadms0)->_value; myval=((myreal0>=myreal1-1.0e-307)&&(myreal0<=myreal1+1.0e-307)); } else if(mytype0==adms_adms_enumeration_datatypename_quark) { double myreal0=adms_strtod(adms_quark(myadms0)->_value); myval=((myreal0>=myreal1-1.0e-307)&&(myreal0<=myreal1+1.0e-307)); } else if(mytype0==adms_adms_enumeration_datatypename_enumeration) { char *myvalue0=((p_valuetostring)adms_enumeration(myadms0)->_tostring)(myadmstpathevaluate->_admsttransform,adms_enumeration(myadms0)); double myreal0=adms_strtod(myvalue0); myval=((myreal0>=myreal1-1.0e-307)&&(myreal0<=myreal1+1.0e-307)); } else myval=0; } mycuradmst->_istrue=myval?adms_admst_enumeration_istrue_yes:adms_admst_enumeration_istrue_no; adms_message_dbg_xml((" s=rootequalreal\n")) } static inline void adms_admst_semantic_rootequalmreal (p_admstpathevaluate myadmstpathevaluate,p_slist mylocation,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[]) { double myreal1=-adms_strtod(mytext[0]); p_slist myl0; int myval=1; for(myl0=(mylocaladmstpathevaluate[0]->_admstasscalar);myl0&&myval;myl0=myl0->next) { p_adms myadms0=adms_admst(myl0->data)->_item; e_adms_datatypename mytype0=myadms0?adms_adms_valueof_datatypename(myadms0):adms_adms_enumeration_datatypename__empty; if(mytype0==adms_adms_enumeration_datatypename_real) { double myreal0=adms_real(myadms0)->_value; myval=((myreal0>=myreal1-1.0e-307)&&(myreal0<=myreal1+1.0e-307)); } else if(mytype0==adms_adms_enumeration_datatypename_quark) { double myreal0=adms_strtod(adms_quark(myadms0)->_value); myval=((myreal0>=myreal1-1.0e-307)&&(myreal0<=myreal1+1.0e-307)); } else if(mytype0==adms_adms_enumeration_datatypename_enumeration) { char *myvalue0=((p_valuetostring)adms_enumeration(myadms0)->_tostring)(myadmstpathevaluate->_admsttransform,adms_enumeration(myadms0)); double myreal0=adms_strtod(myvalue0); myval=((myreal0>=myreal1-1.0e-307)&&(myreal0<=myreal1+1.0e-307)); } else myval=0; } mycuradmst->_istrue=myval?adms_admst_enumeration_istrue_yes:adms_admst_enumeration_istrue_no; adms_message_dbg_xml((" s=rootequalmreal\n")) } static inline void adms_admst_semantic_rootequalvariable (p_admstpathevaluate myadmstpathevaluate,p_slist mylocation,p_admst mycuradmst,char**mytext,p_admstpathevaluate mylocaladmstpathevaluate[]) { p_admstvariable myadmstvariable1=adms_admstvariable_lookup_or_die(mytext[0],myadmstpathevaluate->_admsttransform); p_slist myl1=myadmstvariable1->_value; p_slist myl0=mylocaladmstpathevaluate[0]->_admstasscalar; int myval=1; if(adms_slist_length(myl0)!=adms_slist_length(myl1)) myval=0; else { for(;myl0&&myval;myl0=myl0->next) { p_adms myadms0=adms_admst(myl0->data)->_item; e_adms_datatypename mytype0=myadms0?adms_adms_valueof_datatypename(myadms0):adms_adms_enumeration_datatypename__empty; p_adms myadms1=myl1->data; e_adms_datatypename mytype1=myadms1?adms_adms_valueof_datatypename(myadms1):adms_adms_enumeration_datatypename__empty; if(mytype0!=mytype1) myval=0; else if(mytype0==adms_adms_enumeration_datatypename_quark) { char* myvalue0=adms_quark(myadms0)->_value; char* myvalue1=adms_quark(myadms1)->_value; myval=myval&&!strcmp(myvalue0,myvalue1); } else if(mytype0==adms_adms_enumeration_datatypename_enumeration) { char* myvalue0=((p_valuetostring)adms_enumeration(myadms0)->_tostring)(myadmstpathevaluate->_admsttransform,adms_enumeration(myadms0)); char* myvalue1=((p_valuetostring)adms_enumeration(myadms1)->_tostring)(myadmstpathevaluate->_admsttransform,adms_enumeration(myadms1)); myval=myval&&!strcmp(myvalue0,myvalue1); } else myval=myval&&(myadms0==myadms1); myl1=myl1->next; } } mycuradmst->_istrue=myval?adms_admst_enumeration_istrue_yes:adms_admst_enumeration_istrue_no; adms_message_dbg_xml((" s=rootequalvariable\n")) } #define adms_admstpathparse_lookahead \ const char* mystringposition=adms_admstpathparser_valueof_stringposition(myadmstpathparser);\ e_admstpathparser_token mytoken=adms_admstpathparser_valueof_token(myadmstpathparser);\ const char* mytokenstrstart=adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser);\ int mytokenstrlen=adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser); #define adms_admstpathparse_reject \ {\ adms_admstpathparser_valueto_stringposition(myadmstpathparser,mystringposition);\ adms_admstpathparser_valueto_token(myadmstpathparser,mytoken);\ adms_admstpathparser_valueto_tokenstrstart(myadmstpathparser,mytokenstrstart);\ adms_admstpathparser_valueto_tokenstrlen(myadmstpathparser,mytokenstrlen);\ } static inline void adms_admstpathparse_donotreach (p_admstpathparser myadmstpathparser) { adms_message_fatal(("%s: %s: invalid admstpath expression\n", adms_admsttransform_uid(adms_admstpathparser_valueof_admsttransform(myadmstpathparser)), adms_quark_valueof_value(adms_admstpathparser_valueof_admstpath(myadmstpathparser)))) } static void adms_admstpathparse_lex(p_admstpathparser myadmstpathparser) { const char* t=adms_admstpathparser_valueof_stringposition(myadmstpathparser); const char* tstart; while(*t&&isspace(*t)) t++; tstart=t; if (0) {} else if(!strncmp(t,"/",1)) { t+=1; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_separator); } else if(!strncmp(t,"*",1)) { t+=1; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_star); } else if(!strncmp(t,"=",1)) { t+=1; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_equal); } else if(!strncmp(t,"+",1)) { t+=1; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_addp); } else if(!strncmp(t,"-",1)) { t+=1; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_addm); } else if(!strncmp(t,"!=",2)) { t+=2; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_notequal); } else if(!strncmp(t,"not",3)) { t+=3; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_not); } else if(!strncmp(t,"or",2)) { t+=2; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_or); } else if(!strncmp(t,"and",3)) { t+=3; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_and); } else if(!strncmp(t,"true",4)) { t+=4; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_true); } else if(!strncmp(t,"false",5)) { t+=5; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_false); } else if(!strncmp(t,"(",1)) { t+=1; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_openE); } else if(!strncmp(t,")",1)) { t+=1; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_closeE); } else if(!strncmp(t,"[",1)) { t+=1; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_openCond); } else if(!strncmp(t,"]",1)) { t+=1; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_closeCond); } else if(!strncmp(t,"..",2)) { t+=2; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_dotdot); } else if(!strncmp(t,".",1)) { t+=1; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_dot); } else if(!strncmp(t,",",1)) { t+=1; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_comma); } else if(!strncmp(t,"count",5)) { t+=5; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_count); } else if(!strncmp(t,"uid",3)) { t+=3; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_uid); } else if(!strncmp(t,"id",2)) { t+=2; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_id); } else if(!strncmp(t,"position",8)) { t+=8; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_position); } else if(!strncmp(t,"index",5)) { t+=5; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_index); } else if(!strncmp(t,"isdefault",9)) { t+=9; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_isdefault); } else if(!strncmp(t,"returned",8)) { t+=8; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_returned); } else if(!strncmp(t,"admst",5)) { t+=5; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_admst); } else if(!strncmp(t,"sort",4)) { t+=4; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_sort); } else if(!strncmp(t,"reverse",7)) { t+=7; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_reverse); } else if(!strncmp(t,"nilled",6)) { t+=6; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_nilled); } else if(!strncmp(t,"exists",6)) { t+=6; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_exists); } else if(!strncmp(t,"number",6)) { t+=6; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_number); } else if(!strncmp(t,"string",6)) { t+=6; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_string); } else if(!strncmp(t,"upper-case",10)) { t+=10; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_upper_mcase); } else if(!strncmp(t,"lower-case",10)) { t+=10; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_lower_mcase); } else if(!strncmp(t,"contains",8)) { t+=8; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_contains); } else if(isalpha(*t)) { while(isalnum(*t)||*t=='_') t++; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_ident); adms_admstpathparser_valueto_tokenstrstart(myadmstpathparser,tstart); adms_admstpathparser_valueto_tokenstrlen(myadmstpathparser,ADMS2INT(t-tstart)); } else if(*t=='$') { t++; if(*t=='(') { int hasParen=1; t++; while(hasParen&&*t) { if(*t==')') hasParen--; else if(*t=='(') hasParen++; if(hasParen) t++; } if(!hasParen) { adms_admstpathparser_valueto_tokenstrstart(myadmstpathparser,tstart+2); adms_admstpathparser_valueto_tokenstrlen(myadmstpathparser,ADMS2INT(t-(tstart+2))); t++; } else adms_message_fatal(("%s: admst variable name unterminated '%s'\n",adms_admsttransform_uid(myadmstpathparser->_admsttransform),myadmstpathparser->_admstpath->_value)) } else { while(isalnum(*t)||*t=='_') t++; adms_admstpathparser_valueto_tokenstrstart(myadmstpathparser,tstart+1); adms_admstpathparser_valueto_tokenstrlen(myadmstpathparser,ADMS2INT(t-(tstart+1))); } adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_variable); } else if(*t=='\'') { t++; while(*t&&*t!='\'') t++; if(*t) t++; else adms_message_fatal(("%s: quoted string unterminated '%s'\n",adms_admsttransform_uid(myadmstpathparser->_admsttransform),myadmstpathparser->_admstpath->_value)) adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_quotedstring); adms_admstpathparser_valueto_tokenstrstart(myadmstpathparser,tstart+1); adms_admstpathparser_valueto_tokenstrlen(myadmstpathparser,ADMS2INT(t-tstart-2)); } else if(*t=='\0') { adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_eos); } else if(isdigit(*t)) { while(isdigit(*t)) t++; if(*t=='.') { t++; while(isdigit(*t)) t++; adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_real); adms_admstpathparser_valueto_tokenstrstart(myadmstpathparser,tstart); adms_admstpathparser_valueto_tokenstrlen(myadmstpathparser,ADMS2INT(t-tstart)); } else { adms_admstpathparser_valueto_token(myadmstpathparser,adms_admstpathparser_enumeration_token_integer); adms_admstpathparser_valueto_tokenstrstart(myadmstpathparser,tstart); adms_admstpathparser_valueto_tokenstrlen(myadmstpathparser,ADMS2INT(t-tstart)); } } else { adms_message_fatal(("%s: invalid admstpath expression - unexpected string '%s'\n", adms_admsttransform_uid(adms_admstpathparser_valueof_admsttransform(myadmstpathparser)), adms_quark_valueof_value(adms_admstpathparser_valueof_admstpath(myadmstpathparser)))) } adms_admstpathparser_valueto_stringposition(myadmstpathparser,t); return; } #define _t_goto_parse(function) static p_slist (function) (p_admstpathparser myadmstpathparser) _t_goto_parse(parse_admstroot); _t_goto_parse(parse_admstpath); _t_goto_parse(parse_location); _t_goto_parse(parse_condition); _t_goto_parse(parse_expression); _t_goto_parse(parse_binary); _t_goto_parse(parse_unary); _t_goto_parse(parse_admstroot) { adms_admstpathparse_lookahead { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_separator) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_location(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if((mylc=parse_condition(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if((mylc=parse_admstpath(myadmstpathparser))) { adms_slist_concat(&myl,mylc); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("admstroot",1,mytext))); return myl; }}}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if((mylc=parse_location(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if((mylc=parse_condition(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if((mylc=parse_admstpath(myadmstpathparser))) { adms_slist_concat(&myl,mylc); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("admstroot",2,mytext))); return myl; }}} } adms_admstpathparse_reject adms_admstpathparse_donotreach(myadmstpathparser); return NULL; } _t_goto_parse(parse_admstpath) { adms_admstpathparse_lookahead { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_separator) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_location(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if((mylc=parse_condition(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if((mylc=parse_admstpath(myadmstpathparser))) { adms_slist_concat(&myl,mylc); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("admstpath",1,mytext))); return myl; }}}} } adms_admstpathparse_reject { char**mytext=malloc(sizeof(char*)); p_slist myl=NULL; mytext[0]=NULL; adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("admstpath",2,mytext))); return myl; } } _t_goto_parse(parse_location) { adms_admstpathparse_lookahead { p_slist myl=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_dot) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",1,mytext))); return myl; } } adms_admstpathparse_reject { p_slist myl=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_dotdot) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",2,mytext))); return myl; } } adms_admstpathparse_reject { p_slist myl=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_star) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",3,mytext))); return myl; } } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_ident) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",4,mytext))); return myl; }}}} } adms_admstpathparse_reject { p_slist myl=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_ident) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",5,mytext))); return myl; } } adms_admstpathparse_reject { p_slist myl=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_quotedstring) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",6,mytext))); return myl; } } adms_admstpathparse_reject { p_slist myl=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_variable) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",7,mytext))); return myl; } } adms_admstpathparse_reject { p_slist myl=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_admst) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_dot) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",8,mytext))); return myl; }}}} } adms_admstpathparse_reject { p_slist myl=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_returned) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_quotedstring) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",9,mytext))); return myl; }}}} } adms_admstpathparse_reject { p_slist myl=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_position) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_dot) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_addp) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_integer) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",10,mytext))); return myl; }}}}}} } adms_admstpathparse_reject { p_slist myl=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_position) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_dot) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_addm) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_integer) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",11,mytext))); return myl; }}}}}} } adms_admstpathparse_reject { p_slist myl=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_position) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_dot) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",12,mytext))); return myl; }}}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_id) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",13,mytext))); return myl; }}}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_uid) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",14,mytext))); return myl; }}}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_index) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_comma) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",15,mytext))); return myl; }}}}}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_sort) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",16,mytext))); return myl; }}}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_reverse) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",17,mytext))); return myl; }}}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_number) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",18,mytext))); return myl; }}}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_string) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",19,mytext))); return myl; }}}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_upper_mcase) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",20,mytext))); return myl; }}}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_lower_mcase) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",21,mytext))); return myl; }}}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_contains) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_comma) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",22,mytext))); return myl; }}}}}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_count) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",23,mytext))); return myl; }}}} } adms_admstpathparse_reject { char**mytext=malloc(sizeof(char*)); p_slist myl=NULL; mytext[0]=NULL; adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("location",24,mytext))); return myl; } } _t_goto_parse(parse_condition) { adms_admstpathparse_lookahead { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openCond) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_expression(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeCond) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("condition",1,mytext))); return myl; }}} } adms_admstpathparse_reject { char**mytext=malloc(sizeof(char*)); p_slist myl=NULL; mytext[0]=NULL; adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("condition",2,mytext))); return myl; } } _t_goto_parse(parse_expression) { adms_admstpathparse_lookahead { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if((mylc=parse_unary(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if((mylc=parse_binary(myadmstpathparser))) { adms_slist_concat(&myl,mylc); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("expression",1,mytext))); return myl; }} } adms_admstpathparse_reject adms_admstpathparse_donotreach(myadmstpathparser); return NULL; } _t_goto_parse(parse_binary) { adms_admstpathparse_lookahead { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_and) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_unary(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if((mylc=parse_binary(myadmstpathparser))) { adms_slist_concat(&myl,mylc); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("binary",1,mytext))); return myl; }}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_or) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_unary(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if((mylc=parse_binary(myadmstpathparser))) { adms_slist_concat(&myl,mylc); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("binary",2,mytext))); return myl; }}} } adms_admstpathparse_reject { char**mytext=malloc(sizeof(char*)); p_slist myl=NULL; mytext[0]=NULL; adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("binary",3,mytext))); return myl; } } _t_goto_parse(parse_unary) { adms_admstpathparse_lookahead { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_nilled) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",1,mytext))); return myl; }}}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_exists) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",2,mytext))); return myl; }}}} } adms_admstpathparse_reject { p_slist myl=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_isdefault) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_ident) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",3,mytext))); return myl; }}}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_not) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_expression(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",4,mytext))); return myl; }}}} } adms_admstpathparse_reject { p_slist myl=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_position) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_dot) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_equal) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_integer) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",5,mytext))); return myl; }}}}}} } adms_admstpathparse_reject { p_slist myl=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_position) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_dot) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_notequal) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_integer) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",6,mytext))); return myl; }}}}}} } adms_admstpathparse_reject { p_slist myl=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_true) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",7,mytext))); return myl; }}} } adms_admstpathparse_reject { p_slist myl=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_false) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",8,mytext))); return myl; }}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_openE) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_expression(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_closeE) { adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",9,mytext))); return myl; }}} } adms_admstpathparse_reject { p_slist myl=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_integer) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",10,mytext))); return myl; } } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((0+1)*sizeof(char*)); mytext[0]=NULL; if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_dot) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_equal) { adms_admstpathparse_lex(myadmstpathparser); if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",11,mytext))); return myl; }}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_equal) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_integer) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",12,mytext))); return myl; }}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_notequal) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_integer) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",13,mytext))); return myl; }}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_equal) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_real) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",14,mytext))); return myl; }}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_notequal) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_real) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",15,mytext))); return myl; }}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_equal) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_addm) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_real) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",16,mytext))); return myl; }}}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_notequal) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_addm) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_real) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",17,mytext))); return myl; }}}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_equal) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_addp) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_real) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",18,mytext))); return myl; }}}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_notequal) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_addp) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_real) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",19,mytext))); return myl; }}}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_equal) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_ident) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",20,mytext))); return myl; }}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_notequal) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_ident) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",21,mytext))); return myl; }}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_equal) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_quotedstring) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",22,mytext))); return myl; }}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_notequal) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_quotedstring) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",23,mytext))); return myl; }}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_equal) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_variable) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",24,mytext))); return myl; }}} } adms_admstpathparse_reject { p_slist myl=NULL; p_slist mylc=NULL; char**mytext=malloc((1+1)*sizeof(char*)); mytext[1]=NULL; if((mylc=parse_admstroot(myadmstpathparser))) { adms_slist_concat(&myl,mylc); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_notequal) { adms_admstpathparse_lex(myadmstpathparser); if(adms_admstpathparser_valueof_token(myadmstpathparser)==adms_admstpathparser_enumeration_token_variable) { mytext[0]=adms_constnclone(adms_admstpathparser_valueof_tokenstrstart(myadmstpathparser),adms_admstpathparser_valueof_tokenstrlen(myadmstpathparser)); adms_admstpathparse_lex(myadmstpathparser); adms_slist_push(&myl,adms_adms(adms_admstpathgoto_new("unary",25,mytext))); return myl; }}} } adms_admstpathparse_reject adms_admstpathparse_donotreach(myadmstpathparser); return NULL; } /*admstpathevaluate*/ #define _t_goto_evaluate_local(function) inline p_admstpathevaluate (function)(p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst) #define _t_goto_evaluate(function) inline void (function)(p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst) #define _t_goto_evaluate_location(function) inline void (function)(p_admstpathevaluate myadmstpathevaluate,p_admst mycuradmst,p_slist *mynewlocationptr) #define _t_goto_evaluate_binary(function) inline void (function) (p_admstpathevaluate myadmstpathevaluate,p_slist mylocation,p_admst mycuradmst) _t_goto_evaluate(admstpathevaluate_admstroot); _t_goto_evaluate_local(admstpathevaluate_local_admstroot); _t_goto_evaluate(admstpathevaluate_admstpath); _t_goto_evaluate_location(admstpathevaluate_location); _t_goto_evaluate_binary(admstpathevaluate_condition); _t_goto_evaluate_binary(admstpathevaluate_expression); _t_goto_evaluate_binary(admstpathevaluate_binary); _t_goto_evaluate_binary(admstpathevaluate_unary); #define _t_goto_evaluate_empty(function) static void (function)(p_admstpathevaluate myadmstpathevaluate) _t_goto_evaluate_empty(admstpathevaluate_admstroot_empty); _t_goto_evaluate_empty(admstpathevaluate_admstpath_empty); _t_goto_evaluate_empty(admstpathevaluate_location_empty); _t_goto_evaluate_empty(admstpathevaluate_condition_empty); _t_goto_evaluate_empty(admstpathevaluate_expression_empty); _t_goto_evaluate_empty(admstpathevaluate_binary_empty); _t_goto_evaluate_empty(admstpathevaluate_unary_empty); _t_goto_evaluate_empty(admstpathevaluate_admstroot_empty) { p_admstpathgoto myadmstpathgoto=adms_admstpathgoto((*(myadmstpathevaluate->_admstpathgotonode))->data); int mygotoindex=myadmstpathgoto->_gotoindex; adms_message_dbg_xml((" r=%s gotoindex=%i\n",myadmstpathgoto->_gotoname,mygotoindex)) *(myadmstpathevaluate->_admstpathgotonode)=(*(myadmstpathevaluate->_admstpathgotonode))->next; if(0) {} else if(mygotoindex==1) { admstpathevaluate_location_empty(myadmstpathevaluate); admstpathevaluate_condition_empty(myadmstpathevaluate); admstpathevaluate_admstpath_empty(myadmstpathevaluate); } else if(mygotoindex==2) { admstpathevaluate_location_empty(myadmstpathevaluate); admstpathevaluate_condition_empty(myadmstpathevaluate); admstpathevaluate_admstpath_empty(myadmstpathevaluate); } else { adms_message_fatal_continue(("program aborted at goto=admstroot(%s.%i) - pls contact developpers\n",myadmstpathgoto->_gotoname,mygotoindex)) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmstpathevaluate->_admsttransform))) } } _t_goto_evaluate_empty(admstpathevaluate_admstpath_empty) { p_admstpathgoto myadmstpathgoto=adms_admstpathgoto((*(myadmstpathevaluate->_admstpathgotonode))->data); int mygotoindex=myadmstpathgoto->_gotoindex; adms_message_dbg_xml((" r=%s gotoindex=%i\n",myadmstpathgoto->_gotoname,mygotoindex)) *(myadmstpathevaluate->_admstpathgotonode)=(*(myadmstpathevaluate->_admstpathgotonode))->next; if(0) {} else if(mygotoindex==1) { admstpathevaluate_location_empty(myadmstpathevaluate); admstpathevaluate_condition_empty(myadmstpathevaluate); admstpathevaluate_admstpath_empty(myadmstpathevaluate); } else if(mygotoindex==2) { } else { adms_message_fatal_continue(("program aborted at goto=admstpath(%s.%i) - pls contact developpers\n",myadmstpathgoto->_gotoname,mygotoindex)) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmstpathevaluate->_admsttransform))) } } _t_goto_evaluate_empty(admstpathevaluate_location_empty) { p_admstpathgoto myadmstpathgoto=adms_admstpathgoto((*(myadmstpathevaluate->_admstpathgotonode))->data); int mygotoindex=myadmstpathgoto->_gotoindex; adms_message_dbg_xml((" r=%s gotoindex=%i\n",myadmstpathgoto->_gotoname,mygotoindex)) *(myadmstpathevaluate->_admstpathgotonode)=(*(myadmstpathevaluate->_admstpathgotonode))->next; adms_admstpathevaluate_valueto_admstaslist(myadmstpathevaluate,NULL); if(0) {} else if(mygotoindex==1) { } else if(mygotoindex==2) { } else if(mygotoindex==3) { } else if(mygotoindex==4) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==5) { } else if(mygotoindex==6) { } else if(mygotoindex==7) { } else if(mygotoindex==8) { } else if(mygotoindex==9) { } else if(mygotoindex==10) { } else if(mygotoindex==11) { } else if(mygotoindex==12) { } else if(mygotoindex==13) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==14) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==15) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==16) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==17) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==18) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==19) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==20) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==21) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==22) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==23) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==24) { } else { adms_message_fatal_continue(("program aborted at goto=location(%s.%i) - pls contact developpers\n",myadmstpathgoto->_gotoname,mygotoindex)) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmstpathevaluate->_admsttransform))) } } _t_goto_evaluate_empty(admstpathevaluate_condition_empty) { p_admstpathgoto myadmstpathgoto=adms_admstpathgoto((*(myadmstpathevaluate->_admstpathgotonode))->data); int mygotoindex=myadmstpathgoto->_gotoindex; adms_message_dbg_xml((" r=%s gotoindex=%i\n",myadmstpathgoto->_gotoname,mygotoindex)) *(myadmstpathevaluate->_admstpathgotonode)=(*(myadmstpathevaluate->_admstpathgotonode))->next; if(0) {} else if(mygotoindex==1) { admstpathevaluate_expression_empty(myadmstpathevaluate); } else if(mygotoindex==2) { } else { adms_message_fatal_continue(("program aborted at goto=condition(%s.%i) - pls contact developpers\n",myadmstpathgoto->_gotoname,mygotoindex)) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmstpathevaluate->_admsttransform))) } } _t_goto_evaluate_empty(admstpathevaluate_expression_empty) { p_admstpathgoto myadmstpathgoto=adms_admstpathgoto((*(myadmstpathevaluate->_admstpathgotonode))->data); int mygotoindex=myadmstpathgoto->_gotoindex; adms_message_dbg_xml((" r=%s gotoindex=%i\n",myadmstpathgoto->_gotoname,mygotoindex)) *(myadmstpathevaluate->_admstpathgotonode)=(*(myadmstpathevaluate->_admstpathgotonode))->next; if(0) {} else if(mygotoindex==1) { admstpathevaluate_unary_empty(myadmstpathevaluate); admstpathevaluate_binary_empty(myadmstpathevaluate); } else { adms_message_fatal_continue(("program aborted at goto=expression(%s.%i) - pls contact developpers\n",myadmstpathgoto->_gotoname,mygotoindex)) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmstpathevaluate->_admsttransform))) } } _t_goto_evaluate_empty(admstpathevaluate_binary_empty) { p_admstpathgoto myadmstpathgoto=adms_admstpathgoto((*(myadmstpathevaluate->_admstpathgotonode))->data); int mygotoindex=myadmstpathgoto->_gotoindex; adms_message_dbg_xml((" r=%s gotoindex=%i\n",myadmstpathgoto->_gotoname,mygotoindex)) *(myadmstpathevaluate->_admstpathgotonode)=(*(myadmstpathevaluate->_admstpathgotonode))->next; if(0) {} else if(mygotoindex==1) { admstpathevaluate_unary_empty(myadmstpathevaluate); admstpathevaluate_binary_empty(myadmstpathevaluate); } else if(mygotoindex==2) { admstpathevaluate_unary_empty(myadmstpathevaluate); admstpathevaluate_binary_empty(myadmstpathevaluate); } else if(mygotoindex==3) { } else { adms_message_fatal_continue(("program aborted at goto=binary(%s.%i) - pls contact developpers\n",myadmstpathgoto->_gotoname,mygotoindex)) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmstpathevaluate->_admsttransform))) } } _t_goto_evaluate_empty(admstpathevaluate_unary_empty) { p_admstpathgoto myadmstpathgoto=adms_admstpathgoto((*(myadmstpathevaluate->_admstpathgotonode))->data); int mygotoindex=myadmstpathgoto->_gotoindex; adms_message_dbg_xml((" r=%s gotoindex=%i\n",myadmstpathgoto->_gotoname,mygotoindex)) *(myadmstpathevaluate->_admstpathgotonode)=(*(myadmstpathevaluate->_admstpathgotonode))->next; if(0) {} else if(mygotoindex==1) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==2) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==3) { } else if(mygotoindex==4) { admstpathevaluate_expression_empty(myadmstpathevaluate); } else if(mygotoindex==5) { } else if(mygotoindex==6) { } else if(mygotoindex==7) { } else if(mygotoindex==8) { } else if(mygotoindex==9) { admstpathevaluate_expression_empty(myadmstpathevaluate); } else if(mygotoindex==10) { } else if(mygotoindex==11) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==12) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==13) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==14) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==15) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==16) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==17) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==18) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==19) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==20) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==21) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==22) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==23) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==24) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else if(mygotoindex==25) { admstpathevaluate_admstroot_empty(myadmstpathevaluate); } else { adms_message_fatal_continue(("program aborted at goto=unary(%s.%i) - pls contact developpers\n",myadmstpathgoto->_gotoname,mygotoindex)) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmstpathevaluate->_admsttransform))) } } _t_goto_evaluate_local(admstpathevaluate_local_admstroot) { p_admstpathevaluate mynewadmstpathevaluate=adms_admstpathevaluate_new(myadmstpathevaluate->_admsttransform,myadmstpathevaluate->_admsttransformattribute); adms_admstpathevaluate_valueto_admstasscalar(mynewadmstpathevaluate,NULL); adms_admstpathevaluate_valueto_admstasscalarfixme(mynewadmstpathevaluate,NULL); adms_admstpathevaluate_valueto_admstaslist(mynewadmstpathevaluate,NULL); mynewadmstpathevaluate->_admstpathgotonode=myadmstpathevaluate->_admstpathgotonode; admstpathevaluate_admstroot(mynewadmstpathevaluate,mycuradmst); return mynewadmstpathevaluate; } inline void code1 (char**mytext,p_admstpathevaluate myadmstpathevaluate,p_admst mypreviousadmst) { p_slist mynewlocation=NULL; admstpathevaluate_location(myadmstpathevaluate,mypreviousadmst,&mynewlocation); if(mynewlocation==NULL) admstpathevaluate_condition_empty(myadmstpathevaluate); else { p_slist myadmstlist; p_slist myadmstpathgotonode=*(myadmstpathevaluate->_admstpathgotonode); for(myadmstlist=mynewlocation;myadmstlist;myadmstlist=myadmstlist->next) { p_admst myadmst=adms_admst(myadmstlist->data); *(myadmstpathevaluate->_admstpathgotonode)=myadmstpathgotonode; admstpathevaluate_condition(myadmstpathevaluate,mynewlocation,myadmst); } } mynewlocation=adms_admst_semantic_postcondition(myadmstpathevaluate,mynewlocation,mytext); if(mynewlocation==NULL) admstpathevaluate_admstpath_empty(myadmstpathevaluate); else { p_slist myadmstlist; p_slist myadmstpathgotonode=*(myadmstpathevaluate->_admstpathgotonode); p_admstpathgoto myadmstpathgoto=adms_admstpathgoto((*(myadmstpathevaluate->_admstpathgotonode))->data); int mygotoindex=myadmstpathgoto->_gotoindex; if(mygotoindex==1) adms_admstpathevaluate_valueto_admstaslist(myadmstpathevaluate,NULL); for(myadmstlist=mynewlocation;myadmstlist;myadmstlist=myadmstlist->next) { *(myadmstpathevaluate->_admstpathgotonode)=myadmstpathgotonode; admstpathevaluate_admstpath(myadmstpathevaluate,adms_admst(myadmstlist->data)); } adms_slist_concat(&myadmstpathevaluate->_admstasscalar,adms_slist_reverse(myadmstpathevaluate->_admstasscalarfixme)); adms_admstpathevaluate_valueto_admstasscalarfixme(myadmstpathevaluate,NULL); } } _t_goto_evaluate(admstpathevaluate_admstroot) { p_admstpathgoto myadmstpathgoto=adms_admstpathgoto((*(myadmstpathevaluate->_admstpathgotonode))->data); int mygotoindex=myadmstpathgoto->_gotoindex; adms_message_dbg_xml((" r=%s gotoindex=%i\n",myadmstpathgoto->_gotoname,mygotoindex)) *(myadmstpathevaluate->_admstpathgotonode)=(*(myadmstpathevaluate->_admstpathgotonode))->next; if(0) {} else if(mygotoindex==1) { mycuradmst=adms_admst_semantic_root(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text); code1(myadmstpathgoto->_text,myadmstpathevaluate,mycuradmst); } else if(mygotoindex==2) { code1(myadmstpathgoto->_text,myadmstpathevaluate,mycuradmst); } else { adms_message_fatal_continue(("program aborted at goto=admstroot(%s.%i) - pls contact developpers\n",myadmstpathgoto->_gotoname,mygotoindex)) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmstpathevaluate->_admsttransform))) } } _t_goto_evaluate(admstpathevaluate_admstpath) { p_admstpathgoto myadmstpathgoto=adms_admstpathgoto((*(myadmstpathevaluate->_admstpathgotonode))->data); int mygotoindex=myadmstpathgoto->_gotoindex; adms_message_dbg_xml((" r=%s gotoindex=%i\n",myadmstpathgoto->_gotoname,mygotoindex)) *(myadmstpathevaluate->_admstpathgotonode)=(*(myadmstpathevaluate->_admstpathgotonode))->next; if(0) {} else if(mygotoindex==1) { code1(myadmstpathgoto->_text,myadmstpathevaluate,mycuradmst); } else if(mygotoindex==2) { adms_slist_push(&myadmstpathevaluate->_admstasscalarfixme,adms_adms(mycuradmst)); } else { adms_message_fatal_continue(("program aborted at goto=admstpath(%s.%i) - pls contact developpers\n",myadmstpathgoto->_gotoname,mygotoindex)) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmstpathevaluate->_admsttransform))) } } _t_goto_evaluate_location(admstpathevaluate_location) { p_admstpathgoto myadmstpathgoto=adms_admstpathgoto((*(myadmstpathevaluate->_admstpathgotonode))->data); int mygotoindex=myadmstpathgoto->_gotoindex; adms_message_dbg_xml((" r=%s gotoindex=%i\n",myadmstpathgoto->_gotoname,mygotoindex)) *(myadmstpathevaluate->_admstpathgotonode)=(*(myadmstpathevaluate->_admstpathgotonode))->next; if(0) {} else if(mygotoindex==1) { adms_admst_semantic_dot(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,NULL,mynewlocationptr); } else if(mygotoindex==2) { adms_admst_semantic_dotdot(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,NULL,mynewlocationptr); } else if(mygotoindex==3) { adms_admst_semantic_star(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,NULL,mynewlocationptr); } else if(mygotoindex==4) { p_admstpathevaluate mylocaladmstpathevaluate[1]; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_applytemplates(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate,mynewlocationptr); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==5) { adms_admst_semantic_ident(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,NULL,mynewlocationptr); } else if(mygotoindex==6) { adms_admst_semantic_quotedstring(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,NULL,mynewlocationptr); } else if(mygotoindex==7) { adms_admst_semantic_variable(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,NULL,mynewlocationptr); } else if(mygotoindex==8) { adms_admst_semantic_admst(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,NULL,mynewlocationptr); } else if(mygotoindex==9) { adms_admst_semantic_returned(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,NULL,mynewlocationptr); } else if(mygotoindex==10) { adms_admst_semantic_positionplus(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,NULL,mynewlocationptr); } else if(mygotoindex==11) { adms_admst_semantic_positionminus(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,NULL,mynewlocationptr); } else if(mygotoindex==12) { adms_admst_semantic_position(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,NULL,mynewlocationptr); } else if(mygotoindex==13) { p_admstpathevaluate mylocaladmstpathevaluate[1]; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_id(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate,mynewlocationptr); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==14) { p_admstpathevaluate mylocaladmstpathevaluate[1]; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_uid(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate,mynewlocationptr); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==15) { p_admstpathevaluate mylocaladmstpathevaluate[2]; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); mylocaladmstpathevaluate[1]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_index(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate,mynewlocationptr); free_admstpathevaluate(mylocaladmstpathevaluate[0]); free_admstpathevaluate(mylocaladmstpathevaluate[1]); } else if(mygotoindex==16) { p_admstpathevaluate mylocaladmstpathevaluate[1]; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_sort(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate,mynewlocationptr); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==17) { p_admstpathevaluate mylocaladmstpathevaluate[1]; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_reverse(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate,mynewlocationptr); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==18) { p_admstpathevaluate mylocaladmstpathevaluate[1]; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_number(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate,mynewlocationptr); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==19) { p_admstpathevaluate mylocaladmstpathevaluate[1]; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_string(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate,mynewlocationptr); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==20) { p_admstpathevaluate mylocaladmstpathevaluate[1]; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_upper_mcase(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate,mynewlocationptr); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==21) { p_admstpathevaluate mylocaladmstpathevaluate[1]; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_lower_mcase(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate,mynewlocationptr); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==22) { p_admstpathevaluate mylocaladmstpathevaluate[2]; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); mylocaladmstpathevaluate[1]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_contains(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate,mynewlocationptr); free_admstpathevaluate(mylocaladmstpathevaluate[0]); free_admstpathevaluate(mylocaladmstpathevaluate[1]); } else if(mygotoindex==23) { p_admstpathevaluate mylocaladmstpathevaluate[1]; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_count(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate,mynewlocationptr); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==24) { adms_admst_semantic_dot(myadmstpathevaluate,mycuradmst,myadmstpathgoto->_text,NULL,mynewlocationptr); } else { adms_message_fatal_continue(("program aborted at goto=location(%s.%i) - pls contact developpers\n",myadmstpathgoto->_gotoname,mygotoindex)) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmstpathevaluate->_admsttransform))) } } _t_goto_evaluate_binary(admstpathevaluate_condition) { p_admstpathgoto myadmstpathgoto=adms_admstpathgoto((*(myadmstpathevaluate->_admstpathgotonode))->data); int mygotoindex=myadmstpathgoto->_gotoindex; adms_message_dbg_xml((" r=%s gotoindex=%i\n",myadmstpathgoto->_gotoname,mygotoindex)) *(myadmstpathevaluate->_admstpathgotonode)=(*(myadmstpathevaluate->_admstpathgotonode))->next; if(0) {} else if(mygotoindex==1) { admstpathevaluate_expression(myadmstpathevaluate,mylocation,mycuradmst); } else if(mygotoindex==2) { } else { adms_message_fatal_continue(("program aborted at goto=condition(%s.%i) - pls contact developpers\n",myadmstpathgoto->_gotoname,mygotoindex)) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmstpathevaluate->_admsttransform))) } } _t_goto_evaluate_binary(admstpathevaluate_expression) { p_admstpathgoto myadmstpathgoto=adms_admstpathgoto((*(myadmstpathevaluate->_admstpathgotonode))->data); int mygotoindex=myadmstpathgoto->_gotoindex; adms_message_dbg_xml((" r=%s gotoindex=%i\n",myadmstpathgoto->_gotoname,mygotoindex)) *(myadmstpathevaluate->_admstpathgotonode)=(*(myadmstpathevaluate->_admstpathgotonode))->next; if(0) {} else if(mygotoindex==1) { admstpathevaluate_unary(myadmstpathevaluate,mylocation,mycuradmst); admstpathevaluate_binary(myadmstpathevaluate,mylocation,mycuradmst); } else { adms_message_fatal_continue(("program aborted at goto=expression(%s.%i) - pls contact developpers\n",myadmstpathgoto->_gotoname,mygotoindex)) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmstpathevaluate->_admsttransform))) } } _t_goto_evaluate_binary(admstpathevaluate_binary) { p_admstpathgoto myadmstpathgoto=adms_admstpathgoto((*(myadmstpathevaluate->_admstpathgotonode))->data); int mygotoindex=myadmstpathgoto->_gotoindex; adms_message_dbg_xml((" r=%s gotoindex=%i\n",myadmstpathgoto->_gotoname,mygotoindex)) *(myadmstpathevaluate->_admstpathgotonode)=(*(myadmstpathevaluate->_admstpathgotonode))->next; if(0) {} else if(mygotoindex==1) { if(mycuradmst->_istrue==adms_admst_enumeration_istrue_yes) { admstpathevaluate_unary(myadmstpathevaluate,mylocation,mycuradmst); admstpathevaluate_binary(myadmstpathevaluate,mylocation,mycuradmst); } else { admstpathevaluate_unary_empty(myadmstpathevaluate); admstpathevaluate_binary_empty(myadmstpathevaluate); } } else if(mygotoindex==2) { if(mycuradmst->_istrue==adms_admst_enumeration_istrue_no) { admstpathevaluate_unary(myadmstpathevaluate,mylocation,mycuradmst); admstpathevaluate_binary(myadmstpathevaluate,mylocation,mycuradmst); } else { admstpathevaluate_unary_empty(myadmstpathevaluate); admstpathevaluate_binary_empty(myadmstpathevaluate); } } else if(mygotoindex==3) { } else { adms_message_fatal_continue(("program aborted at goto=binary(%s.%i) - pls contact developpers\n",myadmstpathgoto->_gotoname,mygotoindex)) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmstpathevaluate->_admsttransform))) } } _t_goto_evaluate_binary(admstpathevaluate_unary) { p_admstpathgoto myadmstpathgoto=adms_admstpathgoto((*(myadmstpathevaluate->_admstpathgotonode))->data); int mygotoindex=myadmstpathgoto->_gotoindex; adms_message_dbg_xml((" r=%s gotoindex=%i\n",myadmstpathgoto->_gotoname,mygotoindex)) *(myadmstpathevaluate->_admstpathgotonode)=(*(myadmstpathevaluate->_admstpathgotonode))->next; if(0) {} else if(mygotoindex==1) { p_admstpathevaluate mylocaladmstpathevaluate[1]; if(mycuradmst->_isrelative==adms_admst_enumeration_isrelative_no) mycuradmst->_container=mylocation;; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_nilled(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==2) { p_admstpathevaluate mylocaladmstpathevaluate[1]; if(mycuradmst->_isrelative==adms_admst_enumeration_isrelative_no) mycuradmst->_container=mylocation;; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_nilled(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); adms_admst_semantic_negate(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==3) { adms_admst_semantic_isdefault(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,NULL); } else if(mygotoindex==4) { admstpathevaluate_expression(myadmstpathevaluate,mylocation,mycuradmst); adms_admst_semantic_not(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,NULL); } else if(mygotoindex==5) { adms_admst_semantic_positionequalinteger(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,NULL); } else if(mygotoindex==6) { adms_admst_semantic_positionequalinteger(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,NULL); adms_admst_semantic_negate(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,NULL); } else if(mygotoindex==7) { adms_admst_semantic_true(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,NULL); } else if(mygotoindex==8) { adms_admst_semantic_false(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,NULL); } else if(mygotoindex==9) { admstpathevaluate_expression(myadmstpathevaluate,mylocation,mycuradmst); } else if(mygotoindex==10) { adms_admst_semantic_positionequalinteger(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,NULL); } else if(mygotoindex==11) { p_admstpathevaluate mylocaladmstpathevaluate[1]; if(mycuradmst->_isrelative==adms_admst_enumeration_isrelative_no) mycuradmst->_container=mylocation;; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_dotequalroot(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==12) { p_admstpathevaluate mylocaladmstpathevaluate[1]; if(mycuradmst->_isrelative==adms_admst_enumeration_isrelative_no) mycuradmst->_container=mylocation;; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_rootequalinteger(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==13) { p_admstpathevaluate mylocaladmstpathevaluate[1]; if(mycuradmst->_isrelative==adms_admst_enumeration_isrelative_no) mycuradmst->_container=mylocation;; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_rootequalinteger(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); adms_admst_semantic_negate(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==14) { p_admstpathevaluate mylocaladmstpathevaluate[1]; if(mycuradmst->_isrelative==adms_admst_enumeration_isrelative_no) mycuradmst->_container=mylocation;; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_rootequalreal(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==15) { p_admstpathevaluate mylocaladmstpathevaluate[1]; if(mycuradmst->_isrelative==adms_admst_enumeration_isrelative_no) mycuradmst->_container=mylocation;; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_rootequalreal(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); adms_admst_semantic_negate(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==16) { p_admstpathevaluate mylocaladmstpathevaluate[1]; if(mycuradmst->_isrelative==adms_admst_enumeration_isrelative_no) mycuradmst->_container=mylocation;; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_rootequalmreal(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==17) { p_admstpathevaluate mylocaladmstpathevaluate[1]; if(mycuradmst->_isrelative==adms_admst_enumeration_isrelative_no) mycuradmst->_container=mylocation;; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_rootequalmreal(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); adms_admst_semantic_negate(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==18) { p_admstpathevaluate mylocaladmstpathevaluate[1]; if(mycuradmst->_isrelative==adms_admst_enumeration_isrelative_no) mycuradmst->_container=mylocation;; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_rootequalreal(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==19) { p_admstpathevaluate mylocaladmstpathevaluate[1]; if(mycuradmst->_isrelative==adms_admst_enumeration_isrelative_no) mycuradmst->_container=mylocation;; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_rootequalreal(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); adms_admst_semantic_negate(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==20) { p_admstpathevaluate mylocaladmstpathevaluate[1]; if(mycuradmst->_isrelative==adms_admst_enumeration_isrelative_no) mycuradmst->_container=mylocation;; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_rootequalident(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==21) { p_admstpathevaluate mylocaladmstpathevaluate[1]; if(mycuradmst->_isrelative==adms_admst_enumeration_isrelative_no) mycuradmst->_container=mylocation;; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_rootequalident(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); adms_admst_semantic_negate(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==22) { p_admstpathevaluate mylocaladmstpathevaluate[1]; if(mycuradmst->_isrelative==adms_admst_enumeration_isrelative_no) mycuradmst->_container=mylocation;; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_rootequalquotedstring(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==23) { p_admstpathevaluate mylocaladmstpathevaluate[1]; if(mycuradmst->_isrelative==adms_admst_enumeration_isrelative_no) mycuradmst->_container=mylocation;; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_rootequalquotedstring(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); adms_admst_semantic_negate(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==24) { p_admstpathevaluate mylocaladmstpathevaluate[1]; if(mycuradmst->_isrelative==adms_admst_enumeration_isrelative_no) mycuradmst->_container=mylocation;; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_rootequalvariable(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else if(mygotoindex==25) { p_admstpathevaluate mylocaladmstpathevaluate[1]; if(mycuradmst->_isrelative==adms_admst_enumeration_isrelative_no) mycuradmst->_container=mylocation;; mylocaladmstpathevaluate[0]=admstpathevaluate_local_admstroot(myadmstpathevaluate,mycuradmst); adms_admst_semantic_rootequalvariable(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); adms_admst_semantic_negate(myadmstpathevaluate,mylocation,mycuradmst,myadmstpathgoto->_text,mylocaladmstpathevaluate); free_admstpathevaluate(mylocaladmstpathevaluate[0]); } else { adms_message_fatal_continue(("program aborted at goto=unary(%s.%i) - pls contact developpers\n",myadmstpathgoto->_gotoname,mygotoindex)) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmstpathevaluate->_admsttransform))) } }