struct: struct_qualities "struct"i id "{" (struct_field ";")* "}"
struct_quality: "fabric_scoped"i -> struct_fabric_scoped
struct_qualities: struct_quality*

enum: "enum"i id ":" type "{" constant_entry* "}"
bitmap: "bitmap"i id ":" type "{" constant_entry* "}"

?access_privilege: "view"i       -> view_privilege
                 | "operate"i    -> operate_privilege
                 | "manage"i     -> manage_privilege
                 | "administer"i -> administer_privilege

?attribute_access_type: "read"i  -> read_access
                      | "write"i -> write_access

event_access: "access" "(" ("read" ":" access_privilege)? ")"

event_with_access: "event" event_access? id

event: event_qualities event_priority event_with_access "=" positive_integer "{" (struct_field ";")* "}"

event_quality: "fabric_sensitive" -> event_fabric_sensitive
event_qualities: event_quality*

?event_priority: "critical"i -> critical_priority
               | "info"i     -> info_priority
               | "debug"i    -> debug_priority

attribute_access_entry: attribute_access_type ":" access_privilege

attribute_access: "access"i "(" (attribute_access_entry ("," attribute_access_entry)* )? ")"

attribute_with_access: attribute_access? struct_field

attribute: attribute_qualities "attribute"i attribute_with_access ";"
attribute_quality: "readonly"i -> attr_readonly
                 | "nosubscribe"i -> attr_nosubscribe
                 | "timedwrite"i -> attr_timed
attribute_qualities: attribute_quality* -> attribute_qualities

request_struct: "request"i struct

// Response structures must have a response id
response_struct: "response"i "struct"i id "=" positive_integer "{" (struct_field ";") * "}"

command_quality: "timed"i -> timed_command
                 | "fabric"i -> fabric_scoped_command
command_qualities: command_quality*

command_access: "access"i "(" ("invoke"i ":" access_privilege)? ")"

command_with_access: "command"i command_access? id

command: command_qualities command_with_access "(" id? ")" ":" id "=" positive_integer ";"

cluster: cluster_side "cluster"i id "=" positive_integer "{" (enum|bitmap|event|attribute|struct|request_struct|response_struct|command)* "}"
?cluster_side: "server"i -> server_cluster
             | "client"i -> client_cluster

endpoint: "endpoint"i positive_integer "{" endpoint_content* "}"
?endpoint_content: endpoint_cluster_binding | endpoint_server_cluster | endpoint_device_type

endpoint_device_type: "device" "type" id "=" positive_integer "," "version" positive_integer ";"
endpoint_cluster_binding: "binding"i "cluster"i id ";"
endpoint_server_cluster: "server"i "cluster"i id "{" endpoint_cluster_entry* "}"


endpoint_attribute_storage: "ram"i      -> ram_attribute
                          | "persist"i  -> persist_attribute
                          | "callback"i -> callback_attribute

?endpoint_cluster_entry: endpoint_emitted_event | endpoint_attribute_instantiation

endpoint_emitted_event: "emits"i "event"i id ";"
endpoint_attribute_instantiation: endpoint_attribute_storage "attribute"i id default_value? ";"

bool_default: "true"i  -> bool_default_true
            | "false"i -> bool_default_false
?default_value: "default"i "=" (integer | ESCAPED_STRING | bool_default)

constant_entry: id "=" positive_integer ";"
positive_integer: POSITIVE_INTEGER | HEX_INTEGER
negative_integer: "-" positive_integer

integer: positive_integer | negative_integer

struct_field: member_attribute* field

member_attribute: "optional"i -> optional
                | "nullable"i -> nullable
                | "fabric_sensitive"i -> fabric_sensitive

field: data_type id list_marker? "=" positive_integer
list_marker: "[" "]"

data_type: type ("<" positive_integer ">")?

id: ID
type: ID

POSITIVE_INTEGER: /\d+/
HEX_INTEGER: /0x[A-Fa-f0-9]+/
ID: /[a-zA-Z_][a-zA-Z0-9_]*/

idl: (struct|enum|cluster|endpoint)*

%import common.ESCAPED_STRING
%import common.WS
%import common.C_COMMENT
%import common.CPP_COMMENT
%ignore WS
%ignore C_COMMENT
%ignore CPP_COMMENT
