// // ar_vertex_util.pp // // This file contains utility routines dealing with the use of Ar_Vertex and // Ar_Vertex_list objects. // Look up an Ar_Vertex by Vertex *operation* Ar_Vertex* ar_vertex_lookup(Vertex* lookup) *traverse* *from* Ar_Vertex_list *to* Ar_Vertex *wrapper* Ar_Vertex *prefix* (@ if (lookup->g_equal(v)) { return_val = this; } @) // Look up an alternation reachable set by Vertex *operation* Vertex_comma_list* ar_lookup(Vertex* lookup) *traverse* *from* Ar_Vertex_list *to* Ar_Vertex *wrapper* Ar_Vertex *prefix* (@ if (lookup->g_equal(v)) { return_val = ar; } @) // Set the alternation reachable set member by Vertex *operation* void ar_set(Vertex* lookup, Vertex_comma_list* ar_list) *traverse* *from* Ar_Vertex_list *to* Ar_Vertex *wrapper* Ar_Vertex *prefix* (@ if (lookup->g_equal(v)) { ar = ar_list; } @) // Extract the alternation reachable set from an Ar_Vertex *operation* Vertex_comma_list* get_ar_set() *init* (@ ar @) *traverse* *from* Ar_Vertex *to* Ar_Vertex