// // contained_ins.pp // // Walk the Ar_Vertex_list marking each successive vertex in the list as // being contained in the previous vertex's alternation reachable set. // Continue this until the end of the list. If doing this contradicts the // setting made by a previous pass then set the return value to 0 to // indicate that the tree property is violated. // *operation* int set_contained_ins() *init* (@ 1 @) *traverse* *from* Ar_Vertex_list *to* Ar_Vertex *carry* *inout* Vertex* k = (@ new Vertex(new DemIdent("")) @) *along* *from* Ar_Vertex_list *to* Ar_Vertex *wrapper* Ar_Vertex *prefix* (@ if (contained_in == NULL) { contained_in = k; } else if (!(contained_in->g_equal(k))) { return_val = 0; } k = v; @)