Левая часть правила
|
|
Правая часть правила
|
Комментарий
|
RBILCommunicativeAct |
= |
Message. |
|
Message |
= |
Header MessageType MessageParameter* EndofMsg. |
|
Header |
= |
MessageId Version. |
|
MessageId |
= |
0xFA |
|
|
! |
0xFB |
|
|
! |
0xFC. |
См. комментарий 1 ниже
|
Version |
= |
Byte. |
См. комментарий 2 ниже
|
EndofMsg |
= |
EndOfCollection. |
|
EndOfCollection |
= |
0x01. |
|
MessageType |
= |
PredefinedMsgType |
|
|
! |
UserDefinedMsgType. |
См. комментарий 3 ниже
|
UserDefinedMsgType |
= |
0x00 MsgTypeName. |
|
MsgTypeName |
= |
BinWord. |
|
MessageParameter |
= |
PredefinedParam |
|
|
! |
UserDefinedMsgParam. |
См. комментарий 4 ниже
|
UserDefinedMsgParam |
= |
0x00 ParameterName ParameterValue. |
|
ParameterName |
= |
BinWord. |
|
ParamterValue |
= |
BinExpression. |
|
PredefinedMsgType |
= |
0x01 |
accept-proposal
|
|
! |
0x02 |
agree
|
|
! |
0x03 |
cancel
|
|
! |
0x04 |
cfp
|
|
! |
0x05 |
confirm
|
|
! |
0x06 |
disconfirm
|
|
! |
0x07 |
failure
|
|
! |
0x08 |
inform
|
|
! |
0x09 |
inform-if
|
|
! |
0x0a |
inform-ref
|
|
! |
0x0b |
not-understood
|
|
! |
0x0c |
propagate
|
|
! |
0x0d |
propose
|
|
! |
0x0e |
proxy
|
|
! |
0x0f |
query-if
|
|
! |
0x10 |
query-ref
|
|
! |
0x11 |
refuse
|
|
! |
0x12 |
reject-proposal
|
|
! |
0x13 |
request
|
|
! |
0x14 |
request-when
|
|
! |
0x15 |
request-whenever
|
|
! |
0x16. |
subscribe
|
PredefinedMsgParam |
= |
0x02 AgentIdentifier |
sender (Отправитель сообщения)
|
|
! |
0x03 RecipientExpr |
receiver (Получатель(и)сообщения)
|
|
! |
0x04 MsgContent |
content (Содержание сообщения)
|
|
! |
0x05 ReplyWithParam |
reply-with (Метка исходящего сообщения)
|
|
! |
0x06 ReplyByParam |
reply-by (Лимит времени на ответ)
|
|
! |
0x07 InReplyToParam |
in-reply-to (Ссылка на входящее сообщение)
|
|
! |
0x08 ReplyToParam |
reply-to (Получатель ответа на это сообщение в случае, если это не sender)
|
|
! |
0x09 Language |
language (Язык сообщения)
|
|
! |
0x0a Encoding |
encoding
|
|
! |
0x0b Ontology |
ontology (Онтология)
|
|
! |
0x0c Protocol |
protocol (Используемый протокол общения)
|
|
! |
0x0d ConversationID. |
conversation-id (Идентификатор разговора)
|
AgentIdentifier |
= |
0x02 AgentName |
|
|
|
[Addresses] |
|
|
|
[Resolvers] |
|
|
|
(UserDefinedParameter)* |
|
|
|
EndOfCollection. |
|
AgentName |
= |
BinWord. |
|
Addresses |
= |
0x02 UrlCollection. |
|
Resolvers |
= |
0x03 AgentIdentifierCollection. |
|
UserDefinedParameter |
= |
0x04 BinWord BinExpression. |
|
UrlCollection |
= |
(Url)* EndofCollection. |
|
Url |
= |
BinWord. |
|
AgentIdentifierCollection |
= |
(AgentIdentifier)* EndOfCollection. |
|
RecipientExpr |
= |
AgentIdentifierCollection. |
|
MsgContent |
= |
BinString. |
|
ReplyWithParam |
= |
BinExpression. |
|
ReplyByParam |
= |
BinDateTimeToken. |
|
InReplyToParam |
= |
BinExpression. |
|
ReplyToParam |
= |
RecipientExpr. |
|
Language |
= |
BinExpression. |
|
Encoding |
= |
BinExpression. |
|
Ontology |
= |
BinExpression. |
|
Protocol |
= |
BinWord. |
|
ConversationID |
= |
BinExpression. |
|
BinWord |
= |
0x10 Word 0x00 |
|
BinNumber |
= |
0x12 Digits |
Десятичное число
|
|
! |
0x13 Digits. |
Шестнадцатиричное число
|
Digits |
= |
CodedNumber+. |
|
BinString |
= |
0x14 String 0x00 |
New string literal
|
|
! |
0x15 Index |
String literal from code table
|
|
! |
0x16 Len8 ByteSeq |
New ByteLengthEncoded string
|
|
! |
0x17 Len16 ByteSeq |
New ByteLengthEncoded string
|
|
! |
0x18 Index |
ByteLengthEncoded from code table
|
|
! |
0x19 Len32 ByteSeq. |
New ByteLengthEncoded string
|
BinDateTimeToken |
= |
0x20 BinDate |
Абсолютное время
|
|
! |
0x21 BinDate |
Относительное время (+)
|
|
! |
0x22 BinDate |
Относительное время (-)
|
|
! |
0x24 BinDate TypeDesignator |
Абсолютное время
|
|
! |
0x25 BinDate TypeDesignator |
Относительное время (+)
|
|
! |
0x26 BinDate TypeDesignator. |
Относительное время (-)
|
BinDate |
= |
Year Month Day Hour Minute Second 202 Millisecond. |
См. комментарий 8 ниже
|
BinExpression |
= |
BinExpr |
См. комментарий 9 ниже
|
|
! |
0xFF BinString. |
|
BinExpr |
= |
BinWord |
|
|
! |
BinString |
|
|
! |
BinNumber |
|
|
! |
ExprStart BinExpr* ExprEnd. |
|
ExprStart |
= |
0x60 |
Level down (i.e. ‘(’ –character)
|
|
! |
0x70 Word 0x00 |
Level down, new word follows
|
|
! |
0x71 Index |
Level down, word code follows
|
|
! |
0x72 Digits |
Level down, number follows
|
|
! |
0x73 Digits |
Level down, hex number follows
|
|
! |
0x74 String 0x00 |
Level down, new string follows
|
|
! |
0x75 Index |
Level down, string code follows
|
|
! |
0x76 Len8 String |
Level down, new byte string (1 byte)
|
|
! |
0x77 Len16 String |
Level down, new byte string (2 byte)
|
|
! |
0x78 Len32 String |
Level down, new byte string (4 byte
|
|
! |
0x79 Index. |
Level down, new byte string (4 byte)
|
|
= |
0x79 Index. |
Level down, byte string code follows
|
ExprEnd |
= |
0x40 |
Level up (i.e. ‘)’ –character)
|
|
! |
0x50 Word 0x00 |
Level up, new word follows
|
|
! |
0x51 Index |
Level up, word code follows
|
|
! |
0x52 Digits |
Level up, number follows
|
|
! |
0x53 Digits |
Level up, hexadecimal number follows
|
|
! |
0x54 String 0x00 |
Level up, new string follows
|
|
! |
0x55 Index |
Level up, string code follows
|
|
! |
0x56 Len8 String |
Level up, new byte string (1 byte)
|
|
! |
0x57 Len16 String |
Level up, new byte string (2 byte)
|
|
! |
0x58 Len32 String |
Level up, new byte string (4 byte)
|
|
! |
0x59 Index. |
Level up, byte string code follows
|
ByteSeq |
= |
Byte*. |
|
Index |
= |
Byte |
|
|
! |
Short. |
См. комментарий 6 ниже
|
Len8 |
= |
Byte. |
См. комментарий 7 ниже
|
Len16 |
= |
Short. |
См. комментарий 7 ниже
|
Len32 |
= |
Long. |
См. комментарий 7 ниже
|
Year |
= |
Byte Byte. |
|
Month |
= |
Byte. |
|
Day |
= |
Byte. |
|
Hour |
= |
Byte. |
|
Minute |
= |
Byte. |
|
Second |
= |
Byte. |
|
Millisecond |
= |
Byte Byte. |
|
Word |
= |
|
as in [FIPA00070]
|
String |
= |
|
as in [FIPA00070]
|
CodedNumber |
= |
|
См. комментарий 5 ниже
|
TypeDesignator |
= |
|
as in [FIPA00070]
|