@@ -19,73 +19,73 @@ program dag_to_dot
1919 use iso_varying_string, only : var_str, varying_string
2020 implicit none
2121
22- enum, bind(C)
23- enumerator :: &
24- assert_m= 1 , dag_m, payload_m, compile_m, data_loc_map_m, task_m, task_item_m, app_m, app_generator_m, image_m, main, &
25- task_item_s, compile_s, app_generator_s, data_loc_map_s, payload_s, app_s, mailbox_m, image_s, final_task_m, final_task_s
26- end enum
22+ character (len=* ), parameter :: longest_name = " app_generator_m"
23+ character (len= len (longest_name)), parameter :: names(* ) = &
24+ [character (len= len (longest_name)) :: &
25+ " assert_m" , " dag_m" , " payload_m" , " compile_m" , " data_loc_map_m" , " task_m" , " task_item_m" , " app_m" , " app_generator_m" &
26+ ," image_m" , " main" , " task_item_s" , " compile_s" , " app_generator_s" , " data_loc_map_s" , " payload_s" , " app_s" , " mailbox_m" &
27+ ," image_s" , " final_task_m" , " final_task_s" &
28+ ]
29+ associate( &
30+ assert_m = > findloc(names, " assert_m" , dim= 1 ) &
31+ ,dag_m = > findloc(names, " dag_m" , dim= 1 ) &
32+ ,payload_m = > findloc(names, " payload_m" , dim= 1 ) &
33+ ,compile_m = > findloc(names, " compile_m" , dim= 1 ) &
34+ ,data_loc_map_m = > findloc(names, " data_loc_map_m" , dim= 1 ) &
35+ ,task_m = > findloc(names, " task_m" , dim= 1 ) &
36+ ,task_item_m = > findloc(names, " task_item_m" , dim= 1 ) &
37+ ,app_m = > findloc(names, " app_m" , dim= 1 ) &
38+ ,app_generator_m = > findloc(names, " app_generator_m" , dim= 1 ) &
39+ ,image_m = > findloc(names, " image_m" , dim= 1 ) &
40+ ,main = > findloc(names, " main" , dim= 1 ) &
41+ ,task_item_s = > findloc(names, " task_item_s" , dim= 1 ) &
42+ ,compile_s = > findloc(names, " compile_s" , dim= 1 ) &
43+ ,app_generator_s = > findloc(names, " app_generator_s" , dim= 1 ) &
44+ ,data_loc_map_s = > findloc(names, " data_loc_map_s" , dim= 1 ) &
45+ ,payload_s = > findloc(names, " payload_s" , dim= 1 ) &
46+ ,app_s = > findloc(names, " app_s" , dim= 1 ) &
47+ ,mailbox_m = > findloc(names, " mailbox_m" , dim= 1 ) &
48+ ,image_s = > findloc(names, " image_s" , dim= 1 ) &
49+ ,final_task_m = > findloc(names, " final_task_m" , dim= 1 ) &
50+ ,final_task_s = > findloc(names, " final_task_s" , dim= 1 ) &
51+ )
2752
28- integer , parameter :: num_vertices = size ([ &
29- assert_m, dag_m, payload_m, compile_m, data_loc_map_m, task_m, task_item_m, app_m, app_generator_m, image_m, main, &
30- task_item_s, compile_s, app_generator_s, data_loc_map_s, payload_s, app_s, mailbox_m, image_s , final_task_m, final_task_s &
31- ])
32-
33- type (varying_string) names(num_vertices)
34-
35- names(assert_m) = var_str(" assert_m" )
36- names(dag_m) = var_str(" dag_m" )
37- names(payload_m) = var_str(" payload_m" )
38- names(compile_m) = var_str(" compile_m" )
39- names(data_loc_map_m) = var_str(" data_loc_map_m" )
40- names(task_m) = var_str(" task_m" )
41- names(task_item_m) = var_str(" task_item_m" )
42- names(app_m) = var_str(" app_m" )
43- names(app_generator_m) = var_str(" app_generator_m" )
44- names(image_m) = var_str(" image_m" )
45- names(main) = var_str(" main" )
46- names(task_item_s) = var_str(" task_item_s" )
47- names(compile_s) = var_str(" compile_s" )
48- names(app_generator_s) = var_str(" app_generator_s" )
49- names(data_loc_map_s) = var_str(" data_loc_map_s" )
50- names(payload_s) = var_str(" payload_s" )
51- names(app_s) = var_str(" app_s" )
52- names(mailbox_m) = var_str(" mailbox_m" )
53- names(image_s) = var_str(" image_s" )
54- names(final_task_m) = var_str(" final_task_m" )
55- names(final_task_s) = var_str(" final_task_s" )
56-
5753 block
5854 character (len=* ), parameter :: external_ = ' shape=square,fillcolor="green",style=filled'
59- character (len=* ), parameter :: root = ' shape=circle,fillcolor="white",style=filled'
60- character (len=* ), parameter :: branch = ' shape=square,fillcolor="SlateGray1",style=filled'
61- character (len= len (branch)), parameter :: leaf = ' shape=circle,fillcolor="cornsilk",style=filled'
62-
63- associate(feats = > &
55+ character (len=* ), parameter :: root = ' shape=circle,fillcolor="white",style=filled'
56+ character (len=* ), parameter :: branch = ' shape=square,fillcolor="SlateGray1",style=filled'
57+ character (len= len (branch)), parameter :: leaf = ' shape=circle,fillcolor="cornsilk",style=filled'
58+ type (dag_t) feats
59+ type (varying_string) name_string(size (names))
60+
61+ name_string = var_str(names)
62+
63+ feats = &
6464 dag_t([ &
65- vertex_t([integer :: ], names (assert_m), var_str(external_)) &
66- ,vertex_t([integer :: ], names (dag_m), var_str(external_)) &
67- ,vertex_t([integer :: ], names (payload_m), var_str(leaf)) &
68- ,vertex_t([integer :: ], names (compile_m), var_str(leaf)) &
69- ,vertex_t([integer :: ], names (data_loc_map_m), var_str(leaf)) &
70- ,vertex_t([payload_m], names (task_m), var_str(branch)) &
71- ,vertex_t([task_m], names (task_item_m), var_str(leaf)) &
72- ,vertex_t([dag_m, task_item_m], names (app_m), var_str(branch)) &
73- ,vertex_t([app_m, dag_m, task_item_m, compile_m], names (app_generator_m), var_str(branch)) &
74- ,vertex_t([app_m, data_loc_map_m], names (image_m), var_str(branch)) &
75- ,vertex_t([app_generator_m, image_m], names (main), var_str(root)) &
76- ,vertex_t([task_item_m], names (task_item_s), var_str(root)) &
77- ,vertex_t([compile_m], names (compile_s), var_str(branch)) &
78- ,vertex_t([app_generator_m], names (app_generator_s), var_str(root)) &
79- ,vertex_t([data_loc_map_m], names (data_loc_map_s), var_str(root)) &
80- ,vertex_t([payload_m], names (payload_s), var_str(root)) &
81- ,vertex_t([app_m, assert_m], names (app_s), var_str(root)) &
82- ,vertex_t([payload_m], names (mailbox_m), var_str(branch)) &
83- ,vertex_t([image_m, mailbox_m], names (image_s), var_str(root)) &
84- ,vertex_t([data_loc_map_m, payload_m, task_m], names (final_task_m), var_str(branch)) &
85- ,vertex_t([final_task_m], names (final_task_s), var_str(root)) &
86- ]))
65+ vertex_t([integer :: ], name_string (assert_m), var_str(external_)) &
66+ ,vertex_t([integer :: ], name_string (dag_m), var_str(external_)) &
67+ ,vertex_t([integer :: ], name_string (payload_m), var_str(leaf) ) &
68+ ,vertex_t([integer :: ], name_string (compile_m), var_str(leaf) ) &
69+ ,vertex_t([integer :: ], name_string (data_loc_map_m), var_str(leaf) ) &
70+ ,vertex_t([payload_m], name_string (task_m), var_str(branch) ) &
71+ ,vertex_t([task_m], name_string (task_item_m), var_str(leaf) ) &
72+ ,vertex_t([dag_m, task_item_m], name_string (app_m), var_str(branch) ) &
73+ ,vertex_t([app_m, dag_m, task_item_m, compile_m], name_string (app_generator_m), var_str(branch) ) &
74+ ,vertex_t([app_m, data_loc_map_m], name_string (image_m), var_str(branch) ) &
75+ ,vertex_t([app_generator_m, image_m], name_string (main), var_str(root) ) &
76+ ,vertex_t([task_item_m], name_string (task_item_s), var_str(root) ) &
77+ ,vertex_t([compile_m], name_string (compile_s), var_str(branch) ) &
78+ ,vertex_t([app_generator_m], name_string (app_generator_s), var_str(root) ) &
79+ ,vertex_t([data_loc_map_m], name_string (data_loc_map_s), var_str(root) ) &
80+ ,vertex_t([payload_m], name_string (payload_s), var_str(root) ) &
81+ ,vertex_t([app_m, assert_m], name_string (app_s), var_str(root) ) &
82+ ,vertex_t([payload_m], name_string (mailbox_m), var_str(branch) ) &
83+ ,vertex_t([image_m, mailbox_m], name_string (image_s), var_str(root) ) &
84+ ,vertex_t([data_loc_map_m, payload_m, task_m], name_string (final_task_m), var_str(branch) ) &
85+ ,vertex_t([final_task_m], name_string (final_task_s), var_str(root) ) &
86+ ])
8787 print * , feats% graphviz_digraph()
88- end associate
8988 end block
89+ end associate
9090
9191end program
0 commit comments