/usr/share/doc/racket/parser-tools/blueboxes.rktd is in racket-doc 6.7-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | 3328
((3) 0 () 5 ((q lib "parser-tools/lex.rkt") (q 836 . 6) (q lib "parser-tools/lex-sre.rkt") (q 628 . 6) (q lib "parser-tools/lex-plt-v200.rkt")) () (h ! (equal) ((c form c (c (? . 0) q lexer-src-pos)) q (486 . 2)) ((c def c (c (? . 0) q struct:position-token)) c (? . 1)) ((c def c (c (? . 0) q position)) c (? . 3)) ((q def ((lib "parser-tools/yacc-to-scheme.rkt") trans)) q (3193 . 3)) ((c def c (c (? . 0) q position-token)) c (? . 1)) ((c form c (c (? . 2) q -)) q (1707 . 2)) ((c form c (c (? . 0) q nothing)) q (1168 . 2)) ((q form ((lib "parser-tools/yacc.rkt") parser)) q (2119 . 23)) ((c form c (c (? . 2) q /)) q (1747 . 2)) ((c def c (c (? . 0) q make-position)) c (? . 3)) ((c form c (c (? . 0) q define-lex-abbrevs)) q (1405 . 2)) ((c form c (c (? . 0) q numeric)) q (1255 . 2)) ((c def c (c (? . 0) q position-line)) c (? . 3)) ((c form c (c (? . 0) q define-lex-abbrev)) q (1370 . 2)) ((c form c (c (? . 0) q define-empty-tokens)) q (1866 . 2)) ((c form c (c (? . 0) q lexeme)) q (570 . 2)) ((c def c (c (? . 0) q file-path)) q (1023 . 4)) ((c form c (c (? . 0) q whitespace)) q (1320 . 2)) ((c def c (c (? . 0) q token-name)) q (1922 . 3)) ((c form c (c (? . 2) q +)) q (1510 . 2)) ((c form c (c (? . 4) q epsilon)) q (1779 . 2)) ((c form c (c (? . 0) q lower-case)) q (1201 . 2)) ((c form c (c (? . 2) q seq)) q (1665 . 2)) ((c def c (c (? . 0) q position-offset)) c (? . 3)) ((c form c (c (? . 2) q or)) q (1624 . 2)) ((c def c (c (? . 0) q make-position-token)) c (? . 1)) ((c form c (c (? . 0) q alphabetic)) q (1183 . 2)) ((c form c (c (? . 2) q >=)) q (1573 . 2)) ((c form c (c (? . 2) q **)) q (1597 . 2)) ((c form c (c (? . 0) q graphic)) q (1305 . 2)) ((c def c (c (? . 0) q position-token-end-pos)) c (? . 1)) ((c form c (c (? . 2) q ~)) q (1727 . 2)) ((c form c (c (? . 0) q title-case)) q (1237 . 2)) ((c form c (c (? . 0) q input-port)) q (584 . 2)) ((c form c (c (? . 0) q define-tokens)) q (1816 . 2)) ((c form c (c (? . 0) q iso-control)) q (1351 . 2)) ((c form c (c (? . 0) q return-without-pos)) q (602 . 2)) ((c form c (c (? . 0) q end-pos)) q (555 . 2)) ((c form c (c (? . 0) q any-char)) q (1134 . 2)) ((c def c (c (? . 0) q position-token-start-pos)) c (? . 1)) ((c form c (c (? . 0) q char-set)) q (1108 . 2)) ((c form c (c (? . 0) q punctuation)) q (1286 . 2)) ((c form c (c (? . 2) q *)) q (1490 . 2)) ((c def c (c (? . 0) q position-token?)) c (? . 1)) ((q form ((lib "parser-tools/cfg-parser.rkt") cfg-parser)) q (2827 . 12)) ((c form c (c (? . 0) q blank)) q (1338 . 2)) ((c form c (c (? . 0) q start-pos)) q (538 . 2)) ((c def c (c (? . 0) q position-col)) c (? . 3)) ((c form c (c (? . 2) q =)) q (1550 . 2)) ((c def c (c (? . 0) q struct:position)) c (? . 3)) ((c form c (c (? . 0) q define-lex-trans)) q (1448 . 2)) ((c form c (c (? . 0) q symbolic)) q (1270 . 2)) ((c def c (c (? . 0) q token-value)) q (1995 . 3)) ((c def c (c (? . 0) q token?)) q (2067 . 3)) ((c form c (c (? . 2) q ?)) q (1530 . 2)) ((c def c (c (? . 0) q position?)) c (? . 3)) ((c form c (c (? . 0) q any-string)) q (1150 . 2)) ((c form c (c (? . 4) q ~)) q (1796 . 2)) ((c form c (c (? . 2) q &)) q (1687 . 2)) ((c form c (c (? . 0) q upper-case)) q (1219 . 2)) ((c def c (c (? . 0) q position-token-token)) c (? . 1)) ((c form c (c (? . 0) q lexer)) q (0 . 19)) ((c form c (c (? . 2) q :)) q (1645 . 2))))
syntax
(lexer [trigger action-expr] ...)
trigger = re
| (eof)
| (special)
| (special-comment)
re = id
| string
| character
| (repetition lo hi re)
| (union re ...)
| (intersection re ...)
| (complement re)
| (concatenation re ...)
| (char-range char char)
| (char-complement re)
| (id datum ...)
syntax
(lexer-src-pos (trigger action-expr) ...)
syntax
start-pos
syntax
end-pos
syntax
lexeme
syntax
input-port
syntax
return-without-pos
struct
(struct position (offset line col)
#:extra-constructor-name make-position)
offset : exact-positive-integer?
line : exact-positive-integer?
col : exact-nonnegative-integer?
struct
(struct position-token (token start-pos end-pos)
#:extra-constructor-name make-position-token)
token : any/c
start-pos : position?
end-pos : position?
parameter
(file-path) -> any/c
(file-path source) -> void?
source : any/c
syntax
(char-set string)
syntax
any-char
syntax
any-string
syntax
nothing
syntax
alphabetic
syntax
lower-case
syntax
upper-case
syntax
title-case
syntax
numeric
syntax
symbolic
syntax
punctuation
syntax
graphic
syntax
whitespace
syntax
blank
syntax
iso-control
syntax
(define-lex-abbrev id re)
syntax
(define-lex-abbrevs (id re) ...)
syntax
(define-lex-trans id trans-expr)
syntax
(* re ...)
syntax
(+ re ...)
syntax
(? re ...)
syntax
(= n re ...)
syntax
(>= n re ...)
syntax
(** n m re ...)
syntax
(or re ...)
syntax
(: re ...)
syntax
(seq re ...)
syntax
(& re ...)
syntax
(- re ...)
syntax
(~ re ...)
syntax
(/ char-or-string ...)
syntax
(epsilon)
syntax
(~ re ...)
syntax
(define-tokens group-id (token-id ...))
syntax
(define-empty-tokens group-id (token-id ...))
procedure
(token-name t) -> symbol?
t : (or/c token? symbol?)
procedure
(token-value t) -> any/c
t : (or/c token? symbol?)
procedure
(token? v) -> boolean?
v : any/c
syntax
(parser clause ...)
clause = (grammar (non-terminal-id
((grammar-id ...) maybe-prec expr)
...)
...)
| (tokens group-id ...)
| (start non-terminal-id ...)
| (end token-id ...)
| (error expr)
| (precs (assoc token-id ...) ...)
| (src-pos)
| (suppress)
| (debug filename)
| (yacc-output filename)
maybe-prec =
| (prec token-id)
assoc = left
| right
| nonassoc
syntax
(cfg-parser clause ...)
clause = (grammar (non-terminal-id
((grammar-id ...) maybe-prec expr)
...)
...)
| (tokens group-id ...)
| (start non-terminal-id ...)
| (end token-id ...)
| (error expr)
| (src-pos)
procedure
(trans file) -> any/c
file : path-string?
|