
Diagram(
Terminal('|'),
ZeroOrMore(Choice(0, NonTerminal('character'), NonTerminal('escape'), NonTerminal('macro'))),
Choice(0,
Sequence(Terminal('newline'), Comment('adds a newline')),
Sequence(Terminal('\\'), Terminal('newline'), Comment('joins the next line')))
)