parameters
'context type': component 'plural type selector'
'parameters': [ parameters: ] dictionary {
'has successor': stategroup = node-switch successor (
| node = 'yes' { 'successor' = successor }
| none = 'no'
)
'type': [ : ] stategroup (
'number' { [ number ]
'numerical type': reference
}
'text' { [ text ] }
)
}
'singular type selector' {
'has step': stategroup (
'yes' {
'step': [ . ] reference
'tail': component 'singular type selector'
}
'no' { }
)
}
'conditional type selector' {
'head': component 'singular type selector'
'has step': stategroup (
'yes' {
'step': [ . ] reference
'state': [ ? ] reference
'tail': component 'conditional type selector'
}
'no' { }
)
}
'plural type selector' {
'head': component 'conditional type selector'
'has step': stategroup (
'yes' {
'step': [ ., * ] reference
'tail': component 'plural type selector'
}
'no' { }
)
}