input:
  attr_vals
| complex_object_block
| error
attr_vals:
  attr_val
| attr_vals attr_val
| attr_vals ; attr_val
attr_val:
  attr_id SYM_EQ object_block
attr_id:
  V_ATTRIBUTE_IDENTIFIER
| V_ATTRIBUTE_IDENTIFIER error
object_block:
  complex_object_block
| primitive_object_block
complex_object_block:
  single_attr_object_block
| multiple_attr_object_block
multiple_attr_object_block:
  untyped_multiple_attr_object_block
| type_identifier untyped_multiple_attr_object_block
untyped_multiple_attr_object_block:
  multiple_attr_object_block_head keyed_objects SYM_END_DBLOCK
multiple_attr_object_block_head:
  SYM_START_DBLOCK
keyed_objects:
  keyed_object
| keyed_objects keyed_object
keyed_object:
  object_key SYM_EQ object_block
object_key:
  [ simple_value ]
single_attr_object_block:
  untyped_single_attr_object_block
| type_identifier untyped_single_attr_object_block
untyped_single_attr_object_block:
  single_attr_object_complex_head SYM_END_DBLOCK
| single_attr_object_complex_head attr_vals SYM_END_DBLOCK
single_attr_object_complex_head:
  SYM_START_DBLOCK
primitive_object_block:
  untyped_primitive_object_block
| type_identifier untyped_primitive_object_block
untyped_primitive_object_block:
  SYM_START_DBLOCK primitive_object_value SYM_END_DBLOCK
primitive_object_value:
  simple_value
| simple_list_value
| simple_interval_value
| term_code
| term_code_list_value
simple_value:
  string_value
| integer_value
| real_value
| boolean_value
| character_value
| date_value
| time_value
| date_time_value
| duration_value
| uri_value
simple_list_value:
  string_list_value
| integer_list_value
| real_list_value
| boolean_list_value
| character_list_value
| date_list_value
| time_list_value
| date_time_list_value
| duration_list_value
simple_interval_value:
  integer_interval_value
| real_interval_value
| date_interval_value
| time_interval_value
| date_time_interval_value
| duration_interval_value
type_identifier:
  ( V_TYPE_IDENTIFIER )
| ( V_GENERIC_TYPE_IDENTIFIER )
| V_TYPE_IDENTIFIER
| V_GENERIC_TYPE_IDENTIFIER
string_value:
  V_STRING
string_list_value:
  V_STRING , V_STRING
| string_list_value , V_STRING
| V_STRING , SYM_LIST_CONTINUE
integer_value:
  V_INTEGER
| + V_INTEGER
| - V_INTEGER
integer_list_value:
  integer_value , integer_value
| integer_list_value , integer_value
| integer_value , SYM_LIST_CONTINUE
integer_interval_value:
  SYM_INTERVAL_DELIM integer_value SYM_ELLIPSIS integer_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GT integer_value SYM_ELLIPSIS integer_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM integer_value SYM_ELLIPSIS SYM_LT integer_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GT integer_value SYM_ELLIPSIS SYM_LT integer_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_LT integer_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_LE integer_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GT integer_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GE integer_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM integer_value SYM_INTERVAL_DELIM
real_value:
  V_REAL
| + V_REAL
| - V_REAL
real_list_value:
  real_value , real_value
| real_list_value , real_value
| real_value , SYM_LIST_CONTINUE
real_interval_value:
  SYM_INTERVAL_DELIM real_value SYM_ELLIPSIS real_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GT real_value SYM_ELLIPSIS real_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM real_value SYM_ELLIPSIS SYM_LT real_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GT real_value SYM_ELLIPSIS SYM_LT real_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_LT real_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_LE real_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GT real_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GE real_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM real_value SYM_INTERVAL_DELIM
boolean_value:
  SYM_TRUE
| SYM_FALSE
boolean_list_value:
  boolean_value , boolean_value
| boolean_list_value , boolean_value
| boolean_value , SYM_LIST_CONTINUE
character_value:
  V_CHARACTER
character_list_value:
  character_value , character_value
| character_list_value , character_value
| character_value , SYM_LIST_CONTINUE
date_value:
  V_ISO8601_EXTENDED_DATE
date_list_value:
  date_value , date_value
| date_list_value , date_value
| date_value , SYM_LIST_CONTINUE
date_interval_value:
  SYM_INTERVAL_DELIM date_value SYM_ELLIPSIS date_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GT date_value SYM_ELLIPSIS date_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM date_value SYM_ELLIPSIS SYM_LT date_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GT date_value SYM_ELLIPSIS SYM_LT date_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_LT date_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_LE date_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GT date_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GE date_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM date_value SYM_INTERVAL_DELIM
time_value:
  V_ISO8601_EXTENDED_TIME
time_list_value:
  time_value , time_value
| time_list_value , time_value
| time_value , SYM_LIST_CONTINUE
time_interval_value:
  SYM_INTERVAL_DELIM time_value SYM_ELLIPSIS time_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GT time_value SYM_ELLIPSIS time_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM time_value SYM_ELLIPSIS SYM_LT time_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GT time_value SYM_ELLIPSIS SYM_LT time_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_LT time_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_LE time_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GT time_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GE time_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM time_value SYM_INTERVAL_DELIM
date_time_value:
  V_ISO8601_EXTENDED_DATE_TIME
date_time_list_value:
  date_time_value , date_time_value
| date_time_list_value , date_time_value
| date_time_value , SYM_LIST_CONTINUE
date_time_interval_value:
  SYM_INTERVAL_DELIM date_time_value SYM_ELLIPSIS date_time_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GT date_time_value SYM_ELLIPSIS date_time_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM date_time_value SYM_ELLIPSIS SYM_LT date_time_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GT date_time_value SYM_ELLIPSIS SYM_LT date_time_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_LT date_time_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_LE date_time_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GT date_time_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GE date_time_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM date_time_value SYM_INTERVAL_DELIM
duration_value:
  V_ISO8601_DURATION
duration_list_value:
  duration_value , duration_value
| duration_list_value , duration_value
| duration_value , SYM_LIST_CONTINUE
duration_interval_value:
  SYM_INTERVAL_DELIM duration_value SYM_ELLIPSIS duration_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GT duration_value SYM_ELLIPSIS duration_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM duration_value SYM_ELLIPSIS SYM_LT duration_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GT duration_value SYM_ELLIPSIS SYM_LT duration_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_LT duration_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_LE duration_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GT duration_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM SYM_GE duration_value SYM_INTERVAL_DELIM
| SYM_INTERVAL_DELIM duration_value SYM_INTERVAL_DELIM
term_code:
  V_QUALIFIED_TERM_CODE_REF
| ERR_V_QUALIFIED_TERM_CODE_REF
term_code_list_value:
  term_code , term_code
| term_code_list_value , term_code
| term_code , SYM_LIST_CONTINUE
uri_value:
  V_URI