diff --git a/parser/parser.yy b/parser/parser.yy index 49b3874..de1e62b 100644 --- a/parser/parser.yy +++ b/parser/parser.yy @@ -93,9 +93,22 @@ primitive_type: BYTE | ULONG ; -struct_type: STRUCT +struct_type: STRUCT LCURLY struct_items RCURLY ; +struct_items: /* empty */ + | struct_item struct_items + ; + +struct_item: variable_declaration + ; + +variable_declaration: variable_spec SEMICOLON; + ; + +variable_spec: IDENTIFIER COLON type + ; + ptr_type: type STAR ;