[svn-r3109] Purpose:
Reformatting Description: Also changed how some of the lists were specified to be recursive in the BNF style. Platforms tested: Netscrape
This commit is contained in:
@@ -70,6 +70,8 @@ This section contains a brief explanation of the symbols used in the DDL.
|
||||
<a><FONT SIZE=1.7>opt</FONT> zero or one occurrence of <a>
|
||||
<a>* zero or more occurrence of <a>
|
||||
<a>+ one or more occurrence of <a>
|
||||
[0-9] an element in the range between 0 and 9
|
||||
`[' the token within the quotes (used for special characters)
|
||||
TBD To Be Decided
|
||||
</pre>
|
||||
|
||||
@@ -86,30 +88,36 @@ This section contains a brief explanation of the symbols used in the DDL.
|
||||
<super_block_content> ::= TBD
|
||||
|
||||
<root_group> ::= GROUP "/" { <unamed_datatype>* <object_id><FONT SIZE=1.7>opt</FONT>
|
||||
<group_attribute>* <group_member>* }
|
||||
<group_attribute>* <group_member>* }
|
||||
|
||||
<datatype> ::= <atomic_type> | <compound_type> | <variable_length_type> |
|
||||
<array_type>
|
||||
<datatype> ::= <atomic_type> | <compound_type> | <variable_length_type> | <array_type>
|
||||
|
||||
<unamed_datatype> ::= DATATYPE <unamed_type_name> { <datatype> }
|
||||
|
||||
<unamed_type_name> ::= the assigned name for unamed type is in the form of
|
||||
#oid1:oid2, where oid1 and oid2 are the object ids of the type
|
||||
#oid1:oid2, where oid1 and oid2 are the object ids
|
||||
of the type
|
||||
|
||||
<atomic_type> ::= <integer> | <float> | <time> | <string> | <bitfield> |
|
||||
<opaque> | <reference> | <enum>
|
||||
<atomic_type> ::= <integer> | <float> | <time> | <string> |
|
||||
<bitfield> | <opaque> | <reference> | <enum>
|
||||
|
||||
<integer> ::= H5T_STD_I8BE | H5T_STD_I8LE | H5T_STD_I16BE |
|
||||
H5T_STD_I16LE | H5T_STD_I32BE | H5T_STD_I32LE | H5T_STD_I64BE |
|
||||
H5T_STD_I64LE | H5T_STD_U8BE | H5T_STD_U8LE | H5T_STD_U16BE |
|
||||
H5T_STD_U16LE | H5T_STD_U32BE | H5T_STD_U32LE | H5T_STD_U64BE |
|
||||
H5T_STD_U64LE | H5T_NATIVE_CHAR | H5T_NATIVE_UCHAR |
|
||||
H5T_NATIVE_SHORT | H5T_NATIVE_USHORT | H5T_NATIVE_INT |
|
||||
H5T_NATIVE_UINT | H5T_NATIVE_LONG | H5T_NATIVE_ULONG |
|
||||
H5T_NATIVE_LLONG | H5T_NATIVE_ULLONG
|
||||
<integer> ::= H5T_STD_I8BE | H5T_STD_I8LE |
|
||||
H5T_STD_I16BE | H5T_STD_I16LE |
|
||||
H5T_STD_I32BE | H5T_STD_I32LE |
|
||||
H5T_STD_I64BE | H5T_STD_I64LE |
|
||||
H5T_STD_U8BE | H5T_STD_U8LE |
|
||||
H5T_STD_U16BE | H5T_STD_U16LE |
|
||||
H5T_STD_U32BE | H5T_STD_U32LE |
|
||||
H5T_STD_U64BE | H5T_STD_U64LE |
|
||||
H5T_NATIVE_CHAR | H5T_NATIVE_UCHAR |
|
||||
H5T_NATIVE_SHORT | H5T_NATIVE_USHORT |
|
||||
H5T_NATIVE_INT | H5T_NATIVE_UINT |
|
||||
H5T_NATIVE_LONG | H5T_NATIVE_ULONG |
|
||||
H5T_NATIVE_LLONG | H5T_NATIVE_ULLONG
|
||||
|
||||
<float> ::= H5T_IEEE_F32BE | H5T_IEEE_F32LE | H5T_IEEE_F64BE |
|
||||
H5T_IEEE_F64LE | H5T_NATIVE_FLOAT | H5T_NATIVE_DOUBLE |
|
||||
<float> ::= H5T_IEEE_F32BE | H5T_IEEE_F32LE |
|
||||
H5T_IEEE_F64BE | H5T_IEEE_F64LE |
|
||||
H5T_NATIVE_FLOAT | H5T_NATIVE_DOUBLE |
|
||||
H5T_NATIVE_LDOUBLE
|
||||
|
||||
<time> ::= TBD
|
||||
@@ -119,7 +127,7 @@ This section contains a brief explanation of the symbols used in the DDL.
|
||||
CSET <cset> ;
|
||||
CTYPE <ctype> ; }
|
||||
|
||||
<strsize> ::= an integer
|
||||
<strsize> ::= <int_value>
|
||||
|
||||
<strpad> ::= H5T_STR_NULLTERM | H5T_STR_NULLPAD | H5T_STR_SPACEPAD
|
||||
|
||||
@@ -141,12 +149,13 @@ This section contains a brief explanation of the symbols used in the DDL.
|
||||
|
||||
<field_name> ::= <identifier>
|
||||
|
||||
<variable_length_type> ::= H5T_VLEN { <datatype> }
|
||||
<variable_length_type> ::= H5T_VLEN { <datatype> }
|
||||
|
||||
<array_type> ::= H5T_ARRAY { <dim_sizes> <datatype> }
|
||||
|
||||
<dim_sizes> ::= [dimsize1][dimsize2]...
|
||||
// where dimsize1, dimsize2 are integers
|
||||
<dim_sizes> ::= `['<dimsize>`]' | `['<dimsize>`]'<dim_sizes>
|
||||
|
||||
<dimsize> ::= <int_value>
|
||||
|
||||
<attribute> ::= ATTRIBUTE <attr_name> { <dataset_type>
|
||||
<dataset_space>
|
||||
@@ -166,13 +175,13 @@ This section contains a brief explanation of the symbols used in the DDL.
|
||||
|
||||
<enum_symbol> ::= <identifier>
|
||||
|
||||
<enum_val> ::= an integer;
|
||||
<enum_val> ::= <int_value>
|
||||
|
||||
<path_name> ::= <path_part>+
|
||||
|
||||
<path_part> ::= /<identifier>
|
||||
|
||||
<dataspace> ::= <scalar_space> | <simple_space> | <complex_space>
|
||||
<dataspace> ::= <scalar_space> | <simple_space> | <complex_space>
|
||||
|
||||
<scalar_space> ::= SCALAR
|
||||
|
||||
@@ -182,27 +191,26 @@ This section contains a brief explanation of the symbols used in the DDL.
|
||||
|
||||
<dataset_space> ::= DATASPACE <path_name> | <dataspace>
|
||||
|
||||
<current_dims> ::= (<i>i<FONT SIZE=1.0>1</i></FONT>, <i>i<FONT SIZE=1.0>2</i></FONT>, ... ), where <i>i<FONT SIZE=1.0>k</i></FONT> is an integer, <i>k</i> = 1,2,...
|
||||
<current_dims> ::= <dims>
|
||||
|
||||
<max_dims> ::= (<i>i<FONT SIZE=1.0>1</i></FONT>, <i>i<FONT SIZE=1.0>2</i></FONT>, ... ) where <i>i<FONT SIZE=1.0>k</i></FONT> is an integer or H5S_UNLIMITED
|
||||
|
||||
<complex_space_definition> ::= TBD
|
||||
|
||||
<data> ::= DATA { <scalar_space_data> | <simple_space_data> |
|
||||
<complex_space_data> }
|
||||
<data> ::= DATA { <scalar_space_data> | <simple_space_data> | <complex_space_data> }
|
||||
|
||||
<scalar_space_data> ::= <any_element>
|
||||
|
||||
<any_element> ::= <atomic_element> | <compound_element> |
|
||||
<variable_length_element> | <array_element>
|
||||
<variable_length_element> | <array_element>
|
||||
|
||||
<any_data_seq> ::= <any_element> | <any_element>, <any_data_seq>
|
||||
|
||||
<atomic_element> :: = <integer_data> | <float_data> | <time_data> |
|
||||
<string_data> | <bitfield_data> | <opaque_data> |
|
||||
<enum_data> | <reference_data>
|
||||
<atomic_element> :: = <integer_data> | <float_data> | <time_data> |
|
||||
<string_data> | <bitfield_data> | <opaque_data> |
|
||||
<enum_data> | <reference_data>
|
||||
|
||||
<integer_data> ::= an integer
|
||||
<integer_data> ::= <int_value>
|
||||
|
||||
<float_data> ::= a floating point number
|
||||
|
||||
@@ -227,32 +235,34 @@ This section contains a brief explanation of the symbols used in the DDL.
|
||||
|
||||
<object_id> ::= OBJECTID { <object_num> }
|
||||
|
||||
<object_num> ::= an integer:an integer | an integer
|
||||
<object_num> ::= <int_value>:<int_value> | <int_value>
|
||||
|
||||
<data_region_data> ::= H5T_STD_REF_DSETREG <object_num>
|
||||
{ <data_region_data_info>, <data_region_data_info>, ...}
|
||||
|
||||
<data_region_data_info> ::= <region_info> | <point_info>
|
||||
|
||||
<region_info> ::= (<lower_bound>:<upper_bound>,
|
||||
<lower_bound>:<upper_bound>, ...)
|
||||
<region_info> ::= (<region_vals>)
|
||||
|
||||
<lower_bound> ::= an integer
|
||||
<region_vals> ::= <lower_bound>:<upper_bound> | <lower_bound>:<upper_bound>, <region_vals>
|
||||
|
||||
<upper_bound> ::= an integer
|
||||
<lower_bound> ::= <int_value>
|
||||
|
||||
<point_info> ::= (an integer, an integer, ...)
|
||||
<upper_bound> ::= <int_value>
|
||||
|
||||
<point_info> ::= (<point_vals>)
|
||||
|
||||
<point_vals> ::= <int_value> | <int_value>, <point_vals>
|
||||
|
||||
<compound_element> ::= { <any_data_seq> }
|
||||
|
||||
<atomic_simple_data> :: = <atomic_element>, <atomic_simple_data> |
|
||||
<atomic_element>
|
||||
<atomic_simple_data> :: = <atomic_element>, <atomic_simple_data> | <atomic_element>
|
||||
|
||||
<simple_space_data> :: = <any_data_seq>
|
||||
|
||||
<variable_length_element> ::= ( <any_data_seq> )
|
||||
|
||||
<array_element> ::= [ <any_data_seq> ]
|
||||
<array_element> ::= `[' <any_data_seq> `]'
|
||||
|
||||
<complex_space_data> ::= TBD
|
||||
|
||||
@@ -273,28 +283,30 @@ This section contains a brief explanation of the symbols used in the DDL.
|
||||
<group_attribute> ::= <attribute>
|
||||
|
||||
<group_member> ::= <named_datatype> | <named_dataspace> | <group> |
|
||||
<dataset> | <softlink>
|
||||
<dataset> | <softlink>
|
||||
|
||||
<dataset> ::= DATASET <dataset_name> { <hardlink> | <dataset_info> }
|
||||
|
||||
<dataset_info> ::= <dataset_type> <dataset_space> <storagelayout><FONT SIZE=1.7>opt</FONT>
|
||||
<compression><FONT SIZE=1.7>opt</FONT> <dataset_attribute>* <object_id><FONT SIZE=1.7>opt</FONT>
|
||||
<data><FONT SIZE=1.7>opt</FONT>
|
||||
<compression><FONT SIZE=1.7>opt</FONT> <dataset_attribute>* <object_id><FONT SIZE=1.7>opt</FONT>
|
||||
<data><FONT SIZE=1.7>opt</FONT>
|
||||
// Tokens above can be in any order as long as <data> is
|
||||
// after <dataset_type> and <dataset_space>.
|
||||
|
||||
<dataset_name> ::= <identifier>
|
||||
|
||||
<storagelayout> :: = STORAGELAYOUT <contiguous_layout> |
|
||||
STORAGELAYOUT <chunked_layout> |
|
||||
STORAGELAYOUT <compact_layout> |
|
||||
STORAGELAYOUT <chunked_layout> |
|
||||
STORAGELAYOUT <compact_layout> |
|
||||
STORAGELAYOUT <external_layout>
|
||||
|
||||
<contiguous_layout> ::= {CONTIGUOUS} // default
|
||||
|
||||
<chunked_layout> ::= {CHUNKED <dims> }
|
||||
|
||||
<dims> ::= (<i>i<FONT SIZE=1.0>1</i></FONT>, <i>i<FONT SIZE=1.0>2</i></FONT>, ... ), <i>i<FONT SIZE=1.0>k</i></FONT> is an integer, <i>k</i> = 1,2,...
|
||||
<dims> ::= (<dims_values>)
|
||||
|
||||
<dims_values> ::= <int_value> | <int_value>, <dims_values>
|
||||
|
||||
<compact_layout> ::= TBD
|
||||
|
||||
@@ -302,9 +314,9 @@ This section contains a brief explanation of the symbols used in the DDL.
|
||||
|
||||
<external_file> ::= (<file_name> <offset> <size>)
|
||||
|
||||
<offset> ::= an integer
|
||||
<offset> ::= <int_value>
|
||||
|
||||
<size> ::= an integer
|
||||
<size> ::= <int_value>
|
||||
|
||||
<compression> :: = COMPRESSION { TBD }
|
||||
|
||||
@@ -316,16 +328,18 @@ This section contains a brief explanation of the symbols used in the DDL.
|
||||
|
||||
<target> ::= <identifier>
|
||||
|
||||
<identifier> ::= string
|
||||
<identifier> ::= a string
|
||||
// character '/' should be used with care.
|
||||
|
||||
<int_value> ::= 0 | [1-9][0-9]*
|
||||
|
||||
</PRE>
|
||||
</dir>
|
||||
</DIR>
|
||||
|
||||
|
||||
<h2>4. An Example of an HDF5 File in DDL</h2>
|
||||
<H2>4. An Example of an HDF5 File in DDL</H2>
|
||||
|
||||
<dir>
|
||||
<DIR>
|
||||
<PRE>
|
||||
HDF5 "example.h5" {
|
||||
GROUP "/" {
|
||||
|
||||
Reference in New Issue
Block a user