From catalog/abnf-syntax.abnf rule: concatenation
Definition
concatenation = repetition *( 1*c-wsp repetition )
repetition = [ repeat ] element
repeat = 1*DIGIT / ( *DIGIT "*" *DIGIT )
element = rulename / group / option / char-val / num-val / prose-val
rulename = ALPHA *( ALPHA / DIGIT / "-" )
prose-val = "<" *( %x20-3d / %x3f-7e ) ">"
option = "[" *c-wsp alternation *c-wsp "]"
num-val = "%" ( bin-val / dec-val / hex-val )
hex-val = "x" 1*HEXDIG [ 1*( "." 1*HEXDIG ) / ( "-" 1*HEXDIG ) ]
dec-val = "d" 1*DIGIT [ 1*( "." 1*DIGIT ) / ( "-" 1*DIGIT ) ]
bin-val = "b" 1*BIT [ 1*( "." 1*BIT ) / ( "-" 1*BIT ) ]
group = "(" *c-wsp alternation *c-wsp ")"
alternation = concatenation *( *c-wsp "/" *c-wsp concatenation )
char-val = DQUOTE *( %x20-21 / %x23-7e ) DQUOTE
c-wsp = WSP / ( c-nl WSP )
c-nl = comment / CRLF
comment = ";" *( WSP / VCHAR ) CRLF