Некоторые недочеты синтаксиса команд ADC, неоднозначность между позициооными и именованными параметрами |
Здравствуйте, гость ( Вход | Регистрация )
Некоторые недочеты синтаксиса команд ADC, неоднозначность между позициооными и именованными параметрами |
25.2.2012, 15:31
Сообщение
#1
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Рассмотрим повнимательнее синтаксис команды ADC в части определения параметров:
Код message_body ::= (b_message_header | cih_message_header | de_message_header | f_message_header | u_message_header | message_header) (separator positional_parameter)* (separator named_parameter)* positional_parameter ::= parameter_value named_parameter ::= parameter_name parameter_value? Ведь на лицо явная избыточность. Логичнее было бы написать так: Код message_body ::= (b_message_header | cih_message_header | de_message_header | f_message_header | u_message_header | message_header) (separator parameter)* parameter ::= parameter_name? parameter_value Правда, возможно авторы протокола указали явную последовательность следования, а именно то, что все именованные параметры должны находиться в конце. Но ведь в такой интерпретации именованный параметр - это ни что иное как подмножество позиционных параметров. То есть фактически трудно определить к какой группе параметров отнести тот или иной параметр. Для удобства оперирования с параметрами, конечно, разделение на позиционные и именные параметры необходимо, однако хотелось бы иметь более четкую границу, разделяющую позиционные и именные параметры. К сожалению в ADC протоколе эта граница напрочь отсутствует. Считаю это недостатком протокола! |
|
|
Похожие темы
|
Сейчас: 23.11.2024, 5:50 |