1 2import sys 3import re 4 5include = sys.argv[1] 6msg_basename = sys.argv[2] 7count = 1 8 9m = re.search(r'(.*\D)(\d+)$', sys.argv[2]) 10if m: 11 msg_basename = m.group(1) 12 count = int(m.group(2)) 13 14print(''' 15#include "{include}" 16 17char buf[1]; 18 19int main() {{ 20'''.format(include=include)) 21 22def RefMessage(name): 23 print(''' 24 {{ 25 {name} proto; 26 proto.ParseFromArray(buf, 0); 27 proto.SerializePartialToArray(&buf[0], 0); 28 }} 29 '''.format(name=name)) 30 31RefMessage(msg_basename) 32 33for i in range(2, count + 1): 34 RefMessage(msg_basename + str(i)) 35 36print(''' 37 return 0; 38}''') 39