(
(rule ebnf "1" (star _ebnf_1))
(rule _ebnf_1 "1.1" (alt declaration rule))
(rule declaration "2" (alt '@terminals' pass))
(rule rule "3" (seq LHS expression))
(rule expression "4" (seq alt))
(rule alt "5" (seq seq _alt_1))
(rule _alt_1 "5.1" (star _alt_2))
(rule _alt_2 "5.2" (seq '|' seq))
(rule seq "6" (plus diff))
(rule diff "7" (seq postfix _diff_1))
(rule _diff_1 "7.1" (opt _diff_2))
(rule _diff_2 "7.2" (seq '-' postfix))
(rule postfix "8" (seq primary _postfix_1))
(rule _postfix_1 "8.1" (opt POSTFIX))
(rule primary "9" (alt HEX SYMBOL O_RANGE RANGE STRING1 STRING2 _primary_1))
(rule _primary_1 "9.1" (seq '(' expression ')'))
(rule pass "10" (seq '@pass' expression))
(terminals _terminals (seq))
(terminal LHS "11" (seq _LHS_1 SYMBOL _LHS_2 '::='))
(terminal _LHS_1 "11.1" (opt _LHS_3))
(terminal _LHS_3 "11.3" (seq '[' SYMBOL ']' _LHS_4))
(terminal _LHS_4 "11.4" (plus ' '))
(terminal _LHS_2 "11.2" (star ' '))
(terminal SYMBOL "12" (plus _SYMBOL_1))
(terminal _SYMBOL_1 "12.1" (alt _SYMBOL_2 _SYMBOL_3 _SYMBOL_4 '_' '.'))
(terminal _SYMBOL_2 "12.2" (range "a-z"))
(terminal _SYMBOL_3 "12.3" (range "A-Z"))
(terminal _SYMBOL_4 "12.4" (range "0-9"))
(terminal HEX "13" (seq '#x' _HEX_1))
(terminal _HEX_1 "13.1" (plus _HEX_2))
(terminal _HEX_2 "13.2" (alt _HEX_3 _HEX_4 _HEX_5))
(terminal _HEX_3 "13.3" (range "a-f"))
(terminal _HEX_4 "13.4" (range "A-F"))
(terminal _HEX_5 "13.5" (range "0-9"))
(terminal RANGE "14" (seq '[' _RANGE_1 _RANGE_2 _RANGE_3))
(terminal _RANGE_1 "14.1" (plus _RANGE_4))
(terminal _RANGE_4 "14.4" (alt _RANGE_5 _RANGE_6 R_CHAR HEX))
(terminal _RANGE_5 "14.5" (seq R_CHAR '-' R_CHAR))
(terminal _RANGE_6 "14.6" (seq HEX '-' HEX))
(terminal _RANGE_2 "14.2" (opt '-'))
(terminal _RANGE_3 "14.3" (diff ']' LHS))
(terminal O_RANGE "15" (seq '[^' _O_RANGE_1 _O_RANGE_2 ']'))
(terminal _O_RANGE_1 "15.1" (plus _O_RANGE_3))
(terminal _O_RANGE_3 "15.3" (alt _O_RANGE_4 _O_RANGE_5 R_CHAR HEX))
(terminal _O_RANGE_4 "15.4" (seq R_CHAR '-' R_CHAR))
(terminal _O_RANGE_5 "15.5" (seq HEX '-' HEX))
(terminal _O_RANGE_2 "15.2" (opt '-'))
(terminal STRING1 "16" (seq '"' _STRING1_1 '"'))
(terminal _STRING1_1 "16.1" (star _STRING1_2))
(terminal _STRING1_2 "16.2" (diff CHAR '"'))
(terminal STRING2 "17" (seq "'" _STRING2_1 "'"))
(terminal _STRING2_1 "17.1" (star _STRING2_2))
(terminal _STRING2_2 "17.2" (diff CHAR "'"))
(terminal CHAR "18" (alt _CHAR_1 _CHAR_2 _CHAR_3 _CHAR_4))
(terminal _CHAR_1 "18.1" (range "#x9#xA#xD"))
(terminal _CHAR_2 "18.2" (range "#x20-#xD7FF"))
(terminal _CHAR_3 "18.3" (range "#xE000-#xFFFD"))
(terminal _CHAR_4 "18.4" (range "#x10000-#x10FFFF"))
(terminal R_CHAR "19" (diff CHAR _R_CHAR_1))
(terminal _R_CHAR_1 "19.1" (alt ']' '-' HEX))
(terminal POSTFIX "20" (range "?*+"))
(terminal PASS "21" (alt _PASS_1 _PASS_2 _PASS_3 _PASS_4))
(terminal _PASS_1 "21.1" (range "#x9#xA#xD#x20"))
(terminal _PASS_2 "21.2" (seq _PASS_5 _PASS_6))
(terminal _PASS_5 "21.5" (alt _PASS_7 '//'))
(terminal _PASS_7 "21.7" (diff '#' '#x'))
(terminal _PASS_6 "21.6" (star _PASS_8))
(terminal _PASS_8 "21.8" (range "^#xA#xD"))
(terminal _PASS_3 "21.3" (seq '/*' _PASS_9 '*/'))
(terminal _PASS_9 "21.9" (star _PASS_10))
(terminal _PASS_10 "21.10" (alt _PASS_11 _PASS_12))
(terminal _PASS_11 "21.11" (opt _PASS_13))
(terminal _PASS_13 "21.13" (seq '*' _PASS_14))
(terminal _PASS_14 "21.14" (range "^/"))
(terminal _PASS_12 "21.12" (range "^*"))
(terminal _PASS_4 "21.4" (seq '(*' _PASS_15 '*)'))
(terminal _PASS_15 "21.15" (star _PASS_16))
(terminal _PASS_16 "21.16" (alt _PASS_17 _PASS_18))
(terminal _PASS_17 "21.17" (opt _PASS_19))
(terminal _PASS_19 "21.19" (seq '*' _PASS_20))
(terminal _PASS_20 "21.20" (range "^)"))
(terminal _PASS_18 "21.18" (range "^*"))
(pass _pass (seq PASS)))