template_defn
'template'
identifier
identifier
'name'
'{'
[suppress]
<[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}>
'uuid'
'array'
'WORD'
'DWORD'
'FLOAT'
'DOUBLE'
'CHAR'
'UCHAR'
'BYTE'
'STRING'
'CSTRING'
'UNICODE'
identifier
identifier
'element_type'
type
'type'
identifier
identifier
'name'
'['
[suppress]
W:(1-9, 0-9)
identifier
identifier
']'
[suppress]
'dims'
'WORD'
'DWORD'
'FLOAT'
'DOUBLE'
'CHAR'
'UCHAR'
'BYTE'
'STRING'
'CSTRING'
'UNICODE'
identifier
identifier
'type'
identifier
identifier
'name'
';'
[suppress]
'members'
'['
[suppress]
'...'
']'
[suppress]
[combine]
'open_template'
'['
[suppress]
'WORD'
'DWORD'
'FLOAT'
'DOUBLE'
'CHAR'
'UCHAR'
'BYTE'
'STRING'
'CSTRING'
'UNICODE'
identifier
identifier
'type'
<[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}>
'uuid'
','
[suppress]
'WORD'
'DWORD'
'FLOAT'
'DOUBLE'
'CHAR'
'UCHAR'
'BYTE'
'STRING'
'CSTRING'
'UNICODE'
identifier
identifier
'type'
<[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}>
'uuid'
']'
[suppress]
'restrictions'
'}'
[suppress]
identifier
W:(A-Za-z, 0-9A-Z_a-z)