<prologue>
(* <program> config:
 *
<command_loop><command_line_loop> * <command_data><end><end><back>
 *
 * Diagram[[id, sym-factor, {in ...}, {out ...}, {prop ...}, {vertex ...}]]
 * - in/out: F[["field", field-idx, vertex-idx, momentum]]
 * - prop:   P[["field", from-f-idx, to-f-idx, from-v-idx, to-v-idx, momentum]]
 * - vertex: V[[v-idx, "fields", f-idx-1, momentum-1, f-idx-2, momentum-2, ...]]
 *)
{
<diagram>
 Diagram[[(* ID *) Dia[["<in_loop><field><end>",
<back>"<out_loop><field><end>",<loops>,<diagram_index>]],
  (* F *) <sign><symmetry_factor>,
  (* I *) {<in_loop> F[["<field>",<field_index>,<vertex_index>,<momentum>]],
<back><end><back> },
  (* O *) {<out_loop> F[["<field>",<field_index>,<vertex_index>,<momentum>]],
<back><end><back> },
  (* P *) { <propagator_loop>
   P[["<field>", <dual-field_index>,<field_index>,
<back> <dual-vertex_index>,<vertex_index>, <momentum>]],
<back><end><back>
  },
  (* V *) {<vertex_loop>
   V[[<vertex_index>, "<ray_loop><field><end>",
<back><ray_loop> <field_index>,<momentum>,
<back><end><back>]],
<back><end><back>
  }
 ]],
<epilogue>
 Nothing
}
<exit>
