<TrainList>
<TrainList>
\
<TrainList> == <Train>
|| (
<Trains>
)
<Trains> == <Train>
|| <Trains>
;
<Train>
A <TrainList>
is either a single train (and in this case has the exact same syntax as a <Train>
element), or multiple trains, separated by a semicolon (;) and enclosed in parentheses. The <TrainList>
element is especially used in the M=FOLLOW
Movement.
The vehicles comprising a train are separated from each other by commas. As such, this character is not then suitable for separating entire trains. Therefore, the semicolon is used as a separator between entire trains. The individual parameters of a Movement are also separated with a semicolon. Because a <TrainList>
is itself only a single parameter inside the Movement, the "real" <TrainList>
, which contains multiple <Train>
elements, must be enclosed in parentheses.