;
typedef:
- property_list 'typedef' type identifier array_len ';'
+ property_list 'typedef' type pointers identifier array_len ';'
{{
"TYPE" => "TYPEDEF",
"PROPERTIES" => $_[1],
- "NAME" => $_[4],
+ "NAME" => $_[5],
"DATA" => $_[3],
- "ARRAY_LEN" => $_[5],
+ "POINTERS" => $_[4],
+ "ARRAY_LEN" => $_[6],
"FILE" => $_[0]->YYData->{FILE},
"LINE" => $_[0]->YYData->{LINE},
}}
enum
|
bitmap
+ |
+ pipe
;
typedecl:
pointers '*' { $_[1]+1 }
;
+pipe:
+ property_list 'pipe' type
+ {{
+ "TYPE" => "PIPE",
+ "PROPERTIES" => $_[1],
+ "DATA" => $_[3],
+ "FILE" => $_[0]->YYData->{FILE},
+ "LINE" => $_[0]->YYData->{LINE},
+ }}
+;
+
element_list1:
#empty
{ [] }
if ($1 =~
/^(coclass|interface|import|importlib
|include|cpp_quote|typedef
- |union|struct|enum|bitmap
+ |union|struct|enum|bitmap|pipe
|void|const|unsigned|signed)$/x) {
return $1;
}