Revision 5538b7ac
Added by Xavier Thirioux about 11 years ago
src/corelang.mli | ||
---|---|---|
97 | 97 |
mutable node_checks: Dimension.dim_expr list; |
98 | 98 |
node_asserts: assert_t list; |
99 | 99 |
node_eqs: eq list; |
100 |
node_dec_stateless: bool; |
|
100 |
mutable node_dec_stateless: bool;
|
|
101 | 101 |
mutable node_stateless: bool option; |
102 | 102 |
node_spec: LustreSpec.node_annot option; |
103 | 103 |
node_annot: LustreSpec.expr_annot option;} |
... | ... | |
153 | 153 |
| No_main_specified |
154 | 154 |
| Unbound_symbol of ident |
155 | 155 |
| Already_bound_symbol of ident |
156 |
| Stateful of ident |
|
157 | 156 |
|
158 | 157 |
exception Error of Location.t * error |
159 | 158 |
|
... | ... | |
175 | 174 |
val node_inputs: top_decl -> var_decl list |
176 | 175 |
val node_from_name: ident -> top_decl |
177 | 176 |
val is_generic_node: top_decl -> bool |
178 |
val check_stateless_node: top_decl -> bool |
|
179 | 177 |
val is_imported_node: top_decl -> bool |
180 | 178 |
|
181 | 179 |
val consts_table: (ident, const_desc) Hashtbl.t |
... | ... | |
207 | 205 |
|
208 | 206 |
val sort_handlers : (label * 'a) list -> (label * 'a) list |
209 | 207 |
|
210 |
val is_stateless_expr: expr -> bool |
|
211 | 208 |
val is_eq_expr: expr -> expr -> bool |
212 | 209 |
|
213 | 210 |
val pp_error : Format.formatter -> error -> unit |
Also available in: Unified diff
Added declaration/definition of stateless/stateful nodes.
The 'function' keyword is for stateless nodes only,
the 'node' keyword is any kind of node.
Improves compilation and paves the way for more optimizations.