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

📄 megaco_text_parser_prev3c.yrl

📁 OTP是开放电信平台的简称
💻 YRL
📖 第 1 页 / 共 5 页
字号:
                        merge_action_reply(['$1' | '$2']) .%% OTP-5085%% This ugly thing is to fool the parser. The errorDescriptor does not%% realy belong here. The merge_action_reply will remove it and put it%% in it's right place later.commandReplyList     -> 'COMMA' errorDescriptor :                         [{error, '$2'}] .commandReplyList     -> 'COMMA' commandReplys commandReplyList  :                          ['$2' | '$3'] .commandReplyList     -> '$empty' : [] .commandReplys         -> serviceChangeReply : {command, '$1'} .commandReplys         -> auditReply         : {command, '$1'} .commandReplys         -> ammsReply          : {command, '$1'} .commandReplys         -> notifyReply        : {command, '$1'} .commandReplys         -> contextProperty    : {context, '$1'} .%Add Move and Modify have the same request parameterammRequest     -> ammToken 'EQUAL' termIDList ammRequestBody :                   Descs = merge_AmmRequest_descriptors('$4', []),                  make_commandRequest('$1',	       		              #'AmmRequest'{terminationID = '$3',	       				            descriptors   = Descs}) .ammToken       -> 'AddToken'     : {addReq,  '$1'} .ammToken       -> 'MoveToken'    : {moveReq, '$1'} .ammToken       -> 'ModifyToken'  : {modReq,  '$1'} .ammRequestBody -> 'LBRKT' ammParameter ammParameters 'RBRKT' : ['$2' | '$3'] .ammRequestBody -> '$empty' : [] .ammParameters  -> 'COMMA' ammParameter ammParameters : ['$2' | '$3'] .ammParameters  -> '$empty' : [] .%at-most-onceammParameter         -> mediaDescriptor        : {mediaDescriptor,       '$1'}.ammParameter         -> modemDescriptor        : {modemDescriptor, deprecated}.ammParameter         -> muxDescriptor          : {muxDescriptor,         '$1'}.ammParameter         -> eventsDescriptor       : {eventsDescriptor,      '$1'}.ammParameter         -> eventBufferDescriptor  : {eventBufferDescriptor, '$1'}.ammParameter         -> signalsDescriptor      : {signalsDescriptor,     '$1'}.ammParameter         -> digitMapDescriptor     : {digitMapDescriptor,    '$1'}.ammParameter         -> auditDescriptor        : {auditDescriptor,       '$1'}.ammParameter         -> statisticsDescriptor   : {statisticsDescriptor,  '$1'}.ammsReply            -> ammsToken 'EQUAL' termIDList ammsReplyBody			    :  {'$1', #'AmmsReply'{terminationID    = '$3',						   terminationAudit = '$4'}} .ammsToken            -> 'AddToken'       : addReply .ammsToken            -> 'MoveToken'      : moveReply .ammsToken            -> 'ModifyToken'    : modReply .ammsToken            -> 'SubtractToken'  : subtractReply .ammsReplyBody        -> 'LBRKT' terminationAudit 'RBRKT' : '$2' .ammsReplyBody        -> '$empty' : asn1_NOVALUE .subtractRequest      -> 'SubtractToken' 'EQUAL' termIDList optAuditDescriptor :                        SR = #'SubtractRequest'{terminationID   = '$3',                                                auditDescriptor = '$4'},                        make_commandRequest({subtractReq, '$1'}, SR) .  optAuditDescriptor   -> 'LBRKT' auditDescriptor 'RBRKT'  : '$2'.optAuditDescriptor   -> '$empty'                         : asn1_NOVALUE .auditRequest -> 'AuditValueToken' 'EQUAL' termIDList optAuditDescriptor :                 make_commandRequest({auditValueRequest, '$1'},		                    make_auditRequest('$3', '$4')) .auditRequest -> 'AuditCapToken' 'EQUAL' termIDList optAuditDescriptor :                 make_commandRequest({auditCapRequest, '$1'},				    make_auditRequest('$3', '$4')) .auditReply -> 'AuditValueToken' 'EQUAL' 'CtxToken' contextTerminationAudit :               {auditValueReply, '$4'} .auditReply -> 'AuditCapToken'   'EQUAL' 'CtxToken' contextTerminationAudit :               {auditCapReply,   '$4'} .auditReply -> 'AuditValueToken' 'EQUAL' auditOther :               {auditValueReply, '$3'} .auditReply -> 'AuditCapToken'   'EQUAL' auditOther :               {auditCapReply,   '$3'} .contextTerminationAudit -> terminationIDList               :                            {contextAuditResult, '$1'} .contextTerminationAudit -> 'LBRKT' errorDescriptor 'RBRKT' :                            {error, '$2'} .auditOther -> termIDList :               merge_auditOther('$1', []) .auditOther -> termIDList 'LBRKT' terminationAudit 'RBRKT' :               merge_auditOther('$1', '$3') .				  terminationAudit     -> auditReturnParameter auditReturnParameterList :                         merge_terminationAudit(['$1' |'$2' ]) .auditReturnParameterList -> 'COMMA' auditReturnParameter auditReturnParameterList : ['$2' | '$3'] .auditReturnParameterList -> '$empty' : [] .auditReturnParameter -> mediaDescriptor           : {mediaDescriptor, '$1'} .auditReturnParameter -> modemDescriptor.auditReturnParameter -> muxDescriptor             : {muxDescriptor, '$1'} .auditReturnParameter -> eventsDescriptor          : {eventsDescriptor, '$1'} .auditReturnParameter -> signalsDescriptor         : {signalsDescriptor, '$1'} .auditReturnParameter -> digitMapDescriptor        : {digitMapDescriptor, '$1'} .auditReturnParameter -> observedEventsDescriptor  : {observedEventsDescriptor, '$1'} .auditReturnParameter -> eventBufferDescriptor     : {eventBufferDescriptor, '$1'} .auditReturnParameter -> statisticsDescriptor      : {statisticsDescriptor, '$1'} .auditReturnParameter -> packagesDescriptor        : {packagesDescriptor, '$1'} .auditReturnParameter -> errorDescriptor           : {errorDescriptor, '$1'} .auditReturnParameter -> auditReturnItem           : {auditReturnItem, '$1'} .auditDescriptor      -> 'AuditToken' 'LBRKT' auditDescriptorBody 'RBRKT' :                         merge_auditDescriptor('$3') .auditDescriptorBody  -> auditItem auditItemList : ['$1' | '$2'].auditDescriptorBody  -> '$empty'                : asn1_NOVALUE .auditItemList        -> 'COMMA' auditItem auditItemList : ['$2' | '$3'] .auditItemList        -> '$empty'                        : [] . %% IGv11 - begin%% auditReturnItem      -> 'MuxToken'             : muxToken .auditReturnItem      -> 'ModemToken'           : modemToken .auditReturnItem      -> 'MediaToken'           : mediaToken .auditReturnItem      -> 'DigitMapToken'        : digitMapToken .auditReturnItem      -> 'StatsToken'           : statsToken .auditReturnItem      -> 'ObservedEventsToken'  : observedEventsToken .auditReturnItem      -> 'PackagesToken'        : packagesToken .%% at-most-once, and DigitMapToken and PackagesToken are not allowed %% in AuditCapabilities command auditItem          -> auditReturnItem        : '$1' .auditItem          -> 'SignalsToken'         : signalsToken.auditItem          -> 'EventBufferToken'     : eventBufferToken.auditItem          -> 'EventsToken'          : eventsToken .auditItem          -> indAudterminationAudit : {terminationAudit, '$1'} . % v2%% %% IGv11 - end%% v2 - start%% indAudterminationAudit  -> indAudauditReturnParameter                            indAudterminationAuditList                            : ['$1' | '$2'] .indAudterminationAuditList -> 'COMMA' indAudauditReturnParameter                               indAudterminationAuditList                                : ['$2' | '$3'] .indAudterminationAuditList -> '$empty' : [] . indAudauditReturnParameter -> indAudmediaDescriptor                               : {indAudMediaDescriptor,       '$1'} .indAudauditReturnParameter -> indAudeventsDescriptor                               : {indAudEventsDescriptor,      '$1'} .indAudauditReturnParameter -> indAudsignalsDescriptor                               : {indAudSignalsDescriptor,     '$1'} .indAudauditReturnParameter -> indAuddigitMapDescriptor                               : {indAudDigitMapDescriptor,    '$1'} .indAudauditReturnParameter -> indAudeventBufferDescriptor                               : {indAudEventBufferDescriptor, '$1'} .indAudauditReturnParameter -> indAudstatisticsDescriptor                               : {indAudStatisticsDescriptor,  '$1'} .indAudauditReturnParameter -> indAudpackagesDescriptor                               : {indAudPackagesDescriptor,    '$1'} . indAudmediaDescriptor -> 'MediaToken' 'LBRKT'                          indAudmediaParm indAudmediaParms 'RBRKT'                          : merge_indAudMediaDescriptor(['$3'|'$4']) . %% at-most-once per item%% and either streamParm or streamDescriptor but not both%%  indAudmediaParm -> indAudstreamParm                 : {streamParm,     '$1'} .indAudmediaParm -> indAudstreamDescriptor           : {streamDescr,    '$1'} .indAudmediaParm -> indAudterminationStateDescriptor : {termStateDescr, '$1'} . indAudmediaParms -> 'COMMA' indAudmediaParm indAudmediaParms : ['$2' | '$3'] .indAudmediaParms -> '$empty' : [] .%% at-most-onceindAudstreamParm -> 'RemoteDescriptorToken' :                     RD = ensure_prop_groups('$1'),                     #'IndAudStreamParms'{remoteDescriptor = RD} .indAudstreamParm -> 'LocalDescriptorToken' :                     LD = ensure_prop_groups('$1'),                     #'IndAudStreamParms'{localDescriptor = LD} .indAudstreamParm -> indAudlocalControlDescriptor :                     #'IndAudStreamParms'{localControlDescriptor = '$1'} .indAudstreamParm -> indAudstatisticsDescriptor :                     #'IndAudStreamParms'{statisticsDescriptor = '$1'} .indAudstreamDescriptor -> 'StreamToken' 'EQUAL' streamID                           'LBRKT' indAudstreamParm 'RBRKT'                           : #'IndAudStreamDescriptor'{streamID    = '$3',                                                      streamParms = '$5'} . indAudlocalControlDescriptor -> 'LocalControlToken'                                 'LBRKT' indAudlocalParm                                         indAudlocalParmList 'RBRKT' :                                merge_indAudLocalControlDescriptor(['$3' | '$4']) . indAudlocalParmList -> 'COMMA' indAudlocalParm                                indAudlocalParmList : ['$2' | '$3'] .indAudlocalParmList -> '$empty' : [] .%% at-most-once per item%%  %% propertyparm and streamModes are used only to specify audit selection%% criteria. AND/OR selection logic is specified at context level.%%  indAudlocalParm -> 'ReservedGroupToken'              : reservedGroupToken .indAudlocalParm -> 'ReservedValueToken'              : reservedValueToken .indAudlocalParm -> 'ModeToken'                       : modeToken .indAudlocalParm -> 'ModeToken' 'EQUAL'   streamModes : {mode, {equal,  '$3'}} .indAudlocalParm -> 'ModeToken' 'INEQUAL' streamModes : {mode, {inequal,'$3'}} .indAudlocalParm -> propertyParm                      : {prop,  '$1'} .indAudlocalParm -> pkgdName                          : {name,  '$1'} .indAudterminationStateDescriptor -> 'TerminationStateToken'                                     'LBRKT' indAudterminationStateParm 'RBRKT'                                     :                                     merge_indAudTerminationStateDescriptor('$3') .%% at-most-once per item%%%% at-most-once per item except for propertyParmindAudterminationStateParm -> iaServiceStates : '$1' .indAudterminationStateParm -> 'BufferToken'   : bufferToken .indAudterminationStateParm -> propertyParm    : {prop, '$1'} .indAudterminationStateParm -> pkgdName        : {name, '$1'} .iaServiceStates -> 'ServiceStatesToken' :                    serviceStatesToken .iaServiceStates -> 'ServiceStatesToken' 'EQUAL'   serviceStatesValue :                    {serviceStates, {equal, '$3'}} .iaServiceStates -> 'ServiceStatesToken' 'INEQUAL' serviceStatesValue :                    {serviceStates, {inequal, '$3'}} .     indAudeventBufferDescriptor -> 'EventBufferToken'                                'LBRKT' indAudeventSpec 'RBRKT' : '$3' .indAudeventSpec -> pkgdName optIndAudeventSpecParameter                    : merge_indAudEventBufferDescriptor('$1','$2') .optIndAudeventSpecParameter -> 'LBRKT' indAudeventSpecParameter 'RBRKT'                                : '$2' .optIndAudeventSpecParameter -> '$empty' : asn1_NOVALUE .indAudeventSpecParameter    -> eventStream        : {streamID, '$1'} .indAudeventSpecParameter    -> eventParameterName : {eventParameterName, '$1'} . indAudeventsDescriptor  -> 'EventsToken' 'LBRKT' indAudrequestedEvent 'RBRKT' :                           #'IndAudEventsDescriptor'{pkgdName = '$3'} .indAudeventsDescriptor  -> 'EventsToken' 'EQUAL' requestID                           'LBRKT' indAudrequestedEvent 'RBRKT' :                            #'IndAudEventsDescriptor'{requestID = '$3',                                                     pkgdName  = '$5'} . indAudrequestedEvent    -> pkgdName : '$1' .indAudsignalsDescriptor -> 'SignalsToken' optIndAudsignalParm : '$2' .optIndAudsignalParm -> 'LBRKT' 'RBRKT' : asn1_NOVALUE .optIndAudsignalParm -> 'LBRKT' indAudsignalParm 'RBRKT'  : '$2' .indAudsignalParm -> indAudsignalList  : {seqSigList, '$1'} .indAudsignalParm -> signalRequest     : {signal, ensure_indAudSignal('$1')} .indAudsignalList -> 'SignalListToken' 'EQUAL' signalListId :                      #'IndAudSeqSigList'{id = ensure_uint16('$3')} .indAudsignalList -> 'SignalListToken' 'EQUAL' signalListId                    'LBRKT' signalListParm 'RBRKT' :                      #'IndAudSeqSigList'{id         = ensure_uint16('$3'),					 signalList =                                            ensure_indAudSignalListParm('$5')} .%% The DigitMapDescriptorToken is specially treated by the scannerindAuddigitMapDescriptor   -> 'DigitMapDescriptorToken' :                               ensure_IADMD('$1') . indAudstatisticsDescriptor -> 'StatsToken' 'LBRKT' pkgdName 'RBRKT' :                               #'IndAudStatisticsDescriptor'{statName = '$3'} . indAudpackagesDescriptor   -> 'PackagesToken' 'LBRKT' packagesItem 'RBRKT'                               : merge_indAudPackagesDescriptor('$3') . eventStream                -> 'StreamToken' 'EQUAL' streamID : '$3' . %% %% v2 - endnotifyRequest     -> 'NotifyToken' 'EQUAL' termIDList                      'LBRKT' notifyRequestBody 'RBRKT' :                     NR = setelement(#'NotifyRequest'.terminationID,                                      '$5', '$3'),                     make_commandRequest({notifyReq, '$1'}, NR) .notifyRequestBody -> observedEventsDescriptor  :                      #'NotifyRequest'{observedEventsDescriptor = '$1'}.notifyRequestBody -> errorDescriptor :                     #'NotifyRequest'{errorDescriptor = '$1'}.notifyReply       -> 'NotifyToken' 'EQUAL' termIDList notifyReplyBody :                      {notifyReply, #'NotifyReply'{terminationID   = '$3',					          errorDescriptor = '$4'}} .notifyReplyBody   -> 'LBRKT' errorDescriptor 'RBRKT' : '$2'.

⌨️ 快捷键说明

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