PIPS
static_controlize-local.h
Go to the documentation of this file.
1 /*
2 
3  $Id: static_controlize-local.h 23065 2016-03-02 09:05:50Z coelho $
4 
5  Copyright 1989-2016 MINES ParisTech
6 
7  This file is part of PIPS.
8 
9  PIPS is free software: you can redistribute it and/or modify it
10  under the terms of the GNU General Public License as published by
11  the Free Software Foundation, either version 3 of the License, or
12  any later version.
13 
14  PIPS is distributed in the hope that it will be useful, but WITHOUT ANY
15  WARRANTY; without even the implied warranty of MERCHANTABILITY or
16  FITNESS FOR A PARTICULAR PURPOSE.
17 
18  See the GNU General Public License for more details.
19 
20  You should have received a copy of the GNU General Public License
21  along with PIPS. If not, see <http://www.gnu.org/licenses/>.
22 
23 */
24 #define STATIC_CONTROLIZE_MODULE_NAME "STATCON"
25 #define NLC_PREFIX "NLC"
26 #define NSP_PREFIX "NSP"
27 #define NUB_PREFIX "NUB"
28 
29 #define give_entity(n) gen_find_tabulated(make_entity_fullname( \
30  TOP_LEVEL_MODULE_NAME, n), entity_domain)
31 #define ENTITY_GE give_entity(GREATER_OR_EQUAL_OPERATOR_NAME)
32 #define ENTITY_GT give_entity(GREATER_THAN_OPERATOR_NAME)
33 #define ENTITY_LE give_entity(LESS_OR_EQUAL_OPERATOR_NAME)
34 #define ENTITY_LT give_entity(LESS_THAN_OPERATOR_NAME)
35 #define ENTITY_NOT give_entity(NOT_OPERATOR_NAME)
36 #define ENTITY_EQ give_entity(EQUAL_OPERATOR_NAME)
37 #define ENTITY_NE give_entity(NOT_EQUAL_OPERATOR_NAME)
38 #define ENTITY_OR give_entity(OR_OPERATOR_NAME)
39 #define ENTITY_AND give_entity(AND_OPERATOR_NAME)
40 
41 #define ENTITY_NLC_P(e) (strncmp(entity_local_name(e), NLC_PREFIX, 3) == 0)
42 #define ENTITY_NSP_P(e) (strncmp(entity_local_name(e), NSP_PREFIX, 3) == 0)
43 #define ENTITY_NUB_P(e) (strcmp(entity_local_name(e), NUB_PREFIX, 3) == 0)
44 #define ENTITY_SP_P(ent) \
45  (gen_find_eq(ent, Gstructure_parameters) != chunk_undefined)
46 #define ENTITY_STRICT_LOGICAL_OPERATOR_P(e) \
47  ( ENTITY_AND_P(e) || \
48  ENTITY_OR_P(e) || \
49  ENTITY_EQUIV_P(e) || \
50  ENTITY_NON_EQUIV_P(e) || \
51  ENTITY_NOT_P(e) )
52 
53 extern int Gcount_nlc;
54 extern int Gcount_nsp;
55 extern int Gcount_nub;
int Gcount_nlc
int Gcount_nsp
================================================================
int Gcount_nub