source: vis_dev/vl2mv-2.3/src/parser/vl_flowgraph.h @ 18

Last change on this file since 18 was 18, checked in by cecile, 13 years ago

vl2mv added

File size: 3.8 KB
Line 
1/*
2
3  Copyright (c) 1992, 1993
4        Regents of the University of California
5  All rights reserved.
6
7  Use and copying of this software and preparation of derivative works
8  based upon this software are permitted.  However, any distribution of
9  this software or derivative works must include the above copyright
10  notice.
11
12  This software is made available AS IS, and neither the Electronics
13  Research Laboratory or the Universify of California make any
14  warranty about the software, its performance or its conformity to
15  any specification.
16
17  Author: Szu-Tsung Cheng, stcheng@ic.Berkeley.EDU
18          10/92
19          10/93
20
21  $Header: /projects/development/hsv/CVSRepository/vl2mv/src/parser/vl_flowgraph.h,v 1.2 2009/03/09 20:25:58 fabio Exp $
22
23
24*/
25
26EXTERN graph_t *fg_new_graph ARGS(());
27
28
29EXTERN edge_t *fg_new_always_block ARGS(());
30EXTERN void fg_new_seq_block ARGS(());
31EXTERN vertex_t *fg_new_ifelse_block ARGS((vertex_t**, vertex_t**, vertex_t**, vertex_t**, vertex_t**, vertex_t**, vertex_t**, vertex_t**));
32EXTERN vertex_t *fg_new_case_block ARGS((vertex_t**, vertex_t**, vertex_t**, vertex_t**, vertex_t**, vertex_t**, vertex_t**, vertex_t**));
33EXTERN edge_t *fg_new_case_tag_block ARGS((vertex_t*, vertex_t*, vertex_t*, vertex_t*));
34
35
36EXTERN vertex_t *fg_new_pause_node ARGS(());
37EXTERN vertex_t *fg_new_assign_node ARGS(());
38
39
40EXTERN int fg_reduce_simple_branches_back_block ARGS((vertex_t*, vertex_t*, vertex_t*, vertex_t*));
41EXTERN edge_t *fg_closeloop ARGS(());
42EXTERN edge_t *fg_force_edge ARGS((vertex_t*, vertex_t*, vertex_t*, vertex_t*));
43
44
45EXTERN fg_graph_info *fg_new_graph_info ARGS(());
46EXTERN fg_graph_info *get_assoc_lc_name ARGS((char *loc, char *lc_name));
47EXTERN fg_node_info *fg_new_node_info ARGS((int));
48EXTERN fg_arc_info *fg_new_arc_info ARGS((int));
49EXTERN void fg_update_node_info ARGS((vertex_t*, char*));
50EXTERN void fg_update_arc_info ARGS((edge_t*, char*));
51
52
53EXTERN void fg_clean_vertex_data ARGS((gGeneric));
54EXTERN void fg_clean_edge_data ARGS((gGeneric));
55
56
57EXTERN vl_term *fg_write_lc_in_LabelSet ARGS((FILE*, st_table*, int));
58EXTERN vl_term *fg_write_if_priority_decoder ARGS((FILE*, vl_term*, vl_term*, vl_term*));
59EXTERN vl_term *fg_write_case_priority_decoder ARGS((FILE*, vl_term*, vl_term*, vl_term*, vl_term*));
60EXTERN void fg_if_collect_pause_rewrite_ctrl ARGS((FILE*, vertex_t*, vertex_t*, vl_term**));
61EXTERN void fg_put_loc_context ARGS((FILE *file, st_table *pre_cond, char *lc_name));
62EXTERN int fg_check_timer_consistency ARGS((FILE *file, graph_t *graph));
63EXTERN void fg_set_fg ARGS((graph_t *graph));
64
65EXTERN st_table* fg_assign_temporal_context ARGS((vertex_t*));
66
67
68EXTERN st_table* fg_graph_has_one_data_detector ARGS((graph_t*));
69EXTERN int fg_new_fg_id ARGS(());
70EXTERN void fg_set_fg_id ARGS((int id));
71EXTERN int fg_fg_id ARGS(());
72EXTERN void fg_associate_id_vars ARGS((int id, st_table *vars));
73EXTERN void fg_loop_collect_pause ARGS((FILE *file, vertex_t *src,
74                                        vertex_t *sink,
75                                        vl_term **dom_sel));
76EXTERN void fg_case_collect_pause_rewrite_ctrl ARGS((FILE *file,
77                                                     vertex_t *src,
78                                                     vertex_t *sink, 
79                                                     vl_term **spacial_ctrl,
80                                                     vl_term **temporal_ctrl));
81EXTERN void fg_write_timer ARGS((FILE *file, graph_t *graph));
82EXTERN vertex_t *fg_pseudo_sink ARGS(());
83EXTERN int fg_check_cyclic ARGS(());
84EXTERN void fg_clean_fg ARGS(());
85EXTERN int fg_not_empty ARGS(());
86EXTERN void fg_record_SrcSink ARGS((vertex_t **src, vertex_t **sink,
87                                    vertex_t **cmp_src, vertex_t **cmp_sink));
88EXTERN void fg_restore_SrcSink ARGS((vertex_t *src, vertex_t *sink,
89                                     vertex_t *cmp_src, vertex_t *cmp_sink));
90EXTERN vertex_t *fg_new_loop_block ARGS((vertex_t **old_srce,
91                                         vertex_t **old_sink,
92                                         vertex_t **new_src,
93                                         vertex_t **new_sink,
94                                         vertex_t **old_cmpsrc,
95                                         vertex_t **old_cmpsink,
96                                         vertex_t **new_cmpsrc,
97                                         vertex_t **new_cmpsink));
Note: See TracBrowser for help on using the repository browser.