(grammar (start program))
(rule program normal (choice ordered (seq (alias byte_order_mark (immediateToken (literal %EF%BB%BF))) (repeat0 (ref program_element))) (repeat0 (ref program_element))) (concept grammar.program))
(rule program_element silent (choice ordered (ref atmosphere) (ref extension) (ref datum)) (concept grammar.program-element) (source-names (tree-sitter _token)))
(rule atmosphere silent (choice ordered (alias whitespace (immediateToken (repeat1 (class plain (char %20) (char %09) (char %0A) (char %0B) (char %0C) (char %0D) (char %C2%85) (char %C2%A0) (char %E1%9A%80) (range %E2%80%80 %E2%80%8A) (char %E2%80%A8) (char %E2%80%A9) (char %E2%80%AF) (char %E2%81%9F) (char %E3%80%80) (char %EF%BB%BF))))) (ref comment) (ref datum_comment) (ref block_comment)) (concept grammar.atmosphere) (source-names (tree-sitter _skip)))
(rule dot token (seq (literal .) (not (choice unordered (class negated (char %20) (char %09) (char %0A) (char %0B) (char %0C) (char %0D) (char %C2%85) (char %C2%A0) (char %E1%9A%80) (range %E2%80%80 %E2%80%8A) (char %E2%80%A8) (char %E2%80%A9) (char %E2%80%AF) (char %E2%81%9F) (char %E3%80%80) (char %EF%BB%BF) (char %28) (char %29) (char %7B) (char %7D) (char %22) (char %2C) (char %27) (char %60) (char %3B) (char %5B) (char %5D) (char %7C) (char %5C)) (seq (literal %7C) (repeat0 (class negated (char %7C))) (literal %7C)) (seq (literal %5C) (choice unordered (class negated (char %0A)) (literal %0A)))))) (concept grammar.racket.pair-separator))
(rule comment token (choice unordered (seq (literal %3B) (repeat0 (class negated (char %0D) (char %0A) (char %C2%85) (char %E2%80%A8) (char %E2%80%A9)))) (seq (choice unordered (literal %23%21%20) (literal %23%21%2F)) (repeat0 (seq (repeat0 (class negated (char %0D) (char %0A) (char %C2%85) (char %E2%80%A8) (char %E2%80%A9))) (literal %5C) (class plain (char %0D) (char %0A) (char %C2%85) (char %E2%80%A8) (char %E2%80%A9)))) (repeat0 (class negated (char %0D) (char %0A) (char %C2%85) (char %E2%80%A8) (char %E2%80%A9))))) (concept grammar.comment))
(rule block_comment normal (seq (literal %23%7C) (repeat0 (choice ordered (ref block_comment) (alias comment_text (immediateToken (repeat1 (seq (not (literal %23%7C)) (not (literal %7C%23)) any)))))) (literal %7C%23)) (concept grammar.block-comment))
(rule datum_comment normal (seq (literal %23%3B) (repeat0 (ref atmosphere)) (ref datum)) (concept grammar.racket.datum-comment) (source-names (tree-sitter sexp_comment)))
(rule datum silent (choice ordered (ref boolean) (ref string) (ref here_string) (ref byte_string) (ref character) (longest (ref number) (ref symbol)) (ref keyword) (ref regular_expression) (ref box) (ref graph) (ref structure) (ref hash) (ref quote) (ref quasiquote) (ref syntax) (ref quasisyntax) (ref unquote_splicing) (ref unquote) (ref unsyntax_splicing) (ref unsyntax) (ref list) (ref vector)) (concept grammar.datum) (source-names (tree-sitter _datum)))
(rule boolean token (choice unordered (literal %23true) (literal %23t) (literal %23T) (literal %23false) (seq (literal %23f) (not (class plain (char l) (char x)))) (literal %23F)) (concept grammar.boolean-value))
(rule string normal (seq (literal %22) (repeat0 (choice ordered (ref escape_sequence) (alias string_text (immediateToken (repeat1 (class negated (char %22) (char %5C))))))) (literal %22)) (concept grammar.string))
(rule byte_string normal (seq (literal %23) (seq (literal %22) (repeat0 (choice ordered (ref escape_sequence) (alias string_text (immediateToken (repeat1 (class negated (char %22) (char %5C))))))) (literal %22))) (concept grammar.racket.byte-string))
(rule here_string normal (seq (literal %23%3C%3C) (ref here_terminator) (repeat0 (seq (ref here_newline) (ref here_line))) (ref here_newline) (ref here_end)) (concept grammar.racket.here-string))
(rule here_terminator token (repeat0 (class negated (char %0A))) (action (set here matched)) (concept grammar.racket.here-string-terminator))
(rule here_newline token (literal %0A) (concept grammar.racket.here-string-line-break))
(rule here_line token (repeat0 (class negated (char %0A))) (action (if (equal matched (variable here)) (then fail))) (concept grammar.racket.here-string-line))
(rule here_end token (repeat0 (class negated (char %0A))) (action (if (not (equal matched (variable here))) (then fail))) (concept grammar.racket.here-string-end))
(rule regular_expression normal (seq (alias regular_expression_prefix (immediateToken (choice unordered (literal %23rx) (literal %23px) (literal %23rx%23) (literal %23px%23)))) (seq (literal %22) (repeat0 (choice ordered (ref escape_sequence) (alias string_text (immediateToken (repeat1 (class negated (char %22) (char %5C))))))) (literal %22))) (concept grammar.racket.regular-expression-literal) (source-names (tree-sitter regex)))
(rule escape_sequence token (seq (literal %5C) (choice unordered (class plain (char a) (char b) (char t) (char n) (char v) (char f) (char r) (char e) (char %22) (char %27) (char %5C)) (repeat 1 3 (range 0 7)) (seq (literal x) (repeat 1 2 (class plain (range 0 9) (range a f) (range A F)))) (seq (literal u) (repeat 1 4 (class plain (range 0 9) (range a f) (range A F)))) (seq (literal U) (repeat 1 8 (class plain (range 0 9) (range a f) (range A F)))) (class plain (char %0D) (char %0A)) (literal %0D%0A))) (concept grammar.escape-sequence))
(rule number token (lexicalPrecedence 1 (choice unordered (seq (seq (literal %23) (class plain (char b) (char B))) (choice unordered (seq (optional (class plain (char %2B) (char -))) (seq (choice unordered (seq (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (class plain (char 0) (char 1)))) (literal .) (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23)))) (seq (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23))))) (optional (seq (class plain (char t) (char T)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (class plain (char 0) (char 1)))))))) (seq (class plain (char %2B) (char -)) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F) (char t) (char T))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F) (char t) (char T))))))) (seq (seq (literal %23) (class plain (char o) (char O))) (choice unordered (seq (optional (class plain (char %2B) (char -))) (seq (choice unordered (seq (seq (repeat1 (range 0 7)) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (range 0 7))) (literal .) (seq (repeat1 (range 0 7)) (repeat0 (literal %23)))) (seq (seq (repeat1 (range 0 7)) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (range 0 7)) (repeat0 (literal %23))))) (optional (seq (class plain (char t) (char T)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (range 0 7))))))) (seq (class plain (char %2B) (char -)) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F) (char t) (char T))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F) (char t) (char T))))))) (seq (optional (seq (literal %23) (class plain (char d) (char D)))) (choice unordered (seq (optional (class plain (char %2B) (char -))) (seq (choice unordered (seq (seq (repeat1 (range 0 9)) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (range 0 9))) (literal .) (seq (repeat1 (range 0 9)) (repeat0 (literal %23)))) (seq (seq (repeat1 (range 0 9)) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (range 0 9)) (repeat0 (literal %23))))) (optional (seq (class plain (char t) (char T)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (range 0 9))))))) (seq (class plain (char %2B) (char -)) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F) (char t) (char T))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F) (char t) (char T))))))) (seq (seq (literal %23) (class plain (char x) (char X))) (choice unordered (seq (optional (class plain (char %2B) (char -))) (seq (choice unordered (seq (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (class plain (range 0 9) (range a f) (range A F)))) (literal .) (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23)))) (seq (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23))))) (optional (seq (class plain (char t) (char T)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (class plain (range 0 9) (range a f) (range A F)))))))) (seq (class plain (char %2B) (char -)) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F) (char t) (char T))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F) (char t) (char T))))))) (seq (choice unordered (seq (optional (seq (literal %23) (class plain (char e) (char i) (char E) (char I)))) (seq (literal %23) (class plain (char b) (char B)))) (seq (seq (literal %23) (class plain (char b) (char B))) (optional (seq (literal %23) (class plain (char e) (char i) (char E) (char I)))))) (choice unordered (choice unordered (seq (optional (class plain (char %2B) (char -))) (choice unordered (repeat1 (class plain (char 0) (char 1))) (seq (repeat1 (class plain (char 0) (char 1))) (literal %2F) (repeat1 (class plain (char 0) (char 1)))))) (seq (optional (seq (optional (class plain (char %2B) (char -))) (choice unordered (repeat1 (class plain (char 0) (char 1))) (seq (repeat1 (class plain (char 0) (char 1))) (literal %2F) (repeat1 (class plain (char 0) (char 1))))))) (class plain (char %2B) (char -)) (optional (choice unordered (repeat1 (class plain (char 0) (char 1))) (seq (repeat1 (class plain (char 0) (char 1))) (literal %2F) (repeat1 (class plain (char 0) (char 1)))))) (class plain (char i) (char I)))) (choice unordered (choice unordered (seq (optional (class plain (char %2B) (char -))) (seq (choice unordered (seq (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (class plain (char 0) (char 1)))) (literal .) (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23)))) (seq (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23))))) (optional (seq (class plain (char s) (char l) (char d) (char e) (char f) (char S) (char L) (char D) (char E) (char F)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (class plain (char 0) (char 1)))))))) (seq (class plain (char %2B) (char -)) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F)))))) (choice unordered (seq (optional (choice unordered (seq (optional (class plain (char %2B) (char -))) (seq (choice unordered (seq (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (class plain (char 0) (char 1)))) (literal .) (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23)))) (seq (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23))))) (optional (seq (class plain (char s) (char l) (char d) (char e) (char f) (char S) (char L) (char D) (char E) (char F)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (class plain (char 0) (char 1)))))))) (seq (class plain (char %2B) (char -)) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F))))))) (class plain (char %2B) (char -)) (optional (choice unordered (seq (choice unordered (seq (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (class plain (char 0) (char 1)))) (literal .) (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23)))) (seq (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23))))) (optional (seq (class plain (char s) (char l) (char d) (char e) (char f) (char S) (char L) (char D) (char E) (char F)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (class plain (char 0) (char 1))))))) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F)))))) (class plain (char i) (char I))) (seq (choice unordered (seq (optional (class plain (char %2B) (char -))) (seq (choice unordered (seq (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (class plain (char 0) (char 1)))) (literal .) (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23)))) (seq (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23))))) (optional (seq (class plain (char s) (char l) (char d) (char e) (char f) (char S) (char L) (char D) (char E) (char F)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (class plain (char 0) (char 1)))))))) (seq (class plain (char %2B) (char -)) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F)))))) (literal %40) (choice unordered (seq (optional (class plain (char %2B) (char -))) (seq (choice unordered (seq (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (class plain (char 0) (char 1)))) (literal .) (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23)))) (seq (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (class plain (char 0) (char 1))) (repeat0 (literal %23))))) (optional (seq (class plain (char s) (char l) (char d) (char e) (char f) (char S) (char L) (char D) (char E) (char F)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (class plain (char 0) (char 1)))))))) (seq (class plain (char %2B) (char -)) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F))))))))))) (seq (choice unordered (seq (optional (seq (literal %23) (class plain (char e) (char i) (char E) (char I)))) (seq (literal %23) (class plain (char o) (char O)))) (seq (seq (literal %23) (class plain (char o) (char O))) (optional (seq (literal %23) (class plain (char e) (char i) (char E) (char I)))))) (choice unordered (choice unordered (seq (optional (class plain (char %2B) (char -))) (choice unordered (repeat1 (range 0 7)) (seq (repeat1 (range 0 7)) (literal %2F) (repeat1 (range 0 7))))) (seq (optional (seq (optional (class plain (char %2B) (char -))) (choice unordered (repeat1 (range 0 7)) (seq (repeat1 (range 0 7)) (literal %2F) (repeat1 (range 0 7)))))) (class plain (char %2B) (char -)) (optional (choice unordered (repeat1 (range 0 7)) (seq (repeat1 (range 0 7)) (literal %2F) (repeat1 (range 0 7))))) (class plain (char i) (char I)))) (choice unordered (choice unordered (seq (optional (class plain (char %2B) (char -))) (seq (choice unordered (seq (seq (repeat1 (range 0 7)) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (range 0 7))) (literal .) (seq (repeat1 (range 0 7)) (repeat0 (literal %23)))) (seq (seq (repeat1 (range 0 7)) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (range 0 7)) (repeat0 (literal %23))))) (optional (seq (class plain (char s) (char l) (char d) (char e) (char f) (char S) (char L) (char D) (char E) (char F)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (range 0 7))))))) (seq (class plain (char %2B) (char -)) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F)))))) (choice unordered (seq (optional (choice unordered (seq (optional (class plain (char %2B) (char -))) (seq (choice unordered (seq (seq (repeat1 (range 0 7)) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (range 0 7))) (literal .) (seq (repeat1 (range 0 7)) (repeat0 (literal %23)))) (seq (seq (repeat1 (range 0 7)) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (range 0 7)) (repeat0 (literal %23))))) (optional (seq (class plain (char s) (char l) (char d) (char e) (char f) (char S) (char L) (char D) (char E) (char F)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (range 0 7))))))) (seq (class plain (char %2B) (char -)) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F))))))) (class plain (char %2B) (char -)) (optional (choice unordered (seq (choice unordered (seq (seq (repeat1 (range 0 7)) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (range 0 7))) (literal .) (seq (repeat1 (range 0 7)) (repeat0 (literal %23)))) (seq (seq (repeat1 (range 0 7)) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (range 0 7)) (repeat0 (literal %23))))) (optional (seq (class plain (char s) (char l) (char d) (char e) (char f) (char S) (char L) (char D) (char E) (char F)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (range 0 7)))))) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F)))))) (class plain (char i) (char I))) (seq (choice unordered (seq (optional (class plain (char %2B) (char -))) (seq (choice unordered (seq (seq (repeat1 (range 0 7)) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (range 0 7))) (literal .) (seq (repeat1 (range 0 7)) (repeat0 (literal %23)))) (seq (seq (repeat1 (range 0 7)) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (range 0 7)) (repeat0 (literal %23))))) (optional (seq (class plain (char s) (char l) (char d) (char e) (char f) (char S) (char L) (char D) (char E) (char F)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (range 0 7))))))) (seq (class plain (char %2B) (char -)) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F)))))) (literal %40) (choice unordered (seq (optional (class plain (char %2B) (char -))) (seq (choice unordered (seq (seq (repeat1 (range 0 7)) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (range 0 7))) (literal .) (seq (repeat1 (range 0 7)) (repeat0 (literal %23)))) (seq (seq (repeat1 (range 0 7)) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (range 0 7)) (repeat0 (literal %23))))) (optional (seq (class plain (char s) (char l) (char d) (char e) (char f) (char S) (char L) (char D) (char E) (char F)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (range 0 7))))))) (seq (class plain (char %2B) (char -)) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F))))))))))) (seq (choice unordered (seq (optional (seq (literal %23) (class plain (char e) (char i) (char E) (char I)))) (optional (seq (literal %23) (class plain (char d) (char D))))) (seq (optional (seq (literal %23) (class plain (char d) (char D)))) (optional (seq (literal %23) (class plain (char e) (char i) (char E) (char I)))))) (choice unordered (choice unordered (seq (optional (class plain (char %2B) (char -))) (choice unordered (repeat1 (range 0 9)) (seq (repeat1 (range 0 9)) (literal %2F) (repeat1 (range 0 9))))) (seq (optional (seq (optional (class plain (char %2B) (char -))) (choice unordered (repeat1 (range 0 9)) (seq (repeat1 (range 0 9)) (literal %2F) (repeat1 (range 0 9)))))) (class plain (char %2B) (char -)) (optional (choice unordered (repeat1 (range 0 9)) (seq (repeat1 (range 0 9)) (literal %2F) (repeat1 (range 0 9))))) (class plain (char i) (char I)))) (choice unordered (choice unordered (seq (optional (class plain (char %2B) (char -))) (seq (choice unordered (seq (seq (repeat1 (range 0 9)) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (range 0 9))) (literal .) (seq (repeat1 (range 0 9)) (repeat0 (literal %23)))) (seq (seq (repeat1 (range 0 9)) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (range 0 9)) (repeat0 (literal %23))))) (optional (seq (class plain (char s) (char l) (char d) (char e) (char f) (char S) (char L) (char D) (char E) (char F)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (range 0 9))))))) (seq (class plain (char %2B) (char -)) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F)))))) (choice unordered (seq (optional (choice unordered (seq (optional (class plain (char %2B) (char -))) (seq (choice unordered (seq (seq (repeat1 (range 0 9)) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (range 0 9))) (literal .) (seq (repeat1 (range 0 9)) (repeat0 (literal %23)))) (seq (seq (repeat1 (range 0 9)) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (range 0 9)) (repeat0 (literal %23))))) (optional (seq (class plain (char s) (char l) (char d) (char e) (char f) (char S) (char L) (char D) (char E) (char F)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (range 0 9))))))) (seq (class plain (char %2B) (char -)) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F))))))) (class plain (char %2B) (char -)) (optional (choice unordered (seq (choice unordered (seq (seq (repeat1 (range 0 9)) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (range 0 9))) (literal .) (seq (repeat1 (range 0 9)) (repeat0 (literal %23)))) (seq (seq (repeat1 (range 0 9)) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (range 0 9)) (repeat0 (literal %23))))) (optional (seq (class plain (char s) (char l) (char d) (char e) (char f) (char S) (char L) (char D) (char E) (char F)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (range 0 9)))))) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F)))))) (class plain (char i) (char I))) (seq (choice unordered (seq (optional (class plain (char %2B) (char -))) (seq (choice unordered (seq (seq (repeat1 (range 0 9)) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (range 0 9))) (literal .) (seq (repeat1 (range 0 9)) (repeat0 (literal %23)))) (seq (seq (repeat1 (range 0 9)) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (range 0 9)) (repeat0 (literal %23))))) (optional (seq (class plain (char s) (char l) (char d) (char e) (char f) (char S) (char L) (char D) (char E) (char F)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (range 0 9))))))) (seq (class plain (char %2B) (char -)) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F)))))) (literal %40) (choice unordered (seq (optional (class plain (char %2B) (char -))) (seq (choice unordered (seq (seq (repeat1 (range 0 9)) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (range 0 9))) (literal .) (seq (repeat1 (range 0 9)) (repeat0 (literal %23)))) (seq (seq (repeat1 (range 0 9)) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (range 0 9)) (repeat0 (literal %23))))) (optional (seq (class plain (char s) (char l) (char d) (char e) (char f) (char S) (char L) (char D) (char E) (char F)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (range 0 9))))))) (seq (class plain (char %2B) (char -)) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F))))))))))) (seq (choice unordered (seq (optional (seq (literal %23) (class plain (char e) (char i) (char E) (char I)))) (seq (literal %23) (class plain (char x) (char X)))) (seq (seq (literal %23) (class plain (char x) (char X))) (optional (seq (literal %23) (class plain (char e) (char i) (char E) (char I)))))) (choice unordered (choice unordered (seq (optional (class plain (char %2B) (char -))) (choice unordered (repeat1 (class plain (range 0 9) (range a f) (range A F))) (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (literal %2F) (repeat1 (class plain (range 0 9) (range a f) (range A F)))))) (seq (optional (seq (optional (class plain (char %2B) (char -))) (choice unordered (repeat1 (class plain (range 0 9) (range a f) (range A F))) (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (literal %2F) (repeat1 (class plain (range 0 9) (range a f) (range A F))))))) (class plain (char %2B) (char -)) (optional (choice unordered (repeat1 (class plain (range 0 9) (range a f) (range A F))) (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (literal %2F) (repeat1 (class plain (range 0 9) (range a f) (range A F)))))) (class plain (char i) (char I)))) (choice unordered (choice unordered (seq (optional (class plain (char %2B) (char -))) (seq (choice unordered (seq (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (class plain (range 0 9) (range a f) (range A F)))) (literal .) (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23)))) (seq (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23))))) (optional (seq (class plain (char s) (char l) (char S) (char L)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (class plain (range 0 9) (range a f) (range A F)))))))) (seq (class plain (char %2B) (char -)) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F)))))) (choice unordered (seq (optional (choice unordered (seq (optional (class plain (char %2B) (char -))) (seq (choice unordered (seq (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (class plain (range 0 9) (range a f) (range A F)))) (literal .) (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23)))) (seq (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23))))) (optional (seq (class plain (char s) (char l) (char S) (char L)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (class plain (range 0 9) (range a f) (range A F)))))))) (seq (class plain (char %2B) (char -)) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F))))))) (class plain (char %2B) (char -)) (optional (choice unordered (seq (choice unordered (seq (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (class plain (range 0 9) (range a f) (range A F)))) (literal .) (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23)))) (seq (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23))))) (optional (seq (class plain (char s) (char l) (char S) (char L)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (class plain (range 0 9) (range a f) (range A F))))))) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F)))))) (class plain (char i) (char I))) (seq (choice unordered (seq (optional (class plain (char %2B) (char -))) (seq (choice unordered (seq (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (class plain (range 0 9) (range a f) (range A F)))) (literal .) (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23)))) (seq (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23))))) (optional (seq (class plain (char s) (char l) (char S) (char L)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (class plain (range 0 9) (range a f) (range A F)))))))) (seq (class plain (char %2B) (char -)) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F)))))) (literal %40) (choice unordered (seq (optional (class plain (char %2B) (char -))) (seq (choice unordered (seq (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23))) (optional (literal .)) (repeat0 (literal %23))) (seq (optional (repeat1 (class plain (range 0 9) (range a f) (range A F)))) (literal .) (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23)))) (seq (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23))) (literal %2F) (seq (repeat1 (class plain (range 0 9) (range a f) (range A F))) (repeat0 (literal %23))))) (optional (seq (class plain (char s) (char l) (char S) (char L)) (seq (optional (class plain (char %2B) (char -))) (repeat1 (class plain (range 0 9) (range a f) (range A F)))))))) (seq (class plain (char %2B) (char -)) (choice unordered (seq (seq (class plain (char i) (char I)) (class plain (char n) (char N)) (class plain (char f) (char F))) (literal .) (class plain (char 0) (char f) (char F))) (seq (seq (class plain (char n) (char N)) (class plain (char a) (char A)) (class plain (char n) (char N))) (literal .) (class plain (char 0) (char f) (char F))))))))))))) (concept grammar.number))
(rule decimal token (repeat1 (range 0 9)) (concept grammar.racket.vector-length))
(rule character token (seq (literal %23%5C) (choice unordered (literal nul) (literal null) (literal backspace) (literal tab) (literal newline) (literal linefeed) (literal vtab) (literal page) (literal return) (literal space) (literal rubout) (repeat 3 3 (range 0 7)) (seq (literal u) (repeat 1 4 (class plain (range 0 9) (range a f) (range A F)))) (seq (literal U) (repeat 1 8 (class plain (range 0 9) (range a f) (range A F)))) (choice unordered (class negated (char %0A)) (literal %0A)))) (concept grammar.character-literal))
(rule symbol token (choice unordered (seq (literal %23) (class plain (char c) (char C)) (class plain (char i) (char I) (char s) (char S))) (seq (choice unordered (class negated (char %20) (char %09) (char %0A) (char %0B) (char %0C) (char %0D) (char %C2%85) (char %C2%A0) (char %E1%9A%80) (range %E2%80%80 %E2%80%8A) (char %E2%80%A8) (char %E2%80%A9) (char %E2%80%AF) (char %E2%81%9F) (char %E3%80%80) (char %EF%BB%BF) (char %28) (char %29) (char %7B) (char %7D) (char %22) (char %2C) (char %27) (char %60) (char %3B) (char %5B) (char %5D) (char %23) (char %7C) (char %5C)) (literal %23%25) (seq (literal %7C) (repeat0 (class negated (char %7C))) (literal %7C)) (seq (literal %5C) (choice unordered (class negated (char %0A)) (literal %0A)))) (repeat0 (choice unordered (class negated (char %20) (char %09) (char %0A) (char %0B) (char %0C) (char %0D) (char %C2%85) (char %C2%A0) (char %E1%9A%80) (range %E2%80%80 %E2%80%8A) (char %E2%80%A8) (char %E2%80%A9) (char %E2%80%AF) (char %E2%81%9F) (char %E3%80%80) (char %EF%BB%BF) (char %28) (char %29) (char %7B) (char %7D) (char %22) (char %2C) (char %27) (char %60) (char %3B) (char %5B) (char %5D) (char %7C) (char %5C)) (seq (literal %7C) (repeat0 (class negated (char %7C))) (literal %7C)) (seq (literal %5C) (choice unordered (class negated (char %0A)) (literal %0A))))))) (concept grammar.symbol))
(rule keyword token (seq (literal %23%3A) (repeat0 (choice unordered (class negated (char %20) (char %09) (char %0A) (char %0B) (char %0C) (char %0D) (char %C2%85) (char %C2%A0) (char %E1%9A%80) (range %E2%80%80 %E2%80%8A) (char %E2%80%A8) (char %E2%80%A9) (char %E2%80%AF) (char %E2%81%9F) (char %E3%80%80) (char %EF%BB%BF) (char %28) (char %29) (char %7B) (char %7D) (char %22) (char %2C) (char %27) (char %60) (char %3B) (char %5B) (char %5D) (char %7C) (char %5C)) (seq (literal %7C) (repeat0 (class negated (char %7C))) (literal %7C)) (seq (literal %5C) (choice unordered (class negated (char %0A)) (literal %0A)))))) (concept grammar.keyword))
(rule box normal (seq (literal %23%26) (repeat0 (ref atmosphere)) (ref datum)) (concept grammar.racket.box))
(rule list normal (choice ordered (seq (literal %28) (repeat0 (choice ordered (ref dot) (ref program_element))) (literal %29)) (seq (literal %5B) (repeat0 (choice ordered (ref dot) (ref program_element))) (literal %5D)) (seq (literal %7B) (repeat0 (choice ordered (ref dot) (ref program_element))) (literal %7D))) (concept grammar.linked-list))
(rule vector normal (seq (choice ordered (literal %23fl) (literal %23fx) (literal %23)) (optional (ref decimal)) (ref list)) (concept grammar.list))
(rule structure normal (seq (literal %23s) (ref list)) (concept grammar.racket.structure-literal))
(rule hash normal (seq (alias hash_prefix (immediateToken (seq (seq (literal %23) (class plain (char h) (char H)) (class plain (char a) (char A)) (class plain (char s) (char S)) (class plain (char h) (char H))) (optional (choice unordered (seq (class plain (char a) (char A)) (class plain (char l) (char L)) (class plain (char w) (char W))) (seq (class plain (char e) (char E)) (class plain (char q) (char Q)) (class plain (char v) (char V))) (seq (class plain (char e) (char E)) (class plain (char q) (char Q)))))))) (ref list)) (concept grammar.racket.hash-table))
(rule graph normal (choice ordered (alias graph_mark (immediateToken (seq (literal %23) (repeat 1 8 (range 0 9)) (literal %23)))) (seq (alias graph_mark (immediateToken (seq (literal %23) (repeat 1 8 (range 0 9)) (literal %3D)))) (repeat0 (ref atmosphere)) (ref datum))) (concept grammar.racket.graph-notation))
(rule quote normal (seq (literal %27) (repeat0 (ref atmosphere)) (ref datum)) (concept grammar.quote))
(rule quasiquote normal (seq (literal %60) (repeat0 (ref atmosphere)) (ref datum)) (concept grammar.quasiquote))
(rule syntax normal (seq (literal %23%27) (repeat0 (ref atmosphere)) (ref datum)) (concept grammar.syntax-quote))
(rule quasisyntax normal (seq (literal %23%60) (repeat0 (ref atmosphere)) (ref datum)) (concept grammar.quasisyntax))
(rule unquote normal (seq (literal %2C) (not (literal %40)) (repeat0 (ref atmosphere)) (ref datum)) (concept grammar.unquote))
(rule unquote_splicing normal (seq (literal %2C%40) (repeat0 (ref atmosphere)) (ref datum)) (concept grammar.unquote-splicing))
(rule unsyntax normal (seq (literal %23%2C) (not (literal %40)) (repeat0 (ref atmosphere)) (ref datum)) (concept grammar.unsyntax))
(rule unsyntax_splicing normal (seq (literal %23%2C%40) (repeat0 (ref atmosphere)) (ref datum)) (concept grammar.unsyntax-splicing))
(rule extension normal (choice ordered (seq (literal %23reader) (repeat0 (ref atmosphere)) (ref datum)) (seq (choice ordered (literal %23lang%20) (literal %23%21)) (ref language_name))) (concept grammar.racket.reader-extension))
(rule language_name token (choice unordered (class plain (range a z) (range A Z) (range 0 9) (char %2B) (char _) (char -)) (seq (class plain (range a z) (range A Z) (range 0 9) (char %2B) (char _) (char -)) (repeat0 (choice unordered (class plain (range a z) (range A Z) (range 0 9) (char %2B) (char _) (char -)) (literal %2F))) (class plain (range a z) (range A Z) (range 0 9) (char %2B) (char _) (char -)))) (concept grammar.racket.language-name) (source-names (tree-sitter lang_name)))