def ct_af(announcement, tok): # <c>;af[,<des>]...[,<des>];<ty>[,<des>] # <c> # <data> answer item = announcement.split(";") number_of_elements = int(item[2].split(",")[0]) multi = commandrouter_misc_functions.length_of_typ(item[3].split(",")[0]) v_linelength.command[tok].append("n") v_linelength.command[tok].append(v_command_length.commandtokenlength + commandrouter_misc_functions.length_of_int(number_of_elements)) if multi[0] == "e": v_linelength.answer[tok].append("e") v_linelength.answer[tok].append(0) v_linelength.info[tok].append("e") v_linelength.info[tok].append(0) else: if multi[0] == "n": v_linelength.command[tok].append("m") v_linelength.command[tok].append(commandrouter_misc_functions.length_of_int(number_of_elements)) v_linelength.command[tok].append(commandrouter_misc_functions.length_of_int(number_of_elements)) v_linelength.command[tok].append(multi[1]) v_linelength.command[tok].append(0) v_linelength.command[tok].append(0) else: v_linelength.command[tok].append("t") v_linelength.command[tok].append(commandrouter_misc_functions.length_of_int(number_of_elements)) v_linelength.command[tok].append(commandrouter_misc_functions.length_of_int(number_of_elements)) v_linelength.command[tok].append(multi[1]) v_linelength.command[tok].append(0) v_linelength.command[tok].append(0) return
def ct_om(announcement, tok): # <c>;om[<,des>]...[,<des>]; <ty>[,<des>]... [,<des>];n_rows[,<des>]...[,<des>];[<n_cols[,<des>]...[,<des>]]... # <c><z><data> item = announcement.split(";") multi = commandrouter_misc_functions.length_of_typ(item[2].split(",")[0]) if multi[0] != "e": i = 3 positions = 1 while i < len(item): item1 = item[i].split(",") positions *= int(item1[0]) i += 1 positionlength = commandrouter_misc_functions.length_of_int(positions) if multi[0] == "n": v_linelength.command[tok].append("n") v_linelength.command[tok].append(v_command_length.commandtokenlength + positionlength + multi[1]) if multi[0] == "s": v_linelength.command[tok].append("s") v_linelength.command[tok].append(v_command_length.commandtokenlength + positionlength + multi[1]) v_linelength.command[tok].append(positionlength) v_linelength.command[tok].append(multi[1]) else: v_linelength.command[tok].append("e") v_linelength.command[tok].append(0) v_linelength.answer[tok].append("e") v_linelength.answer[tok].append(0) v_linelength.info[tok].append("e") v_linelength.info[tok].append(0) return
def ct_an(announcement, tok): # c>;an[<,des>]...[,<des>]; <ty>[,<des>]... [,<des>];n_rows[,<des>]...[,<des>];[<n_cols[,<des>]...[,<des>]]... # <z> # <data> answer item = announcement.split(";") multi = commandrouter_misc_functions.length_of_typ(item[2].split(",")[0]) # valid type found if multi[0] != "e": i = 3 positions = 1 while i < len(item): item1 = item[i].split(",") positions *= int(item1[0]) i += 1 # length for number of of elements and start positionlength = commandrouter_misc_functions.length_of_int(positions) v_linelength.command[tok].append("n") v_linelength.command[tok].append(v_command_length.commandtokenlength + 2 * positionlength) if multi[0] == "n": v_linelength.answer[tok].append("m") v_linelength.answer[tok].append(0) v_linelength.answer[tok].append(0) v_linelength.answer[tok].append(multi[1]) v_linelength.answer[tok].append(0) v_linelength.answer[tok].append(0) v_linelength.answer[tok].append(0) v_linelength.info[tok].append("m") v_linelength.info[tok].append(2 * positionlength) v_linelength.info[tok].append(positionlength) v_linelength.info[tok].append(multi[1]) v_linelength.info[tok].append(0) v_linelength.info[tok].append(0) v_linelength.info[tok].append(0) if multi[0] == "s": v_linelength.answer[tok].append("t") v_linelength.answer[tok].append(0) v_linelength.answer[tok].append(0) v_linelength.answer[tok].append(multi[1]) v_linelength.answer[tok].append(0) v_linelength.answer[tok].append(0) v_linelength.info[tok].append("t") v_linelength.info[tok].append(2 * positionlength) v_linelength.info[tok].append(positionlength) v_linelength.info[tok].append(multi[1]) v_linelength.info[tok].append(0) v_linelength.info[tok].append(0) else: v_linelength.answer[tok].append("e") v_linelength.answer[tok].append(0) v_linelength.command[tok].append("e") v_linelength.command[tok].append(0) v_linelength.info[tok].append("e") v_linelength.info[tok].append(0) return