PreviousNext

Attribute Configuration Language

The following information summarizes the ACF syntax, in extended Backus-Naur Format (BNF) notation.

<acf_interface> ::=

<acf_interface_header> "{" <acf_interface_body> "}"


<acf_interface_header> ::=

[ <acf_interface_attr_list> ] "interface" <idl_interface_name>


<acf_interface_attr_list> ::= "[" <acf_interface_attrs> "]"


<acf_interface_attrs> ::=

<acf_interface_attr> [ "," <acf_interface_attr> ] ...


<acf_interface_attr> ::= <acf_code_attr>

| <acf_nocode_attr>

| <acf_auto_handle_attr>

| <acf_explicit_handle_attr>

| <acf_implicit_handle_attr>

| <acf_cs_tag_rtn_attr>

| <acf_extern_exceps_attr>

| <acf_encode_attr>

| <acf_decode_attr>

| <acf_binding_callout_attr>


<acf_auto_handle_attr> ::= "auto_handle"


<acf_explicit_handle_attr> ::= "explicit_handle"


<acf_implicit_handle_attr> ::=

"implicit_handle" "(" <acf_named_type> <Identifier> ")"


<acf_extern_exceps_attr> ::=

"extern_exceptions" "(" <acf_ext_excep_list> ")"


<acf_ext_exceps_list> ::=

"<acf_ext_excep> ["," <acf_ext_excep] ...


<acf_ext_excep> ::= <Identifier>


<acf_binding_callout_attr> ::=

"binding_callout" "(" <acf_bind_call_rtn_name> ")"


<acf_bind_call_rtn_name> ::= <Identifier>


<acf_interface_name> ::= <Identifier>


<acf_interface_body> ::= [ <acf_body_element> ] ...


<acf_body_element> ::= <acf_include> ";"

| <acf_type_declaration> ";"

| <acf_operation> ";"


<acf_include> ::= "include" <acf_include_list>


<acf_include_list> ::= <acf_include_name> \

[ "," <acf_include_name> ] ...


<acf_include_name> ::= """ <filename> """


<acf_type_declaration> ::= typedef [ <acf_type_attr_list> ] \

<acf_named_type>


<acf_named_type> ::= <Identifier>


<acf_type_attr_list> ::= "[" <acf_type_attrs> "]"


<acf_type_attrs> ::= <acf_type_attr> [ "," <acf_type_attr> ] ...


<acf_type_attr> ::= <acf_represent_attr>

| <acf_cs_char_attr>

| <acf_heap_attr>


<acf_represent_attr> ::= "represent_as" "(" <acf_repr_type> ")"


<acf_cs_char_attr> ::=

"cs_char" "C" "(" <acf_cs_char_type> ")"


<acf_cs_char_type> ::= <acf_named_type>


<acf_repr_type> ::= <acf_named_type>


<acf_operation> ::= [ <acf_op_attr_list> ] <Identifier> "("

[ <acf_parameters> ] ")"


<acf_op_attr_list> ::= "[" <acf_op_attrs> "]"


<acf_op_attrs> ::= <acf_op_attr> [ "," <acf_op_attr> ] ...


<acf_op_attr> ::= <acf_explicit_handle_attr>

| <acf_comm_status_attr>

| <acf_cs_tag_rtn_attr>

| <acf_encode_attr>

| <acf_decode_attr>

| <acf_fault_status_attr>

| <acf_code_attr>

| <acf_nocode_attr>

| <acf_enable_allocate_attr>


<acf_cs_tag_rtn_attr> ::=

"cs_tag_rtn" "(" <acf_cs_tag_rtn_name> ")"


<acf_cs_tag_rtn_name> ::=

<Identifier>


<acf_parameters> ::= <acf_parameter> [ "," <acf_parameter> ] ...


<acf_parameter> ::= [ <acf_param_attr_list> ] <Identifier>


<acf_param_attr_list> ::= "[" <acf_param_attrs> "]"


<acf_param_attrs> ::= <acf_param_attr> [ "," <acf_param_attr> ] \&...


<acf_param_attr> ::= <acf_comm_status_attr>

| <acf_fault_status_attr>

| <acf_cs_stag_attr>

| <acf_cs_drtag_attr>

| <acf_cs_rtag_attr>

| <acf_heap_attr>


<acf_code_attr> ::= "code"


<acf_nocode_attr> ::= "nocode"


<acf_encode_attr> ::= "encode"


<acf_decode_attr> ::= "decode"


<acf_cs_stag_attr> ::= "cs_stag"


<acf_cs_drtag_attr> ::= "cs_drtag"


<acf_cs_rtag_attr> ::= "cs_rtag"


<acf_comm_status_attr> ::= "comm_status"


<acf_fault_status_attr> ::= "fault_status"


<acf_enable_allocate_attr> ::= "enable_allocate"


<acf_heap_attr> ::= "heap"