my $name = defined($_[2]) ? $_[2] : $_[7];
{
"NAME" => $name,
- "TYPE" => "STRUCT",
+ "TYPE" => "struct",
"DATA" => $_[4],
}
}
my $name = defined($_[2]) ? $_[2] : $_[7];
{
"NAME" => $name,
- "TYPE" => "UNION",
+ "TYPE" => "union",
"DATA" => $_[4],
}
}
| struct
| union
| STRUCT IDENTIFIER pointers IDENTIFIER ';'
+ {{
+ "NAME" => $_[2],
+ "POINTERS" => $_[3],
+ "TYPE" => "struct $_[2]",
+ }}
| UNION IDENTIFIER pointers IDENTIFIER ';'
+ {{
+ "NAME" => $_[2],
+ "POINTERS" => $_[3],
+ "TYPE" => "union $_[2]",
+ }}
| CONST type pointers IDENTIFIER array ';'
- {{
+ {{
"NAME" => $_[4],
"TYPE" => $_[2],
"POINTERS" => $_[3],
- }}
+ }}
| type pointers IDENTIFIER array ';'
- {{
+ {{
"NAME" => $_[3],
"TYPE" => $_[1],
"POINTERS" => $_[2],
- }}
+ }}
;
array: #empty
type: IDENTIFIER
| ENUM IDENTIFIER
+ { "enum $_[2]" }
;
pointers: