next up previous contents
Next: Future Enhancements Up: File Naming Conventions Previous: Delimiters   Contents

Backus-Naur Form

This file naming convention may be specified in Backus-Naur form as:

<filename> ::= <name_part> <delim0> <type_part>

<name_part> ::= <quantity_field> [ <optional_field> ] 
                { <delim1> <optional_field> }

<type_part> ::= <source_field>

<quantity_field> ::= <name_1> | <name_2> | <name_3> | <name_4>

<optional field> ::=  <date_field> | <grid_field> 
                     | <forecast_field> | <sequence field> 
                     | <format_field> | <special field> 
                     | <time-field>

<date_field> ::= <ave_spec> <date_spec>

<grid_field> ::= "G" <grid_form>

<forecast_field> ::= "F" <forecast_form>

<sequence_field> ::= "E" <upperalphanumeric> 
                     { <upperalphanumeric> }

<format_field> ::= "X"  { <format_form> }

<special_field> ::= "S" <upperalphanumeric> 
                    { <upperalphanumeric> }

<time_field> ::= "T" <time_form>

<name_1> ::= <upperalphabetic> <delim1> <delim1> <delim1>

<name_2> ::= <upperalphabetic> <upperalphanumeric> <delim1> 
             <delim1>

<name_3> ::= <upperalphabetic> <upperalphanumeric> 
             <upperalphanumeric> <delim1>

<name_4> ::= <upperalphabetic> <upperalphanumeric> 
             <upperalphanumeric> <upperalphanumeric> 

<ave_spec> ::= "I" | "D" | "M" | "Y"

<date_spec> ::= <date_long> | <date_short>

<date_long> ::= <year_digit> <year_digit> <month_digit> 
                <month_digit> <day_digit> <day digit> 
                [ <hour_digit> <hour_digit> ]

<date_short> ::= <base_26_digit> <base_26_digit> 
                 <base_26_digit>

<base_26_digit> ::= <upperalphabetic>

<grid_form> ::=  <grid_spec_char> { <grid_spec_char> }

<grid_spec_char> :== <upperalphanumeric> | <delim2>

<forecast_form> ::=   "H" <hour> 
                    | "D" <day>  
                    | <upperalphabetic> <digit> { <digit> } 

<hour> ::= <digit> { <digit> } 

<day> ::= <digit> { <digit> }

<format_form> ::=   "P" 
                  | "C" <string_code> 
                  | "B" <binary_code>

<string_code> ::= "A" | "E"

<binary_code> ::= <floating_format> <byte_order> <word_order> 
                  <ftn_header> <disk_organize> <packing>

<floating_format> ::= "I" | "E" | "V" | "Y"

<byte_order> ::= "B" | "L"

<word_order> ::= "B" | "L"

<ftn_header> ::= "C" | "F"

<disk_organize> ::= "S" | "V" | "F"

<packing> ::= "P" | "U"

<upperalphanumeric> ::= <upperalphabetic> | <digit>

<upperalphabetic> ::= "A"-"Z"

<digit> ::= "0"-"9"



Eric Nash 2003-09-25