⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 megaco_text_parser_prev3c.yrl

📁 OTP是开放电信平台的简称
💻 YRL
📖 第 1 页 / 共 5 页
字号:
    'AuditValueToken'    'AuthToken'    'BothToken'                       %% v3     'BothwayToken'    'BriefToken'    'BufferToken'    'COLON'    'COMMA'    'ContextAttrToken'                %% v3     'ContextAuditToken'    'ContextListToken'                %% v3     'CtxToken'    'DelayToken'    'DigitMapToken'    'DigitMapDescriptorToken'    'DirectionToken'                  %% v3     'DiscardToken'    'DisconnectedToken'    'DurationToken'    'EQUAL'    'EmbedToken'    'EmergencyToken'    'EmergencyOffToken'    'EmergencyValueToken'             %% v3    'ErrorToken'    'EventBufferToken'    'EventsToken'    'ExternalToken'                   %% v3     'FailoverToken'    'ForcedToken'    'GREATER'    'GracefulToken'    'H221Token'    'H223Token'    'H226Token'    'HandOffToken'    'IEPSToken'                       %% v3    'ImmAckRequiredToken'    'INEQUAL'                         %% v3    'InSvcToken'    'InactiveToken'    'InternalToken'                   %% v3     'InterruptByEventToken'    'InterruptByNewSignalsDescrToken'    'IntsigDelayToken'                %% v3    'IsolateToken'    'IterationToken'                  %% v3    'KeepActiveToken'    'LBRKT'    'LESSER'    'LSBRKT'    'LocalControlToken'    'LocalDescriptorToken'    'LockStepToken'    'LoopbackToken'    'MediaToken'    %% 'MegacopToken'    %% 'MessageSegmentToken'    'MethodToken'    'MgcIdToken'    'ModeToken'    'ModemToken'    'ModifyToken'    'MoveToken'    'MtpAddressToken'    'MuxToken'    'NEQUAL'    'NeverNotifyToken'                %% v3    'NotifyCompletionToken'    'NotifyImmediateToken'            %% v3    'NotifyRegulatedToken'            %% v3    'NotifyToken'    'Nx64Token'  %% v2    'ObservedEventsToken'    'OffToken'    'OnToken'    'OnOffToken'    'OnewayToken'    'OnewayExternalToken'             %% v3    'OnewayBothToken'                 %% v3    'OrAUDITselectToken'              %% v3    'OtherReasonToken'    'OutOfSvcToken'    'PackagesToken'    'PendingToken'    'PriorityToken'    'ProfileToken'    'QuotedChars'    'RBRKT'    'RSBRKT'    'ReasonToken'    'RecvonlyToken'    'RemoteDescriptorToken'    'ReplyToken'    'RequestIDToken'                  %% v3     'ReservedGroupToken'    'ReservedValueToken'    'ResetEventsDescriptorToken'       %% v3    'ResponseAckToken'    'RestartToken'    'SEP'    'SafeChars'    %% 'SegmentationCompleteToken'    'SendonlyToken'    'SendrecvToken'    'ServiceChangeAddressToken'    'ServiceChangeToken'    'ServiceChangeIncompleteToken'    'ServiceStatesToken'    'ServicesToken'    'SignalListToken'    'SignalTypeToken'    'SignalsToken'    'StatsToken'    'StreamToken'    'SubtractToken'    'SynchISDNToken'    'TerminationStateToken'    'TestToken'    'TimeOutToken'    'TimeStampToken'    'TopologyToken'    'TransToken'    'V18Token'    'V22Token'    'V22bisToken'    'V32Token'    'V32bisToken'    'V34Token'    'V76Token'    'V90Token'    'V91Token'    'VersionToken'    endOfMessage.%%----------------------------------------------------------------------%% Root symbol%%----------------------------------------------------------------------Rootsymbol megacoMessage.%%----------------------------------------------------------------------%% The grammar%%----------------------------------------------------------------------%% megacoMessage        = LWSP [authenticationHeader SEP ] message%% authenticationHeader = AuthToken EQUAL SecurityParmIndex COLON%%                        SequenceNum COLON AuthData%%                      %% SecurityParmIndex    = "0x" 8(HEXDIG)%% SequenceNum          = "0x" 8(HEXDIG)%% AuthData             = "0x" 24*64(HEXDIG)%% message              = MegacopToken SLASH version SEP mId SEP messageBody%% version              = 1*2(DIGIT) .megacoMessage        -> optSep authenticationHeader message endOfMessage                            : #'MegacoMessage'{authHeader = '$2', mess = '$3'} .optSep               -> 'SEP'    : sep .optSep               -> '$empty' : no_sep .authenticationHeader -> 'AuthToken' 'EQUAL' safeToken 'COLON'                            safeToken 'COLON' safeToken optSep                            : ensure_auth_header('$3', '$5', '$7') .authenticationHeader -> '$empty' : asn1_NOVALUE .message         -> safeToken mId messageBody :                    ensure_message('$1', '$2', '$3') .messageBody     -> errorDescriptor : {messageError, '$1'} .messageBody     -> transactionList : {transactions, '$1'} .transactionList -> transactionItem : ['$1'] .transactionList -> transactionItem transactionList : ['$1' | '$2'] .transactionItem -> transactionRequest      : {transactionRequest,     '$1'} .transactionItem -> transactionReply        : {transactionReply,       '$1'}.transactionItem -> transactionPending      : {transactionPending,     '$1'} .transactionItem -> transactionResponseAck  : {transactionResponseAck, '$1'} .transactionResponseAck -> 'ResponseAckToken'                          'LBRKT' transactionAck                                   transactionAckList 'RBRKT' : ['$3' | '$4'] .transactionAckList -> 'COMMA' transactionAck                               transactionAckList : ['$2' | '$3'] .transactionAckList -> '$empty' : [] .transactionAck     -> safeToken : ensure_transactionAck('$1') .transactionPending -> 'PendingToken' 'EQUAL' transactionID 'LBRKT' 'RBRKT' :                       #'TransactionPending'{transactionId = ensure_transactionID('$3') } .transactionRequest -> 'TransToken' 'LBRKT'  actionRequest                                             actionRequestList 'RBRKT' :                       #'TransactionRequest'{transactionId = asn1_NOVALUE,                                            actions       = ['$3' | '$4']} .transactionRequest -> 'TransToken' 'EQUAL' 'LBRKT'  actionRequest                                                     actionRequestList 'RBRKT' :                      #'TransactionRequest'{transactionId = asn1_NOVALUE,                                            actions       = ['$4' | '$5']} .transactionRequest -> 'TransToken' 'EQUAL' transactionID                      'LBRKT'  actionRequest actionRequestList 'RBRKT' :                      #'TransactionRequest'{transactionId = ensure_transactionID('$3'),                                            actions = ['$5' | '$6']} .actionRequestList  -> 'COMMA' actionRequest actionRequestList : ['$2' | '$3'] .actionRequestList  -> '$empty' : [] .%% actionRequest     = CtxToken EQUAL ContextID LBRKT ((contextRequest%%                     [COMMA commandRequestList]) / %%                     commandRequestList) RBRKT%% contextRequest    = ((contextProperties [COMMA contextAudit]) /%%                      contextAudit)%% contextProperties = contextProperty *(COMMA contextProperty)actionRequest      -> 'CtxToken' 'EQUAL' contextID                       'LBRKT' actionRequestBody 'RBRKT' :                       merge_action_request('$3', '$5') .actionRequestBody  -> actionRequestItem actionRequestItems : ['$1' | '$2'] .    actionRequestItems -> 'COMMA' actionRequestItem                               actionRequestItems : ['$2' | '$3'] .actionRequestItems -> '$empty' : [] .actionRequestItem  -> contextProperty : {contextProp,    '$1'} .actionRequestItem  -> contextAudit    : {contextAudit,   '$1'} .actionRequestItem  -> commandRequest  : {commandRequest, '$1'} .%% at-most-once (presumebly in contextProperties)contextProperty -> topologyDescriptor    : {topology,    '$1'}.contextProperty -> priority              : {priority,    '$1'}. contextProperty -> 'EmergencyToken'      : {emergency,   true}.contextProperty -> 'EmergencyOffToken'   : {emergency,   false}.contextProperty -> iepsValue             : {iepsCallind, '$1'} .  contextProperty -> contextAttrDescriptor : '$1' .contextAttrDescriptor -> 'ContextAttrToken' 'LBRKT' propertyParms 'RBRKT' :                          {contextProp, '$3'}.contextAttrDescriptor -> 'ContextAttrToken' 'LBRKT' contextIdList 'RBRKT' :                          {contextList, '$3'}.contextIdList -> 'ContextListToken' 'EQUAL'                  'LBRKT' contextID contextIDs 'RBRKT' : ['$4' | '$5'] .contextIDs -> 'COMMA' contextID contextIDs : ['$2' | '$3'] .contextIDs -> '$empty' : [] .    contextAudit -> 'ContextAuditToken' 'LBRKT'                 indAudcontextAttrDescriptor 'RBRKT' :                 merge_context_attr_audit_request(                         #'ContextAttrAuditRequest'{}, '$3') .contextAudit -> 'ContextAuditToken' 'LBRKT'                 contextAuditProperty contextAuditProperties 'RBRKT' :                 merge_context_attr_audit_request(                         #'ContextAttrAuditRequest'{}, ['$3' | '$4']) .indAudcontextAttrDescriptor -> 'ContextAttrToken'                                'LBRKT' contextAuditProperty                                        contextAuditProperties 'RBRKT'                                : ['$3' | '$4'] .contextAuditProperties -> 'COMMA' contextAuditProperty contextAuditProperties                            : ['$2' | '$3'] .contextAuditProperties -> '$empty' : [] .%% at-most-once except contextAuditSelector.contextAuditProperty -> 'TopologyToken'      : topologyAudit .contextAuditProperty -> 'EmergencyToken'     : emergencyAudit .contextAuditProperty -> 'PriorityToken'      : priorityAudit .contextAuditProperty -> 'IEPSToken'          : iepsCallind .contextAuditProperty -> pkgdName             : {prop, '$1'} .contextAuditProperty -> contextAuditSelector : '$1' .%% at-most-oncecontextAuditSelector -> priority              : {select_prio,      '$1'} .contextAuditSelector -> emergencyValue        : {select_emergency, '$1'} .contextAuditSelector -> iepsValue             : {select_ieps,      '$1'} .contextAuditSelector -> auditSelectLogic      : {select_logic,     '$1'} .contextAuditSelector -> contextAttrDescriptor : '$1' .auditSelectLogic -> 'AndAUDITselectToken' : {andAUDITSelect, 'NULL'} .auditSelectLogic -> 'OrAUDITselectToken'  : {orAUDITSelect,  'NULL'} .commandRequest       -> ammRequest             : '$1'.commandRequest       -> subtractRequest        : '$1'.commandRequest       -> auditRequest           : '$1'.commandRequest       -> notifyRequest          : '$1'.commandRequest       -> serviceChangeRequest   : '$1'.transactionReply     -> 'ReplyToken' 'EQUAL' transactionID 			    'LBRKT'			        optImmAckRequired transactionReplyBody                            'RBRKT'			    : #'TransactionReply'{transactionId     = '$3',						  immAckRequired    = '$5',						  transactionResult = '$6'} .optImmAckRequired    -> 'ImmAckRequiredToken' 'COMMA' : 'NULL' .optImmAckRequired    -> '$empty' : asn1_NOVALUE .     transactionReplyBody -> errorDescriptor              : {transactionError, '$1'} .transactionReplyBody -> actionReply actionReplyList  : {actionReplies, ['$1' | '$2']} .actionReplyList      -> 'COMMA' actionReply actionReplyList  : ['$2' | '$3'] .actionReplyList      -> '$empty' : [] .actionReply          -> 'CtxToken' 'EQUAL' contextID                         'LBRKT' actionReplyBody 'RBRKT' :                         setelement(#'ActionReply'.contextId, '$5', '$3') .actionReply          -> 'CtxToken' 'EQUAL' contextID :                         #'ActionReply'{contextId = '$3'} .actionReplyBody      -> errorDescriptor :                          #'ActionReply'{errorDescriptor = '$1'} .actionReplyBody      -> commandReplys commandReplyList : 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -