@@ -29,7 +29,7 @@ space : ' ' | '\t' | '\v' | '\f' | '\r' | '\n'
29
29
30
30
keyword:
31
31
void
32
- char, int, short, long, float, double, signed, unsigned, bool_t,
32
+ char, int, short, long, float, double, signed, unsigned, bool_t, _Bool
33
33
struct, enum, union,
34
34
vector_t, list_t, slist_t, deque_t, stack_t, queue_t, priority_queue_t,
35
35
set_t, map_t, multiset_t, multimap_t,
@@ -65,7 +65,7 @@ C_BUILTIN -> char | signed char |
65
65
long double |
66
66
char* |
67
67
void* |
68
- bool_t
68
+ bool_t | _Bool
69
69
USER_DEFINE -> USER_DEFINE_TYPE identifier | identifier
70
70
USER_DEFINE_TYPE -> struct | enum | union
71
71
CSTL_BUILTIN -> SEQUENCE | RELATION | string_t | ITERATOR
@@ -81,7 +81,7 @@ RELATION -> RELATION_NAME < TYPE_DESCRIPT , TYPE_DESCRIPT >
81
81
RELATION_NAME -> map_t | multimap_t | hash_map_t | hash_multimap_t | pair_t
82
82
========================================================================
83
83
C_BUILTIN -> SIMPLE_BUILTIN | SIGNED_BUILTIN | UNSIGNED_BUILTIN | POINTER_BUILTIN
84
- SIMPLE_BUILTIN -> char | short | short int | int | long | long int | bool_t
84
+ SIMPLE_BUILTIN -> char | short | short int | int | long | long int | bool_t | _Bool
85
85
float | double | long double
86
86
SIGNED_BUILTIN -> signed char |
87
87
signed short | signed short int |
@@ -97,7 +97,7 @@ POINTER_BUILTIN -> char * | void *
97
97
TYPE_DESCRIPT -> C_BUILTIN | USER_DEFINE | CSTL_BUILTIN
98
98
99
99
C_BUILTIN -> SIMPLE_BUILTIN | SIGNED_BUILTIN | UNSIGNED_BUILTIN | POINTER_BUILTIN
100
- SIMPLE_BUILTIN -> char POINTER_SUFFIX | short COMMON_SUFFIX | int | long SIMPLE_LONG_SUFFIX | float | double | bool_t
100
+ SIMPLE_BUILTIN -> char POINTER_SUFFIX | short COMMON_SUFFIX | int | long SIMPLE_LONG_SUFFIX | float | double | bool_t | _Bool
101
101
SIGNED_BUILTIN -> signed COMPLEX_SUFFIX
102
102
UNSIGNED_BUILTIN -> unsigned COMPLEX_SUFFIX
103
103
POINTER_BUILTIN -> void *
@@ -121,7 +121,7 @@ SEQUENCE_NAME -> vector_t | list_t | slist_t | deque_t | queue_t | stack_t | pri
121
121
RELATION -> RELATION_NAME < TYPE_DESCRIPT , TYPE_DESCRIPT >
122
122
RELATION_NAME -> map_t | multimap_t | hash_map_t | hash_multimap_t | pair_t
123
123
---------------------------------------------------------------------------
124
- first(TYPE_DESCRIPT) = {char, short, int, long, float, double, signed, unsigned, void, bool_t,
124
+ first(TYPE_DESCRIPT) = {char, short, int, long, float, double, signed, unsigned, void, bool_t, _Bool,
125
125
struct, enum, union, identifier,
126
126
vector_t, list_t, slist_t, deque_t, queue_t, stack_t, priority_queue_t,
127
127
set_t, map_t, multiset_t, multimap_t, hash_set_t, hash_map_t, hash_multiset_t,
@@ -132,8 +132,8 @@ first(TYPE_DESCRIPT) = {char, short, int, long, float, double, signed, unsigned,
132
132
string_iterator_t,
133
133
input_iterator_t, output_iterator_t, forward_iterator_t, bidirectional_iterator_t,
134
134
random_access_iterator_t}
135
- first(C_BUILTIN) = {char, short, int, long, float, double, signed, unsigned, void, bool_t}
136
- first(SIMPLE_BUILTIN) = {char, short, int, long, float, double, bool_t}
135
+ first(C_BUILTIN) = {char, short, int, long, float, double, signed, unsigned, void, bool_t, _Bool }
136
+ first(SIMPLE_BUILTIN) = {char, short, int, long, float, double, bool_t, _Bool }
137
137
first(SIGNED_BUILTIN) = {signed}
138
138
first(UNSIGNED_BUILTIN) = {unsigned}
139
139
first(POINTER_BUILTIN) = {void}
@@ -203,7 +203,7 @@ select(TYPE_DESCRIPT -> CSTL_BUILTIN) = {vector_t, list_t, slist_t, deque_t, que
203
203
input_iterator_t, output_iterator_t, forward_iterator_t, bidirectional_iterator_t,
204
204
random_access_iterator_t}
205
205
206
- select(C_BUILTIN -> SIMPLE_BUILTIN) = {char, short, int, long, float, double, bool_t}
206
+ select(C_BUILTIN -> SIMPLE_BUILTIN) = {char, short, int, long, float, double, bool_t, _Bool }
207
207
select(C_BUILTIN -> SIGNED_BUILTIN) = {signed}
208
208
select(C_BUILTIN -> UNSIGNED_BUILTIN) = {unsigned}
209
209
select(C_BUILTIN -> POINTER_BUILTIN) = {void}
@@ -215,6 +215,7 @@ select(SIMPLE_BUILTIN -> long SIMPLE_LONG_SUFFIX) = {long}
215
215
select(SIMPLE_BUILTIN -> float) = {float}
216
216
select(SIMPLE_BUILTIN -> double) = {double}
217
217
select(SIMPLE_BUILTIN -> bool_t) = {bool_t}
218
+ select(SIMPLE_BUILTIN -> _Bool) = {_Bool}
218
219
219
220
selcet(SIGNED_BUILTIN -> signed COMPLEX_SUFFIX) = {signed}
220
221
select(UNSIGNED_BUILTIN -> unsigned COMPLEX_SUFFIX) = {unsigned}
0 commit comments