SC_FUNC constvalue *state_add(const char *name,int fsa) { constvalue *ptr; int last; assert(strlen(name)<sizeof(ptr->name)); ptr=find_state(name,fsa,&last,NULL); if (ptr==NULL) { assert(fsa <= SHRT_MAX); ptr=append_constval(&sc_state_tab,name,(cell)(last+1),(short)fsa); } /* if */ return ptr; }
SC_FUNC constvalue *automaton_add(const char *name) { constvalue *ptr; int last; assert(strlen(name)<sizeof(ptr->name)); ptr=find_automaton(name,&last,NULL); if (ptr==NULL) { assert(last+1 <= SHRT_MAX); ptr=append_constval(&sc_automaton_tab,name,(cell)0,(short)(last+1)); } /* if */ return ptr; }
SC_FUNC constvalue *automaton_add(const char *name) { constvalue *ptr; int last; assert(strlen(name)<sizeof(ptr->name)); ptr=find_automaton(name,&last); if (ptr==NULL) { assert(last+1 <= SHRT_MAX); ptr=append_constval(&sc_automaton_tab,name,(cell)0,(short)(last+1)); /* for every new automaton, create an anonymous (invalid) state */ state_add("",last+1); } /* if */ return ptr; }