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

📄 megaco_text_parser_prev3a.yrl

📁 OTP是开放电信平台的简称
💻 YRL
📖 第 1 页 / 共 5 页
字号:
domainAddress        -> 'LSBRKT' daddr 'RSBRKT' 'COLON' portNumber optSep                        : ensure_domainAddress('$2', '$5') .domainAddress        -> 'LSBRKT' daddr 'RSBRKT'                        : ensure_domainAddress('$2', asn1_NOVALUE) .daddr -> '$empty'        : [] .daddr -> 'COLON' daddr   : [colon| '$2'] .daddr -> safeToken daddr : ['$1'| '$2'] .portNumber           -> safeToken : ensure_uint16('$1') .mtpAddress           -> 'MtpAddressToken' : ensure_mtpAddress('$1') .%% terminationIDList    -> LBRKT terminationID *(COMMA terminationID) RBRKT .terminationIDList    -> 'LBRKT' terminationID terminationIDListRepeat 'RBRKT'                                   : ['$2' | '$3'] .terminationIDListRepeat -> 'COMMA' terminationID terminationIDListRepeat                                 : ['$2'| '$3'] .terminationIDListRepeat -> '$empty' : [] .pathName             -> safeToken : ensure_pathName('$1') . terminationID        -> safeToken : ensure_terminationID('$1') .mediaDescriptor      -> 'MediaToken' 'LBRKT' mediaParm mediaParmList 'RBRKT'			    : merge_mediaDescriptor(['$3' | '$4']) .mediaParmList        -> 'COMMA' mediaParm mediaParmList : ['$2' | '$3'] .mediaParmList        -> '$empty' : [] .%% at-most-once per item%% using either streamParms or streamDescriptors but not bothmediaParm            -> streamParm			    : {streamParm, '$1'} .mediaParm            -> streamDescriptor			    : {streamDescriptor, '$1'} .mediaParm            -> terminationStateDescriptor			    : {termState, '$1'} .%% at-most-onc .%% Specially treated by the scanner.streamParm           -> 'LocalDescriptorToken'		      : {local, #'LocalRemoteDescriptor'{propGrps = ensure_prop_groups('$1')} } .streamParm           -> 'RemoteDescriptorToken'		      : {remote, #'LocalRemoteDescriptor'{propGrps = ensure_prop_groups('$1')}} .streamParm           -> localControlDescriptor  : {control, '$1'} .streamParm           -> statisticsDescriptor    : {statistics, '$1'} .streamDescriptor     -> 'StreamToken' 'EQUAL' streamID                        'LBRKT' streamParm streamParmList 'RBRKT'		      : #'StreamDescriptor'{streamID    = '$3',					    streamParms = merge_streamParms(['$5' | '$6'])} .streamParmList       -> 'COMMA' streamParm streamParmList : ['$2' | '$3'] .streamParmList       -> '$empty' : [] .localControlDescriptor -> 'LocalControlToken' 'LBRKT' localParm localParmList 'RBRKT'                        : ['$3' | '$4'] .localParmList        -> 'COMMA' localParm localParmList : ['$2' | '$3'] .localParmList        -> '$empty': [] .terminationStateDescriptor -> 'TerminationStateToken'                              'LBRKT' terminationStateParm                                       terminationStateParms 'RBRKT'		              : merge_terminationStateDescriptor(['$3' | '$4']) .terminationStateParms -> 'COMMA' terminationStateParm terminationStateParms : ['$2' | '$3'] .terminationStateParms -> '$empty' : [] .%% at-most-once per item except for propertyParmlocalParm            -> 'ReservedGroupToken' 'EQUAL' onOrOff : {group, '$3'} .localParm            -> 'ReservedValueToken' 'EQUAL' onOrOff : {value, '$3'} .localParm            -> 'ModeToken' 'EQUAL' streamModes      : {mode,  '$3'} .localParm            -> propertyParm                         : {prop,  '$1'} .   onOrOff              -> 'OnToken'  : true .onOrOff              -> 'OffToken' : false .   %% at-most-once    streamModes          -> 'SendonlyToken' : sendOnly .streamModes          -> 'RecvonlyToken' : recvOnly .streamModes          -> 'SendrecvToken' : sendRecv .streamModes          -> 'InactiveToken' : inactive .streamModes          -> 'LoopbackToken' : loopBack .propertyParm         -> pkgdName parmValue :                         setelement(#'PropertyParm'.name, '$2', '$1') .parmValue            -> 'EQUAL' alternativeValue :                          '$2' .parmValue            -> 'NEQUAL'  value :                        #'PropertyParm'{value = ['$2'],                                         extraInfo = {relation, unequalTo}} .parmValue            -> 'LESSER'  value :                        #'PropertyParm'{value = ['$2'],                                         extraInfo = {relation, smallerThan}} .parmValue            -> 'GREATER' value :                         #'PropertyParm'{value = ['$2'],                                         extraInfo = {relation, greaterThan}} .%% OTP-4013%% alternativeValue  = ( VALUE / %%                       LSBRKT VALUE *(COMMA VALUE) RSBRKT  /%%                       LSBRKT VALUE COLON VALUE RSBRKT ) /%%                       LBRKT VALUE *(COMMA VALUE) RBRKTalternativeValue     -> 'LBRKT' value valueList 'RBRKT'                            : #'PropertyParm'{value     = ['$2' | '$3'],					      extraInfo = {sublist, false}}. % ORalternativeValue     -> 'LSBRKT' value 'COLON' value 'RSBRKT'                            : #'PropertyParm'{value     = ['$2', '$4'],                                              extraInfo = {range, true}}.alternativeValue     -> 'LSBRKT' value valueList 'RSBRKT'                            : #'PropertyParm'{value     = ['$2' | '$3'],					      extraInfo = {sublist, true}}. % ANDalternativeValue     -> value :                         #'PropertyParm'{value = ['$1']} .valueList            -> 'COMMA' value valueList : ['$2' | '$3'] .valueList            -> '$empty' : [] .eventBufferDescriptor -> 'EventBufferToken' : [] .eventBufferDescriptor -> 'EventBufferToken' 'LBRKT' eventSpec eventSpecList 'RBRKT'			 : ['$3' | '$4'] .eventSpecList        -> 'COMMA' eventSpec eventSpecList : ['$2' | '$3'] .eventSpecList        -> '$empty' : [] .eventSpec            -> observedEvent : merge_eventSpec('$1') .%% at-most-once per item except for propertyParmterminationStateParm -> serviceStates      : {serviceState, '$1'} .terminationStateParm -> eventBufferControl : {eventBufferControl, '$1'} .terminationStateParm -> propertyParm       : {propertyParm, '$1'} .serviceStates        -> 'ServiceStatesToken' 'EQUAL' serviceState : '$3' .serviceState         -> 'TestToken'     : test . serviceState         -> 'OutOfSvcToken' : outOfSvc .serviceState         -> 'InSvcToken'    : inSvc .eventBufferControl   -> 'BufferToken' 'EQUAL' eventBufferControlState : '$3' .eventBufferControlState -> 'OffToken'      : off .eventBufferControlState -> 'LockStepToken' : lockStep .muxDescriptor        -> 'MuxToken' 'EQUAL' muxType  terminationIDList :                         #'MuxDescriptor'{muxType  = '$3',					 termList = '$4'} .muxType              -> safeToken : ensure_muxType('$1') .streamID             -> safeToken : ensure_streamID('$1') .pkgdName             -> safeToken : ensure_pkgdName('$1') .eventsDescriptor     -> 'EventsToken' :                         #'EventsDescriptor'{requestID = asn1_NOVALUE,                                            eventList = []} .eventsDescriptor     -> 'EventsToken' 'EQUAL' requestID                        'LBRKT' requestedEvent requestedEvents 'RBRKT' :                         #'EventsDescriptor'{requestID = '$3',                                            eventList = ['$5' | '$6']} .requestedEvents      -> 'COMMA' requestedEvent requestedEvents : ['$2' | '$3']  .requestedEvents      -> '$empty' : [] .requestedEvent       -> pkgdName requestedEventBody :                         setelement(#'RequestedEvent'.pkgdName, '$2', '$1') .requestedEventBody   -> 'LBRKT' eventParameter eventParameters 'RBRKT' :			 merge_eventParameters(['$2' | '$3']) .requestedEventBody   -> '$empty' : #'RequestedEvent'{evParList = []} .eventParameters      -> 'COMMA' eventParameter eventParameters :                         ['$2' | '$3'] .eventParameters      -> '$empty' : [] .%% at-most-once each of embedOrKeepActive , eventDM or eventStreameventParameter       -> 'KeepActiveToken'   : keepActive .eventParameter       -> embedWithSig        : '$1'.eventParameter       -> embedNoSig          : '$1'.eventParameter       -> eventDM             : '$1'.eventParameter       -> eventStreamOrOther  : '$1'.embedWithSig         -> 'EmbedToken' 'LBRKT' signalsDescriptor 			    'COMMA' embedFirst 'RBRKT'			    : {embed, '$3', '$5'} .embedWithSig         -> 'EmbedToken' 'LBRKT' signalsDescriptor 'RBRKT'			    : {embed, '$3', asn1_NOVALUE} .embedNoSig           -> 'EmbedToken' 'LBRKT' embedFirst 'RBRKT'			    : {embed, asn1_NOVALUE, '$3'} .    embedFirst           -> 'EventsToken' :                         #'SecondEventsDescriptor'{requestID = asn1_NOVALUE,                                                  eventList = []} .embedFirst           -> 'EventsToken' 'EQUAL' requestID                        'LBRKT' secondRequestedEvent secondRequestedEvents 'RBRKT' :		        #'SecondEventsDescriptor'{requestID = '$3',						  eventList = ['$5' | '$6']} .secondRequestedEvents -> 'COMMA' secondRequestedEvent secondRequestedEvents : ['$2' | '$3'] .secondRequestedEvents -> '$empty' : [] .%% at-most-once of eachsecondRequestedEvent  -> pkgdName secondRequestedEventBody 			     : setelement(#'SecondRequestedEvent'.pkgdName, '$2', '$1') .secondRequestedEventBody -> 'LBRKT' secondEventParameter secondEventParameters 'RBRKT'				    : merge_secondEventParameters(['$2' | '$3']) .secondRequestedEventBody -> '$empty' :  #'SecondRequestedEvent'{evParList = []} .secondEventParameters -> 'COMMA' secondEventParameter secondEventParameters : ['$2' | '$3'] .secondEventParameters -> '$empty' : [] .%% at-most-once each of embedOrKeepActive , eventDM or eventStreamsecondEventParameter -> 'KeepActiveToken'    : keepActive .secondEventParameter -> embedSig             : '$1' .secondEventParameter -> eventDM              : '$1' .secondEventParameter -> eventStreamOrOther   : '$1' .embedSig             -> 'EmbedToken' 'LBRKT' signalsDescriptor 'RBRKT'			    : {second_embed, '$3'} .eventStreamOrOther   -> eventParameterName parmValue :                         select_stream_or_other('$1', '$2') .eventParameterName   -> safeToken : ensure_NAME('$1') .%% The DigitMapDescriptorToken is specially treated by the scannereventDM              -> 'DigitMapDescriptorToken' :                         ensure_eventDM('$1') .%% H248S-IG (IGv11)signalsDescriptor    -> 'SignalsToken' 'LBRKT' signalParm signalParms 'RBRKT' :			 ['$3' | '$4'] .signalsDescriptor    -> 'SignalsToken' : [] .signalParms          -> 'COMMA' signalParm signalParms : [ '$2' | '$3'] .signalParms          -> '$empty' : [] .signalParm           -> signalList    : {seqSigList, '$1'} .signalParm           -> signalRequest : {signal, '$1'} .signalRequest        -> signalName 'LBRKT' sigParameter sigParameters 'RBRKT'			    : merge_signalRequest('$1', ['$3' | '$4']).signalRequest        -> signalName : merge_signalRequest('$1', []).sigParameters        -> 'COMMA' sigParameter sigParameters : ['$2' | '$3'] .sigParameters        -> '$empty' : [] .%%    sigParameter    = sigStream / sigSignalType / sigDuration / sigOther / %% 		        notifyCompletion / KeepActiveToken / %%                      direction / sigRequestID%%    sigStream            = StreamToken EQUAL StreamID %%    sigOther             = sigParameterName parmValue %%    sigParameterName     = NAME %%    sigSignalType        = SignalTypeToken EQUAL signalType %%    signalType           = (OnOffToken / TimeOutToken / BriefToken) %%    sigDuration          = DurationToken EQUAL UINT16 %%    notifyCompletion     = NotifyCompletionToken EQUAL (LBRKT %% 		             notificationReason *(COMMA notificationReason) %%                           RBRKT) %%     %%    notificationReason   = ( TimeOutToken / InterruptByEventToken / %% 			       InterruptByNewSignalsDescrToken / %%                             OtherReasonToken ) %%    sigDirection         = DirectionToken EQUAL direction%%    sigRequestID         = RequestIDToken EQUAL RequestIDsigParameter -> 'StreamToken'     'EQUAL' streamID :                 {stream, '$3'}.sigParameter -> 'SignalTypeToken' 'EQUAL' signalType :                 {signal_type, '$3'} .sigParameter -> 'DurationToken'   'EQUAL' safeToken :                 {duration, ensure_uint16('$3')} .sigParameter -> 'NotifyCompletionToken' 'EQUAL'		'LBRKT' notificationReason notificationReasons 'RBRKT' :                 {notify_completion, ['$4' | '$5']} .sigParameter -> 'KeepActiveToken' : keepActive .sigParameter -> 'DirectionToken' 'EQUAL' direction : {direction, '$3'} .sigParameter -> 'RequestIDToken' 'EQUAL' requestID : {requestId, '$3'} .sigParameter -> safeToken parmValue :                 {other, ensure_NAME('$1'), '$2'}.signalType   -> 'OnOffToken'   : onOff.signalType   -> 'TimeOutToken' : timeOut.signalType   -> 'BriefToken'   : brief.direction    -> 'ExternalToken' : external .direction    -> 'InternalToken' : internal .direction    -> 'BothToken'     : both .notificationReasons  -> 'COMMA' notificationReason notificationReasons : ['$2' | '$3'] .notificationReasons  -> '$empty' : [] .notificationReason   -> 'TimeOutToken' : onTimeOut .notificationReason   -> 'InterruptByEventToken' : onInterruptByEvent .notificationReason   -> 'InterruptByNewSignalsDescrToken' : onInterruptByNewSignalDescr .notificationReason   -> 'OtherReasonToken' : otherReason .

⌨️ 快捷键说明

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