Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: §wip/atl/CPL/extracted
Source used for this grammar: Frederic Jouault, CPL 1.0, CPL.ecore
, 2006/01/18
Element
, CPL
, NodeContainer
, SubAction
, Outgoing
, Incoming
, NotPresent
, Otherwise
, SwitchedAddress
, SwitchedString
, SwitchedLanguage
, SwitchedTime
, SwitchedPriority
, Busy
, NoAnswer
, Redirection
, Failure
, Default
, Node
, Switch
, AddressSwitch
, StringSwitch
, LanguageSwitch
, TimeSwitch
, PrioritySwitch
, Location
, SubCall
, Action
, SignallingAction
, Proxy
, Redirect
, Reject
, Boolean
, Integer
, String
), 0 root (—), 3 top (Element
, Boolean
, Integer
), 0 bottom (—).[subActions]
, [outgoing]
, [incoming]
, [id]
, [contents]
9, [is]
2, [contains]
2, [subDomainOf]
, [matches]
, [dtstart]
, [dtend]
, [duration]
, [freq]
, [until]
, [count]
, [interval]
, [bySecond]
, [byMinute]
, [byHour]
, [byDay]
, [byMonthDay]
, [byYearDay]
, [byWeekNo]
, [byMonth]
, [wkst]
, [bySetPos]
, [less]
, [greater]
, [equal]
, [field]
2, [subField]
, [addresses]
, [strings]
, [languages]
, [tzid]
, [tzurl]
, [times]
, [priorities]
, [url]
, [priority]
, [clear]
, [ref]
, [timeout]
, [recurse]
, [ordering]
, [busy]
, [noAnswer]
, [redirection]
, [failure]
, [default]
, [permanent]
, [status]
, [reason]
.Element ::= CPL
Element ::= NodeContainer
Element ::= Node
CPL ::=
[subActions]::SubAction
[outgoing]::Outgoing [incoming]::IncomingNodeContainer ::= SubAction
NodeContainer ::= Outgoing
NodeContainer ::= Incoming
NodeContainer ::= NotPresent
NodeContainer ::= Otherwise
NodeContainer ::= SwitchedAddress
NodeContainer ::= SwitchedString
NodeContainer ::= SwitchedLanguage
NodeContainer ::= SwitchedTime
NodeContainer ::= SwitchedPriority
NodeContainer ::= Busy
NodeContainer ::= NoAnswer
NodeContainer ::= Redirection
NodeContainer ::= Failure
NodeContainer ::= Default
NodeContainer ::= Location
SubAction ::= [id]::String
Outgoing ::= [contents]::Node
Incoming ::= [contents]::Node
NotPresent ::= [contents]::Node
Otherwise ::= [contents]::Node
SwitchedAddress ::= [is]::String [contains]::String [subDomainOf]::String
SwitchedString ::= [is]::String [contains]::String
SwitchedLanguage ::= [matches]::String
SwitchedTime ::= [dtstart]::String [dtend]::String [duration]::String [freq]::String [until]::String [count]::String [interval]::String [bySecond]::String [byMinute]::String [byHour]::String [byDay]::String [byMonthDay]::String [byYearDay]::String [byWeekNo]::String [byMonth]::String [wkst]::String [bySetPos]::String
SwitchedPriority ::= [less]::String [greater]::String [equal]::String
Busy ::= [contents]::Node
NoAnswer ::= [contents]::Node
Redirection ::= [contents]::Node
Failure ::= [contents]::Node
Default ::= [contents]::Node
Node ::= Switch
Node ::= SubCall
Node ::= Action
Node ::= Location
Switch ::= AddressSwitch
Switch ::= StringSwitch
Switch ::= LanguageSwitch
Switch ::= TimeSwitch
Switch ::= PrioritySwitch
AddressSwitch ::=
[field]::String [subField]::String [addresses]::SwitchedAddress
StringSwitch ::=
[field]::String [strings]::SwitchedString
LanguageSwitch ::=
[languages]::SwitchedLanguage
TimeSwitch ::=
[tzid]::String [tzurl]::String [times]::SwitchedTime
PrioritySwitch ::=
[priorities]::SwitchedPriority
Location ::= [url]::String [priority]::String [clear]::String
SubCall ::= [ref]::String
Action ::= SignallingAction
SignallingAction ::= Proxy
SignallingAction ::= Redirect
SignallingAction ::= Reject
Proxy ::= [timeout]::String [recurse]::String [ordering]::String [busy]::Busy [noAnswer]::NoAnswer [redirection]::Redirection [failure]::Failure [default]::Default
Redirect ::= [permanent]::String
Reject ::= [status]::String [reason]::String
Boolean ::= "true" "false"
Integer ::= integer
String ::= string