;<domain> ::= <subdomain> | " "
;
;<subdomain> ::= <label> | <subdomain> "." <label>
;
;<label> ::= <letter> [ [ <ldh-str> ] <let-dig> ]
;
;<ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>
;
;<let-dig-hyp> ::= <let-dig> | "-"
;
;<let-dig> ::= <letter> | <digit>
;
;<letter> ::= any one of the 52 alphabetic characters A through Z in
;upper case and a through z in lower case
;
;<digit> ::= any one of the ten digits 0 through 9


domain       = subdomain / " "

subdomain    = label *( "." label)

label        = ALPHA *ldh-str 1*let-dig

ldh-str      = let-dig-hyp ldh-str / let-dig-hyp

let-dig-hyp  = let-dig / "-"

let-dig      = ALPHA / DIGIT
