/* Parse a "da branch" * @param tok input token * @param min_length minimal number of half moves * @param max_length maximal number of half moves * @param start index of entry into solving machinery * @param proxy index of branch; no_slice if branch couldn't be * parsed * @param level nesting level of the operand (0 means top level) * @return remainder of input token; 0 if parsing failed */ static char *ParseStructuredStip_branch_d(char *tok, stip_length_type min_length, stip_length_type max_length, slice_index start, slice_index proxy, unsigned int level) { TraceFunctionEntry(__func__); TraceFunctionParam("%u",min_length); TraceFunctionParam("%u",max_length); TraceFunctionParam("%s",tok); TraceFunctionParam("%u",start); TraceFunctionParam("%u",proxy); TraceFunctionParam("%u",level); TraceFunctionParamListEnd(); { slice_index const branch = ParseStructuredStip_make_branch_d(min_length, max_length); link_to_branch(proxy,battle_branch_make_postkeyplay(branch)); tok = ParseStructuredStip_branch_d_operand(tok,start,proxy,level); if (tok!=0 && tok[0]=='a') { tok = ParseStructuredStip_branch_a_operand(tok+1,start,proxy,level); if (tok!=0 && level==0) select_output_mode(proxy,output_mode_tree); } } TraceFunctionExit(__func__); TraceFunctionResult("%s",tok); TraceFunctionResultEnd(); return tok; }
static void attack_adapter_make_postkeyplay(slice_index adapter, stip_structure_traversal *st) { slice_index * const postkey = st->param; TraceFunctionEntry(__func__); TraceFunctionParam("%u",adapter); TraceFunctionParamListEnd(); *postkey = battle_branch_make_postkeyplay(adapter); TraceFunctionExit(__func__); TraceFunctionParamListEnd(); }