A test of this stuff in bookstack! Looks like it doesn't export as pdf and the preview is nil.
BNFProduction: public private protected ReturnType # <IDENTIFIER> FormalParameters ThrowsList TreeNodeDescriptor RECOVER_TO ExpansionChoice : <IDENTIFIER> : Block # ExpansionChoice ;
TreeNodeDescriptor: # Name abstract interface void ( > >= < <= + - Expression )
ExpansionChoice: | 1..N ExpansionSequence
ExpansionSequence: Lookahead ExpansionUnit !
ExpansionUnit: UNCACHE_TOKENS Failure CodeBlock # UnparsedCodeBlock AttemptBlock TryBlock Assertion ExpansionWithParentheses ZeroOrOne Terminal NonTerminal InlineTreeNodeDescriptor
Failure: FAIL : Expression CodeBlock
AttemptBlock: ATTEMPT ExpansionChoice RECOVER ExpansionWithParentheses CodeBlock
UnparsedCodeBlock: {$ <UNPARSED_CONTENT> $}
TryBlock: try { ExpansionChoice } CatchBlock FinallyBlock
Assertion: ASSERT { Expression } # ~ ( ExpansionChoice ) : Expression : =>||
ExpansionWithParentheses: LexicalStateSwitch TokenActivation Assignment ( ExpansionChoice ) * ? + ! =>||
ZeroOrOne: LexicalStateSwitch TokenActivation Assignment [ ExpansionChoice ] ! =>||
NonTerminal: Assignment <IDENTIFIER> InvocationArguments ! ChildNameInfo =>||
Terminal: Assignment RegexpStringLiteral RegexpRef EndOfFile ! ChildNameInfo =>||
InlineTreeNodeDescriptor: \ Assignment # Name ( > >= < <= + - Expression ) ( Expression )
Assignment: @ Name / Name / = := =? :=? =$ :=$ += :+=