Attempt to handle the MGCPParameter inside the command.
This commit is contained in:
parent
f8b8bb6125
commit
42bc54688b
|
@ -5,7 +5,7 @@ Do not copy...
|
|||
PackageLoader fileInPackage: 'PetitParser'.
|
||||
|
||||
PP.PPCompositeParser subclass: MGCPGrammar [
|
||||
| MGCPMessage EOL One_WSP MGCPMessage MGCPCommandLine MGCPVerb transaction_id endpointName MGCPversion MGCPCommand |
|
||||
| MGCPMessage EOL One_WSP MGCPMessage MGCPCommandLine MGCPVerb transaction_id endpointName MGCPversion MGCPParameter MGCPCommand ParameterValue |
|
||||
<category: 'MGCP-Core'>
|
||||
<comment: 'I am a the Grammar of the Media Gateway Control Protocol'>
|
||||
"'Implement MGCPResponse'"
|
||||
|
@ -74,7 +74,45 @@ PP.PPCompositeParser subclass: MGCPGrammar [
|
|||
|
||||
MGCPCommand [
|
||||
<category: 'grammar-cmd'>
|
||||
^ MGCPCommandLine
|
||||
^ MGCPCommandLine, MGCPParameter star
|
||||
]
|
||||
|
||||
MGCPParameter [
|
||||
<category: 'grammar-cmd'>
|
||||
^ ParameterValue, EOL
|
||||
]
|
||||
|
||||
ParameterValue [
|
||||
^ $K asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
$B asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
$C asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
$I asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
$N asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
$X asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
$L asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
$M asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
$R asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
$S asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
$D asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
$O asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
$P asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
$E asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
$Z asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
$Z asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
'Z2' asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
'I2' asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
$F asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
$Q asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
$T asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
'RM' asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
'RD' asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
$A asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
'ES' asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
'PL' asParser, $: asParser, #blank asParser star, #word asParser star flatten /
|
||||
'MD' asParser, $: asParser, #blank asParser star, #word asParser star flatten
|
||||
]
|
||||
]
|
||||
|
||||
Eval [
|
||||
MGCPGrammar initialize.
|
||||
]
|
||||
|
|
|
@ -27,7 +27,7 @@ PP.PPCompositeParserTest subclass: MGCPGrammarTest [
|
|||
|
||||
res := self parse: 'AUEP 23444 13@mgw MGCP 1.0',
|
||||
Character cr asString, Character lf asString.
|
||||
self assert: res size = 8.
|
||||
self assert: res size = 9.
|
||||
self assert: (res at: 1) = 'AUEP'.
|
||||
self assert: (res at: 3) = '23444'.
|
||||
self assert: (res at: 5) = #('13' $@ 'mgw').
|
||||
|
|
Reference in New Issue