Appendix A: Lexer Regular Expression Syntax

regular‑expression choice
choice catenation ( | catenation )*
catenation repetition ( repetition )*
repetition primary ( * | + | ? )?
primary ( choice ) | escape | class | expression‑reference | ^ | - | . | [^\x0\r\n{}\\()[\]|*+?.^-]
class [ ^? range* ]
range char (- char)?
char ( | ) | [ | ] | | | * | + | ? | . | escape | ^ | - | [^\x0\r\n{}\\()[\]|*+?.^-]
expression‑reference { expression‑name }
expression‑name [^\x0\r\n{}\\()[\]|*+?.^-]+