DATR BNF - DG, 7.5.1993 1 <sentence> ::= <node> : <eqseq> . 2 <eqseq> ::= <equation> | <equation> <eqseq> 3 <equation> ::= <lhs> <rhs> 4 <lhs> ::= < <atomseq> > 5 <rhs> ::= <extrhs> | <defrhs> 6 <extrhs> ::= = <atomval> 7 <atomval> ::= <atomseq> | ( <atomseq> ) 8 <atomseq> ::= <epsilon> | <atom> <atomseq> 9 <defrhs> ::= == <descval> 10 <descval> ::= <descseq> | ( <descseq> ) 11 <descseq> ::= <epsilon> | <desc> <descseq> 12 <desc> ::= <atom> | <pointer> 13 <pointer> ::= " <spec> " | <spec> 14 <spec> ::= <node> : <descpath> | <node> | <descpath> 15 <descpath> ::= < <descseq> > 16 <node> ::= <upper_case> <char_string> 17 <atom> ::= <not_upper_case> <char_string> | ' <any_string> ' 18 <char_string> ::= <epsilon> | <char> <char_string> 19 <any_string> ::= <epsilon> | <any> <any_string> 20 <res_char> ::= [:<>"()>] 21 <char> ::= [INT2CHAR(33)...INT2CHAR(127)]-[<reschar>] 22 <any> ::= [INT2CHAR(0)...INT2CHAR(127)] 23 <upper_case> ::= [A-Z] 24 <not_upper_case> ::= [<char>] - [<upper_case>]