1<?php
2/*************************************************************************************
3 * racket.php
4 * ----------
5 * Author:          Tim Brown (tim@timb.net)
6 * Copyright:   (c) 2013 Tim Brown ((https://github.com/tim-brown/geshi-racket))
7 * Release Version: 1.0.9.1
8 * Date Started:    2013-03-01
9 *
10 * Racket language file for GeSHi.
11 *
12 * This file was built automatically from the scripts in
13 * https://github.com/tim-brown/geshi-racket (you didn't think
14 * I typed those NUMBER regular expressions in myself, did you?).
15 * Use those scripts to regenerate the file.
16 *
17 * CHANGES
18 * -------
19 *   1.0 (2013-03-31)
20 *   - Initial Release1.1 (2013-03-31)
21 *   - Added URLs, "symbol"-like identifiers moved to SYMBOLS*
22 *
23 * TODO (updated 2013-04-25)
24 * -------------------------
25 *   * better handling of empty and short arrays
26 *   * care more about indentation and line lengths
27 *   * most compound regexps are possibly over-bracketed: (or ...)
28 *   * most compound regexps are possibly over-bracketed: (: ...)
29 *   * URLs should be formed more smartly by discovering which module they came from.
30 *   * '|...| identifiers
31 *   * #<<HERE strings
32 *   * #;(...) comments -- (note: requires balanced parenthesis regexp)
33 *
34 *************************************************************************************
35 *
36 *     This file is part of GeSHi.
37 *
38 *   GeSHi is free software; you can redistribute it and/or modify
39 *   it under the terms of the GNU General Public License as published by
40 *   the Free Software Foundation; either version 2 of the License, or
41 *   (at your option) any later version.
42 *
43 *   GeSHi is distributed in the hope that it will be useful,
44 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
45 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
46 *   GNU General Public License for more details.
47 *
48 *   You should have received a copy of the GNU General Public License
49 *   along with GeSHi; if not, write to the Free Software
50 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
51 *
52 ************************************************************************************/
53
54$language_data = array(
55    'LANG_NAME' => 'Racket',
56    'COMMENT_SINGLE' => array(
57        1 => ';',
58        ),
59    'COMMENT_MULTI' => array(
60        '#|' => '|#',
61        ),
62    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
63    'QUOTEMARKS' => array('"',
64        ),
65    'ESCAPE_CHAR' => '\\',
66    'KEYWORDS' => array(
67        1 => array(
68            'abort-current-continuation', 'abs', 'absolute-path?', 'acos', 'add1',
69            'alarm-evt', 'always-evt', 'andmap', 'angle', 'append',
70            'arithmetic-shift', 'arity-at-least-value', 'arity-at-least?',
71            'asin', 'assf', 'assoc', 'assq', 'assv', 'atan', 'banner',
72            'bitwise-and', 'bitwise-bit-field', 'bitwise-bit-set?',
73            'bitwise-ior', 'bitwise-not', 'bitwise-xor', 'boolean?',
74            'bound-identifier=?', 'box', 'box-cas!', 'box-immutable', 'box?',
75            'break-enabled', 'break-thread', 'build-list', 'build-path',
76            'build-path/convention-type', 'build-string', 'build-vector',
77            'byte-pregexp', 'byte-pregexp?', 'byte-ready?', 'byte-regexp',
78            'byte-regexp?', 'byte?', 'bytes', 'bytes&gt;?', 'bytes&lt;?',
79            'bytes-&gt;immutable-bytes', 'bytes-&gt;list', 'bytes-&gt;path',
80            'bytes-&gt;path-element', 'bytes-&gt;string/latin-1',
81            'bytes-&gt;string/locale', 'bytes-&gt;string/utf-8',
82            'bytes-append', 'bytes-close-converter', 'bytes-convert',
83            'bytes-convert-end', 'bytes-converter?', 'bytes-copy',
84            'bytes-copy!', 'bytes-fill!', 'bytes-length',
85            'bytes-open-converter', 'bytes-ref', 'bytes-set!',
86            'bytes-utf-8-index', 'bytes-utf-8-length', 'bytes-utf-8-ref',
87            'bytes=?', 'bytes?', 'caaaar', 'caaadr', 'caaar', 'caadar',
88            'caaddr', 'caadr', 'caar', 'cadaar', 'cadadr', 'cadar', 'caddar',
89            'cadddr', 'caddr', 'cadr', 'call-in-nested-thread',
90            'call-with-break-parameterization',
91            'call-with-composable-continuation',
92            'call-with-continuation-barrier', 'call-with-continuation-prompt',
93            'call-with-current-continuation', 'call-with-escape-continuation',
94            'call-with-exception-handler',
95            'call-with-immediate-continuation-mark',
96            'call-with-parameterization', 'call-with-semaphore',
97            'call-with-semaphore/enable-break', 'call-with-values', 'call/cc',
98            'call/ec', 'car', 'cdaaar', 'cdaadr', 'cdaar', 'cdadar', 'cdaddr',
99            'cdadr', 'cdar', 'cddaar', 'cddadr', 'cddar', 'cdddar', 'cddddr',
100            'cdddr', 'cddr', 'cdr', 'ceiling', 'channel-get', 'channel-put',
101            'channel-put-evt', 'channel-put-evt?', 'channel-try-get',
102            'channel?', 'chaperone-box', 'chaperone-continuation-mark-key',
103            'chaperone-evt', 'chaperone-hash', 'chaperone-of?',
104            'chaperone-procedure', 'chaperone-prompt-tag', 'chaperone-struct',
105            'chaperone-struct-type', 'chaperone-vector', 'chaperone?',
106            'char&gt;=?', 'char&gt;?', 'char&lt;=?', 'char&lt;?',
107            'char-&gt;integer', 'char-alphabetic?', 'char-blank?',
108            'char-ci&gt;=?', 'char-ci&gt;?', 'char-ci&lt;=?', 'char-ci&lt;?',
109            'char-ci=?', 'char-downcase', 'char-foldcase',
110            'char-general-category', 'char-graphic?', 'char-iso-control?',
111            'char-lower-case?', 'char-numeric?', 'char-punctuation?',
112            'char-ready?', 'char-symbolic?', 'char-title-case?',
113            'char-titlecase', 'char-upcase', 'char-upper-case?',
114            'char-utf-8-length', 'char-whitespace?', 'char=?', 'char?',
115            'check-duplicate-identifier',
116            'checked-procedure-check-and-extract', 'choice-evt',
117            'cleanse-path', 'close-input-port', 'close-output-port',
118            'collect-garbage', 'collection-file-path', 'collection-path',
119            'compile', 'compile-allow-set!-undefined',
120            'compile-context-preservation-enabled',
121            'compile-enforce-module-constants', 'compile-syntax',
122            'compiled-expression?', 'compiled-module-expression?',
123            'complete-path?', 'complex?', 'compose', 'compose1', 'cons',
124            'continuation-mark-key?', 'continuation-mark-set-&gt;context',
125            'continuation-mark-set-&gt;list',
126            'continuation-mark-set-&gt;list*', 'continuation-mark-set-first',
127            'continuation-mark-set?', 'continuation-marks',
128            'continuation-prompt-available?', 'continuation-prompt-tag?',
129            'continuation?', 'copy-file', 'cos',
130            'current-break-parameterization', 'current-code-inspector',
131            'current-command-line-arguments', 'current-compile',
132            'current-compiled-file-roots', 'current-continuation-marks',
133            'current-custodian', 'current-directory', 'current-drive',
134            'current-error-port', 'current-eval',
135            'current-evt-pseudo-random-generator', 'current-gc-milliseconds',
136            'current-get-interaction-input-port',
137            'current-inexact-milliseconds', 'current-input-port',
138            'current-inspector', 'current-library-collection-paths',
139            'current-load', 'current-load-extension',
140            'current-load-relative-directory', 'current-load/use-compiled',
141            'current-locale', 'current-logger', 'current-memory-use',
142            'current-milliseconds', 'current-module-declare-name',
143            'current-module-declare-source', 'current-module-name-resolver',
144            'current-namespace', 'current-output-port',
145            'current-parameterization', 'current-preserved-thread-cell-values',
146            'current-print', 'current-process-milliseconds',
147            'current-prompt-read', 'current-pseudo-random-generator',
148            'current-read-interaction', 'current-reader-guard',
149            'current-readtable', 'current-seconds', 'current-security-guard',
150            'current-subprocess-custodian-mode', 'current-thread',
151            'current-thread-group', 'current-thread-initial-stack-size',
152            'current-write-relative-directory', 'custodian-box-value',
153            'custodian-box?', 'custodian-limit-memory',
154            'custodian-managed-list', 'custodian-memory-accounting-available?',
155            'custodian-require-memory', 'custodian-shutdown-all', 'custodian?',
156            'custom-print-quotable-accessor', 'custom-print-quotable?',
157            'custom-write-accessor', 'custom-write?', 'date*-nanosecond',
158            'date*-time-zone-name', 'date*?', 'date-day', 'date-dst?',
159            'date-hour', 'date-minute', 'date-month', 'date-second',
160            'date-time-zone-offset', 'date-week-day', 'date-year',
161            'date-year-day', 'date?', 'datum-&gt;syntax',
162            'datum-intern-literal', 'default-continuation-prompt-tag',
163            'delete-directory', 'delete-file', 'denominator',
164            'directory-exists?', 'directory-list', 'display', 'displayln',
165            'double-flonum?', 'dump-memory-stats', 'dynamic-require',
166            'dynamic-require-for-syntax', 'dynamic-wind', 'eof', 'eof-object?',
167            'ephemeron-value', 'ephemeron?', 'eprintf', 'eq-hash-code', 'eq?',
168            'equal-hash-code', 'equal-secondary-hash-code', 'equal?',
169            'equal?/recur', 'eqv-hash-code', 'eqv?', 'error',
170            'error-display-handler', 'error-escape-handler',
171            'error-print-context-length', 'error-print-source-location',
172            'error-print-width', 'error-value-&gt;string-handler', 'eval',
173            'eval-jit-enabled', 'eval-syntax', 'even?', 'evt?',
174            'exact-&gt;inexact', 'exact-integer?',
175            'exact-nonnegative-integer?', 'exact-positive-integer?', 'exact?',
176            'executable-yield-handler', 'exit', 'exit-handler',
177            'exn-continuation-marks', 'exn-message', 'exn:break-continuation',
178            'exn:break:hang-up?', 'exn:break:terminate?', 'exn:break?',
179            'exn:fail:contract:arity?', 'exn:fail:contract:continuation?',
180            'exn:fail:contract:divide-by-zero?',
181            'exn:fail:contract:non-fixnum-result?',
182            'exn:fail:contract:variable-id', 'exn:fail:contract:variable?',
183            'exn:fail:contract?', 'exn:fail:filesystem:errno-errno',
184            'exn:fail:filesystem:errno?', 'exn:fail:filesystem:exists?',
185            'exn:fail:filesystem:version?', 'exn:fail:filesystem?',
186            'exn:fail:network:errno-errno', 'exn:fail:network:errno?',
187            'exn:fail:network?', 'exn:fail:out-of-memory?',
188            'exn:fail:read-srclocs', 'exn:fail:read:eof?',
189            'exn:fail:read:non-char?', 'exn:fail:read?',
190            'exn:fail:syntax-exprs', 'exn:fail:syntax:unbound?',
191            'exn:fail:syntax?', 'exn:fail:unsupported?', 'exn:fail:user?',
192            'exn:fail?', 'exn:srclocs-accessor', 'exn:srclocs?', 'exn?', 'exp',
193            'expand', 'expand-once', 'expand-syntax', 'expand-syntax-once',
194            'expand-syntax-to-top-form', 'expand-to-top-form',
195            'expand-user-path', 'expt', 'file-exists?',
196            'file-or-directory-identity', 'file-or-directory-modify-seconds',
197            'file-or-directory-permissions', 'file-position', 'file-position*',
198            'file-size', 'file-stream-buffer-mode', 'file-stream-port?',
199            'filesystem-root-list', 'filter', 'find-executable-path',
200            'find-library-collection-paths', 'find-system-path', 'findf',
201            'fixnum?', 'floating-point-bytes-&gt;real', 'flonum?', 'floor',
202            'flush-output', 'foldl', 'foldr', 'for-each', 'format', 'fprintf',
203            'free-identifier=?', 'free-label-identifier=?',
204            'free-template-identifier=?', 'free-transformer-identifier=?',
205            'gcd', 'generate-temporaries', 'gensym', 'get-output-bytes',
206            'get-output-string', 'getenv', 'global-port-print-handler',
207            'guard-evt', 'handle-evt', 'handle-evt?', 'hash', 'hash-&gt;list',
208            'hash-copy', 'hash-count', 'hash-eq?', 'hash-equal?', 'hash-eqv?',
209            'hash-for-each', 'hash-has-key?', 'hash-iterate-first',
210            'hash-iterate-key', 'hash-iterate-next', 'hash-iterate-value',
211            'hash-keys', 'hash-map', 'hash-placeholder?', 'hash-ref',
212            'hash-ref!', 'hash-remove', 'hash-remove!', 'hash-set',
213            'hash-set!', 'hash-set*', 'hash-set*!', 'hash-update',
214            'hash-update!', 'hash-values', 'hash-weak?', 'hash?', 'hasheq',
215            'hasheqv', 'identifier-binding', 'identifier-label-binding',
216            'identifier-prune-lexical-context',
217            'identifier-prune-to-source-module',
218            'identifier-remove-from-definition-context',
219            'identifier-template-binding', 'identifier-transformer-binding',
220            'identifier?', 'imag-part', 'immutable?', 'impersonate-box',
221            'impersonate-continuation-mark-key', 'impersonate-hash',
222            'impersonate-procedure', 'impersonate-prompt-tag',
223            'impersonate-struct', 'impersonate-vector', 'impersonator-of?',
224            'impersonator-prop:application-mark',
225            'impersonator-property-accessor-procedure?',
226            'impersonator-property?', 'impersonator?', 'in-cycle',
227            'in-directory', 'in-hash', 'in-hash-keys', 'in-hash-pairs',
228            'in-hash-values', 'in-parallel', 'in-sequences',
229            'in-values*-sequence', 'in-values-sequence', 'inexact-&gt;exact',
230            'inexact-real?', 'inexact?', 'input-port?', 'inspector?',
231            'integer-&gt;char', 'integer-&gt;integer-bytes',
232            'integer-bytes-&gt;integer', 'integer-length', 'integer-sqrt',
233            'integer-sqrt/remainder', 'integer?',
234            'internal-definition-context-seal', 'internal-definition-context?',
235            'keyword&lt;?', 'keyword-&gt;string', 'keyword-apply', 'keyword?',
236            'kill-thread', 'lcm', 'length', 'liberal-define-context?',
237            'link-exists?', 'list', 'list*', 'list-&gt;bytes',
238            'list-&gt;string', 'list-&gt;vector', 'list-ref', 'list-tail',
239            'list?', 'load', 'load-extension', 'load-on-demand-enabled',
240            'load-relative', 'load-relative-extension', 'load/cd',
241            'load/use-compiled', 'local-expand', 'local-expand/capture-lifts',
242            'local-transformer-expand',
243            'local-transformer-expand/capture-lifts', 'locale-string-encoding',
244            'log', 'log-level?', 'log-max-level', 'log-message',
245            'log-receiver?', 'logger-name', 'logger?', 'magnitude',
246            'make-arity-at-least', 'make-base-empty-namespace',
247            'make-base-namespace', 'make-bytes', 'make-channel',
248            'make-continuation-mark-key', 'make-continuation-prompt-tag',
249            'make-custodian', 'make-custodian-box', 'make-date', 'make-date*',
250            'make-derived-parameter', 'make-directory', 'make-do-sequence',
251            'make-empty-namespace', 'make-ephemeron', 'make-exn',
252            'make-exn:break', 'make-exn:break:hang-up',
253            'make-exn:break:terminate', 'make-exn:fail',
254            'make-exn:fail:contract', 'make-exn:fail:contract:arity',
255            'make-exn:fail:contract:continuation',
256            'make-exn:fail:contract:divide-by-zero',
257            'make-exn:fail:contract:non-fixnum-result',
258            'make-exn:fail:contract:variable', 'make-exn:fail:filesystem',
259            'make-exn:fail:filesystem:errno',
260            'make-exn:fail:filesystem:exists',
261            'make-exn:fail:filesystem:version', 'make-exn:fail:network',
262            'make-exn:fail:network:errno', 'make-exn:fail:out-of-memory',
263            'make-exn:fail:read', 'make-exn:fail:read:eof',
264            'make-exn:fail:read:non-char', 'make-exn:fail:syntax',
265            'make-exn:fail:syntax:unbound', 'make-exn:fail:unsupported',
266            'make-exn:fail:user', 'make-file-or-directory-link', 'make-hash',
267            'make-hash-placeholder', 'make-hasheq', 'make-hasheq-placeholder',
268            'make-hasheqv', 'make-hasheqv-placeholder', 'make-immutable-hash',
269            'make-immutable-hasheq', 'make-immutable-hasheqv',
270            'make-impersonator-property', 'make-input-port', 'make-inspector',
271            'make-keyword-procedure', 'make-known-char-range-list',
272            'make-log-receiver', 'make-logger', 'make-output-port',
273            'make-parameter', 'make-phantom-bytes', 'make-pipe',
274            'make-placeholder', 'make-polar', 'make-prefab-struct',
275            'make-pseudo-random-generator', 'make-reader-graph',
276            'make-readtable', 'make-rectangular', 'make-rename-transformer',
277            'make-resolved-module-path', 'make-security-guard',
278            'make-semaphore', 'make-set!-transformer', 'make-shared-bytes',
279            'make-sibling-inspector', 'make-special-comment', 'make-srcloc',
280            'make-string', 'make-struct-field-accessor',
281            'make-struct-field-mutator', 'make-struct-type',
282            'make-struct-type-property', 'make-syntax-delta-introducer',
283            'make-syntax-introducer', 'make-thread-cell', 'make-thread-group',
284            'make-vector', 'make-weak-box', 'make-weak-hash',
285            'make-weak-hasheq', 'make-weak-hasheqv', 'make-will-executor',
286            'map', 'max', 'mcar', 'mcdr', 'mcons', 'member', 'memf', 'memq',
287            'memv', 'min', 'module-&gt;exports', 'module-&gt;imports',
288            'module-&gt;language-info', 'module-&gt;namespace',
289            'module-compiled-exports', 'module-compiled-imports',
290            'module-compiled-language-info', 'module-compiled-name',
291            'module-compiled-submodules', 'module-declared?',
292            'module-path-index-join', 'module-path-index-resolve',
293            'module-path-index-split', 'module-path-index-submodule',
294            'module-path-index?', 'module-path?', 'module-predefined?',
295            'module-provide-protected?', 'modulo', 'mpair?', 'nack-guard-evt',
296            'namespace-anchor-&gt;empty-namespace',
297            'namespace-anchor-&gt;namespace', 'namespace-anchor?',
298            'namespace-attach-module', 'namespace-attach-module-declaration',
299            'namespace-base-phase', 'namespace-mapped-symbols',
300            'namespace-module-identifier', 'namespace-module-registry',
301            'namespace-require', 'namespace-require/constant',
302            'namespace-require/copy', 'namespace-require/expansion-time',
303            'namespace-set-variable-value!', 'namespace-symbol-&gt;identifier',
304            'namespace-syntax-introduce', 'namespace-undefine-variable!',
305            'namespace-unprotect-module', 'namespace-variable-value',
306            'namespace?', 'negative?', 'never-evt', 'newline',
307            'normal-case-path', 'not', 'null', 'null?', 'number-&gt;string',
308            'number?', 'numerator', 'object-name', 'odd?', 'open-input-bytes',
309            'open-input-string', 'open-output-bytes', 'open-output-string',
310            'ormap', 'output-port?', 'pair?', 'parameter-procedure=?',
311            'parameter?', 'parameterization?', 'path-&gt;bytes',
312            'path-&gt;complete-path', 'path-&gt;directory-path',
313            'path-&gt;string', 'path-add-suffix', 'path-convention-type',
314            'path-element-&gt;bytes', 'path-element-&gt;string',
315            'path-for-some-system?', 'path-list-string-&gt;path-list',
316            'path-replace-suffix', 'path-string?', 'path?', 'peek-byte',
317            'peek-byte-or-special', 'peek-bytes', 'peek-bytes!',
318            'peek-bytes-avail!', 'peek-bytes-avail!*',
319            'peek-bytes-avail!/enable-break', 'peek-char',
320            'peek-char-or-special', 'peek-string', 'peek-string!',
321            'phantom-bytes?', 'pipe-content-length', 'placeholder-get',
322            'placeholder-set!', 'placeholder?', 'poll-guard-evt',
323            'port-closed-evt', 'port-closed?', 'port-commit-peeked',
324            'port-count-lines!', 'port-count-lines-enabled',
325            'port-display-handler', 'port-file-identity', 'port-file-unlock',
326            'port-next-location', 'port-print-handler', 'port-progress-evt',
327            'port-provides-progress-evts?', 'port-read-handler',
328            'port-try-file-lock?', 'port-write-handler', 'port-writes-atomic?',
329            'port-writes-special?', 'port?', 'positive?',
330            'prefab-key-&gt;struct-type', 'prefab-key?', 'prefab-struct-key',
331            'pregexp', 'pregexp?', 'primitive-closure?',
332            'primitive-result-arity', 'primitive?', 'print',
333            'print-as-expression', 'print-boolean-long-form', 'print-box',
334            'print-graph', 'print-hash-table', 'print-mpair-curly-braces',
335            'print-pair-curly-braces', 'print-reader-abbreviations',
336            'print-struct', 'print-syntax-width', 'print-unreadable',
337            'print-vector-length', 'printf', 'procedure-&gt;method',
338            'procedure-arity', 'procedure-arity-includes?', 'procedure-arity?',
339            'procedure-closure-contents-eq?', 'procedure-extract-target',
340            'procedure-keywords', 'procedure-reduce-arity',
341            'procedure-reduce-keyword-arity', 'procedure-rename',
342            'procedure-struct-type?', 'procedure?', 'progress-evt?',
343            'prop:arity-string', 'prop:checked-procedure',
344            'prop:custom-print-quotable', 'prop:custom-write',
345            'prop:equal+hash', 'prop:evt', 'prop:exn:srclocs',
346            'prop:impersonator-of', 'prop:input-port',
347            'prop:liberal-define-context', 'prop:output-port',
348            'prop:procedure', 'prop:rename-transformer', 'prop:sequence',
349            'prop:set!-transformer', 'pseudo-random-generator-&gt;vector',
350            'pseudo-random-generator-vector?', 'pseudo-random-generator?',
351            'putenv', 'quotient', 'quotient/remainder', 'raise',
352            'raise-argument-error', 'raise-arguments-error',
353            'raise-arity-error', 'raise-mismatch-error', 'raise-range-error',
354            'raise-result-error', 'raise-syntax-error', 'raise-type-error',
355            'raise-user-error', 'random', 'random-seed', 'rational?',
356            'rationalize', 'read', 'read-accept-bar-quote', 'read-accept-box',
357            'read-accept-compiled', 'read-accept-dot', 'read-accept-graph',
358            'read-accept-infix-dot', 'read-accept-lang',
359            'read-accept-quasiquote', 'read-accept-reader', 'read-byte',
360            'read-byte-or-special', 'read-bytes', 'read-bytes!',
361            'read-bytes-avail!', 'read-bytes-avail!*',
362            'read-bytes-avail!/enable-break', 'read-bytes-line',
363            'read-case-sensitive', 'read-char', 'read-char-or-special',
364            'read-curly-brace-as-paren', 'read-decimal-as-inexact',
365            'read-eval-print-loop', 'read-language', 'read-line',
366            'read-on-demand-source', 'read-square-bracket-as-paren',
367            'read-string', 'read-string!', 'read-syntax',
368            'read-syntax/recursive', 'read/recursive', 'readtable-mapping',
369            'readtable?', 'real-&gt;decimal-string', 'real-&gt;double-flonum',
370            'real-&gt;floating-point-bytes', 'real-&gt;single-flonum',
371            'real-part', 'real?', 'regexp', 'regexp-match',
372            'regexp-match-exact?', 'regexp-match-peek',
373            'regexp-match-peek-immediate', 'regexp-match-peek-positions',
374            'regexp-match-peek-positions-immediate',
375            'regexp-match-peek-positions-immediate/end',
376            'regexp-match-peek-positions/end', 'regexp-match-positions',
377            'regexp-match-positions/end', 'regexp-match/end', 'regexp-match?',
378            'regexp-max-lookbehind', 'regexp-quote', 'regexp-replace',
379            'regexp-replace*', 'regexp-replace-quote', 'regexp-replaces',
380            'regexp-split', 'regexp-try-match', 'regexp?', 'relative-path?',
381            'remainder', 'remove', 'remove*', 'remq', 'remq*', 'remv', 'remv*',
382            'rename-file-or-directory', 'rename-transformer-target',
383            'rename-transformer?', 'reroot-path', 'resolve-path',
384            'resolved-module-path-name', 'resolved-module-path?', 'reverse',
385            'round', 'seconds-&gt;date', 'security-guard?',
386            'semaphore-peek-evt', 'semaphore-peek-evt?', 'semaphore-post',
387            'semaphore-try-wait?', 'semaphore-wait',
388            'semaphore-wait/enable-break', 'semaphore?', 'sequence-&gt;stream',
389            'sequence-generate', 'sequence-generate*', 'sequence?',
390            'set!-transformer-procedure', 'set!-transformer?', 'set-box!',
391            'set-mcar!', 'set-mcdr!', 'set-phantom-bytes!',
392            'set-port-next-location!', 'shared-bytes', 'shell-execute',
393            'simplify-path', 'sin', 'single-flonum?', 'sleep',
394            'special-comment-value', 'special-comment?', 'split-path', 'sqrt',
395            'srcloc-column', 'srcloc-line', 'srcloc-position', 'srcloc-source',
396            'srcloc-span', 'srcloc?', 'stop-after', 'stop-before', 'string',
397            'string&gt;=?', 'string&gt;?', 'string&lt;=?', 'string&lt;?',
398            'string-&gt;bytes/latin-1', 'string-&gt;bytes/locale',
399            'string-&gt;bytes/utf-8', 'string-&gt;immutable-string',
400            'string-&gt;keyword', 'string-&gt;list', 'string-&gt;number',
401            'string-&gt;path', 'string-&gt;path-element', 'string-&gt;symbol',
402            'string-&gt;uninterned-symbol', 'string-&gt;unreadable-symbol',
403            'string-append', 'string-ci&gt;=?', 'string-ci&gt;?',
404            'string-ci&lt;=?', 'string-ci&lt;?', 'string-ci=?', 'string-copy',
405            'string-copy!', 'string-downcase', 'string-fill!',
406            'string-foldcase', 'string-length', 'string-locale&gt;?',
407            'string-locale&lt;?', 'string-locale-ci&gt;?',
408            'string-locale-ci&lt;?', 'string-locale-ci=?',
409            'string-locale-downcase', 'string-locale-upcase',
410            'string-locale=?', 'string-normalize-nfc', 'string-normalize-nfd',
411            'string-normalize-nfkc', 'string-normalize-nfkd', 'string-ref',
412            'string-set!', 'string-titlecase', 'string-upcase',
413            'string-utf-8-length', 'string=?', 'string?', 'struct-&gt;vector',
414            'struct-accessor-procedure?', 'struct-constructor-procedure?',
415            'struct-info', 'struct-mutator-procedure?',
416            'struct-predicate-procedure?', 'struct-type-info',
417            'struct-type-make-constructor', 'struct-type-make-predicate',
418            'struct-type-property-accessor-procedure?',
419            'struct-type-property?', 'struct-type?', 'struct:arity-at-least',
420            'struct:date', 'struct:date*', 'struct:exn', 'struct:exn:break',
421            'struct:exn:break:hang-up', 'struct:exn:break:terminate',
422            'struct:exn:fail', 'struct:exn:fail:contract',
423            'struct:exn:fail:contract:arity',
424            'struct:exn:fail:contract:continuation',
425            'struct:exn:fail:contract:divide-by-zero',
426            'struct:exn:fail:contract:non-fixnum-result',
427            'struct:exn:fail:contract:variable', 'struct:exn:fail:filesystem',
428            'struct:exn:fail:filesystem:errno',
429            'struct:exn:fail:filesystem:exists',
430            'struct:exn:fail:filesystem:version', 'struct:exn:fail:network',
431            'struct:exn:fail:network:errno', 'struct:exn:fail:out-of-memory',
432            'struct:exn:fail:read', 'struct:exn:fail:read:eof',
433            'struct:exn:fail:read:non-char', 'struct:exn:fail:syntax',
434            'struct:exn:fail:syntax:unbound', 'struct:exn:fail:unsupported',
435            'struct:exn:fail:user', 'struct:srcloc', 'struct?', 'sub1',
436            'subbytes', 'subprocess', 'subprocess-group-enabled',
437            'subprocess-kill', 'subprocess-pid', 'subprocess-status',
438            'subprocess-wait', 'subprocess?', 'substring', 'symbol-&gt;string',
439            'symbol-interned?', 'symbol-unreadable?', 'symbol?', 'sync',
440            'sync/enable-break', 'sync/timeout', 'sync/timeout/enable-break',
441            'syntax-&gt;datum', 'syntax-&gt;list', 'syntax-arm',
442            'syntax-column', 'syntax-disarm', 'syntax-e', 'syntax-line',
443            'syntax-local-bind-syntaxes', 'syntax-local-certifier',
444            'syntax-local-context', 'syntax-local-expand-expression',
445            'syntax-local-get-shadower', 'syntax-local-introduce',
446            'syntax-local-lift-context', 'syntax-local-lift-expression',
447            'syntax-local-lift-module-end-declaration',
448            'syntax-local-lift-provide', 'syntax-local-lift-require',
449            'syntax-local-lift-values-expression',
450            'syntax-local-make-definition-context',
451            'syntax-local-make-delta-introducer',
452            'syntax-local-module-defined-identifiers',
453            'syntax-local-module-exports',
454            'syntax-local-module-required-identifiers', 'syntax-local-name',
455            'syntax-local-phase-level', 'syntax-local-submodules',
456            'syntax-local-transforming-module-provides?', 'syntax-local-value',
457            'syntax-local-value/immediate', 'syntax-original?',
458            'syntax-position', 'syntax-property',
459            'syntax-property-symbol-keys', 'syntax-protect', 'syntax-rearm',
460            'syntax-recertify', 'syntax-shift-phase-level', 'syntax-source',
461            'syntax-source-module', 'syntax-span', 'syntax-taint',
462            'syntax-tainted?', 'syntax-track-origin',
463            'syntax-transforming-module-expression?', 'syntax-transforming?',
464            'syntax?', 'system-big-endian?', 'system-idle-evt',
465            'system-language+country', 'system-library-subpath',
466            'system-path-convention-type', 'system-type', 'tan',
467            'terminal-port?', 'thread', 'thread-cell-ref', 'thread-cell-set!',
468            'thread-cell-values?', 'thread-cell?', 'thread-dead-evt',
469            'thread-dead?', 'thread-group?', 'thread-receive',
470            'thread-receive-evt', 'thread-resume', 'thread-resume-evt',
471            'thread-rewind-receive', 'thread-running?', 'thread-send',
472            'thread-suspend', 'thread-suspend-evt', 'thread-try-receive',
473            'thread-wait', 'thread/suspend-to-kill', 'thread?', 'time-apply',
474            'truncate', 'unbox', 'uncaught-exception-handler',
475            'use-collection-link-paths', 'use-compiled-file-paths',
476            'use-user-specific-search-paths', 'values',
477            'variable-reference-&gt;empty-namespace',
478            'variable-reference-&gt;module-base-phase',
479            'variable-reference-&gt;module-declaration-inspector',
480            'variable-reference-&gt;module-path-index',
481            'variable-reference-&gt;module-source',
482            'variable-reference-&gt;namespace', 'variable-reference-&gt;phase',
483            'variable-reference-&gt;resolved-module-path',
484            'variable-reference-constant?', 'variable-reference?', 'vector',
485            'vector-&gt;immutable-vector', 'vector-&gt;list',
486            'vector-&gt;pseudo-random-generator',
487            'vector-&gt;pseudo-random-generator!', 'vector-&gt;values',
488            'vector-copy!', 'vector-fill!', 'vector-immutable',
489            'vector-length', 'vector-ref', 'vector-set!',
490            'vector-set-performance-stats!', 'vector?', 'version', 'void',
491            'void?', 'weak-box-value', 'weak-box?', 'will-execute',
492            'will-executor?', 'will-register', 'will-try-execute', 'wrap-evt',
493            'write', 'write-byte', 'write-bytes', 'write-bytes-avail',
494            'write-bytes-avail*', 'write-bytes-avail-evt',
495            'write-bytes-avail/enable-break', 'write-char', 'write-special',
496            'write-special-avail*', 'write-special-evt', 'write-string',
497            'zero?',
498            ),
499
500        2 => array(
501            '#%app', '#%datum', '#%expression', '#%module-begin', '#%plain-app',
502            '#%plain-lambda', '#%plain-module-begin', '#%provide', '#%require',
503            '#%stratified-body', '#%top', '#%top-interaction',
504            '#%variable-reference', ':do-in', 'all-defined-out',
505            'all-from-out', 'and', 'apply', 'arity-at-least', 'begin',
506            'begin-for-syntax', 'begin0', 'call-with-input-file',
507            'call-with-input-file*', 'call-with-output-file',
508            'call-with-output-file*', 'case', 'case-lambda', 'combine-in',
509            'combine-out', 'cond', 'date', 'date*', 'define',
510            'define-for-syntax', 'define-logger', 'define-namespace-anchor',
511            'define-sequence-syntax', 'define-struct', 'define-struct/derived',
512            'define-syntax', 'define-syntax-rule', 'define-syntaxes',
513            'define-values', 'define-values-for-syntax', 'do', 'else',
514            'except-in', 'except-out', 'exn', 'exn:break', 'exn:break:hang-up',
515            'exn:break:terminate', 'exn:fail', 'exn:fail:contract',
516            'exn:fail:contract:arity', 'exn:fail:contract:continuation',
517            'exn:fail:contract:divide-by-zero',
518            'exn:fail:contract:non-fixnum-result',
519            'exn:fail:contract:variable', 'exn:fail:filesystem',
520            'exn:fail:filesystem:errno', 'exn:fail:filesystem:exists',
521            'exn:fail:filesystem:version', 'exn:fail:network',
522            'exn:fail:network:errno', 'exn:fail:out-of-memory',
523            'exn:fail:read', 'exn:fail:read:eof', 'exn:fail:read:non-char',
524            'exn:fail:syntax', 'exn:fail:syntax:unbound',
525            'exn:fail:unsupported', 'exn:fail:user', 'file', 'for', 'for*',
526            'for*/and', 'for*/first', 'for*/fold', 'for*/fold/derived',
527            'for*/hash', 'for*/hasheq', 'for*/hasheqv', 'for*/last',
528            'for*/list', 'for*/lists', 'for*/or', 'for*/product', 'for*/sum',
529            'for*/vector', 'for-label', 'for-meta', 'for-syntax',
530            'for-template', 'for/and', 'for/first', 'for/fold',
531            'for/fold/derived', 'for/hash', 'for/hasheq', 'for/hasheqv',
532            'for/last', 'for/list', 'for/lists', 'for/or', 'for/product',
533            'for/sum', 'for/vector', 'gen:custom-write', 'gen:equal+hash',
534            'if', 'in-bytes', 'in-bytes-lines', 'in-indexed',
535            'in-input-port-bytes', 'in-input-port-chars', 'in-lines',
536            'in-list', 'in-mlist', 'in-naturals', 'in-port', 'in-producer',
537            'in-range', 'in-string', 'in-value', 'in-vector', 'lambda', 'let',
538            'let*', 'let*-values', 'let-syntax', 'let-syntaxes', 'let-values',
539            'let/cc', 'let/ec', 'letrec', 'letrec-syntax', 'letrec-syntaxes',
540            'letrec-syntaxes+values', 'letrec-values', 'lib', 'local-require',
541            'log-debug', 'log-error', 'log-fatal', 'log-info', 'log-warning',
542            'module', 'module*', 'module+', 'only-in', 'only-meta-in',
543            'open-input-file', 'open-input-output-file', 'open-output-file',
544            'or', 'parameterize', 'parameterize*', 'parameterize-break',
545            'planet', 'prefix-in', 'prefix-out', 'protect-out', 'provide',
546            'quasiquote', 'quasisyntax', 'quasisyntax/loc', 'quote',
547            'quote-syntax', 'quote-syntax/prune', 'regexp-match*',
548            'regexp-match-peek-positions*', 'regexp-match-positions*',
549            'relative-in', 'rename-in', 'rename-out', 'require', 'set!',
550            'set!-values', 'sort', 'srcloc', 'struct', 'struct-copy',
551            'struct-field-index', 'struct-out', 'submod', 'syntax',
552            'syntax-case', 'syntax-case*', 'syntax-id-rules', 'syntax-rules',
553            'syntax/loc', 'time', 'unless', 'unquote', 'unquote-splicing',
554            'unsyntax', 'unsyntax-splicing', 'when', 'with-continuation-mark',
555            'with-handlers', 'with-handlers*', 'with-input-from-file',
556            'with-output-to-file', 'with-syntax', 'λ',
557            ),
558
559        3 => array(
560            '&gt;/c', '&lt;/c', 'append*', 'append-map', 'argmax', 'argmin',
561            'bad-number-of-results', 'base-&gt;-doms/c', 'base-&gt;-rngs/c',
562            'base-&gt;?', 'blame-add-unknown-context', 'blame-context',
563            'blame-contract', 'blame-fmt-&gt;-string', 'blame-negative',
564            'blame-original?', 'blame-positive', 'blame-replace-negative',
565            'blame-source', 'blame-swap', 'blame-swapped?', 'blame-value',
566            'blame?', 'boolean=?', 'build-chaperone-contract-property',
567            'build-compound-type-name', 'build-contract-property',
568            'build-flat-contract-property', 'bytes-append*', 'bytes-join',
569            'bytes-no-nuls?', 'call-with-input-bytes',
570            'call-with-input-string', 'call-with-output-bytes',
571            'call-with-output-string', 'chaperone-contract-property?',
572            'chaperone-contract?', 'class-&gt;interface', 'class-info',
573            'class?', 'coerce-chaperone-contract',
574            'coerce-chaperone-contracts', 'coerce-contract',
575            'coerce-contract/f', 'coerce-contracts', 'coerce-flat-contract',
576            'coerce-flat-contracts', 'conjugate', 'cons?', 'const',
577            'contract-first-order', 'contract-first-order-passes?',
578            'contract-name', 'contract-proc', 'contract-projection',
579            'contract-property?', 'contract-random-generate',
580            'contract-stronger?', 'contract-struct-exercise',
581            'contract-struct-generate', 'contract?', 'convert-stream',
582            'copy-directory/files', 'copy-port', 'cosh', 'count',
583            'current-blame-format', 'current-future', 'curry', 'curryr',
584            'degrees-&gt;radians', 'delete-directory/files',
585            'deserialize-info:set-v0', 'dict-iter-contract',
586            'dict-key-contract', 'dict-value-contract', 'drop', 'drop-right',
587            'dup-input-port', 'dup-output-port', 'dynamic-get-field',
588            'dynamic-send', 'dynamic-set-field!', 'eighth', 'empty',
589            'empty-sequence', 'empty-stream', 'empty?', 'env-stash',
590            'eq-contract-val', 'eq-contract?', 'equal&lt;%&gt;',
591            'equal-contract-val', 'equal-contract?', 'exact-ceiling',
592            'exact-floor', 'exact-round', 'exact-truncate',
593            'exn:fail:contract:blame-object', 'exn:fail:contract:blame?',
594            'exn:fail:object?', 'exn:misc:match?', 'explode-path',
595            'externalizable&lt;%&gt;', 'false', 'false/c', 'false?',
596            'field-names', 'fifth', 'file-name-from-path',
597            'filename-extension', 'filter-map', 'filter-not',
598            'filter-read-input-port', 'find-files', 'first', 'flat-contract',
599            'flat-contract-predicate', 'flat-contract-property?',
600            'flat-contract?', 'flat-named-contract', 'flatten', 'fold-files',
601            'force', 'fourth', 'fsemaphore-count', 'fsemaphore-post',
602            'fsemaphore-try-wait?', 'fsemaphore-wait', 'fsemaphore?', 'future',
603            'future?', 'futures-enabled?', 'generate-ctc-fail?',
604            'generate-env', 'generate-member-key', 'generate/choose',
605            'generate/direct', 'generic?', 'group-execute-bit',
606            'group-read-bit', 'group-write-bit', 'has-contract?', 'identity',
607            'impersonator-contract?', 'impersonator-prop:contracted',
608            'implementation?', 'implementation?/c', 'in-dict', 'in-dict-keys',
609            'in-dict-pairs', 'in-dict-values', 'infinite?',
610            'input-port-append', 'instanceof/c', 'interface-&gt;method-names',
611            'interface-extension?', 'interface?', 'is-a?', 'is-a?/c', 'last',
612            'last-pair', 'list-&gt;set', 'list-&gt;seteq', 'list-&gt;seteqv',
613            'make-chaperone-contract', 'make-contract', 'make-custom-hash',
614            'make-directory*', 'make-exn:fail:contract:blame',
615            'make-exn:fail:object', 'make-flat-contract', 'make-fsemaphore',
616            'make-generate-ctc-fail', 'make-generic',
617            'make-immutable-custom-hash', 'make-input-port/read-to-peek',
618            'make-limited-input-port', 'make-list', 'make-lock-file-name',
619            'make-mixin-contract', 'make-none/c', 'make-pipe-with-specials',
620            'make-primitive-class', 'make-proj-contract',
621            'make-tentative-pretty-print-output-port', 'make-weak-custom-hash',
622            'match-equality-test', 'matches-arity-exactly?',
623            'member-name-key-hash-code', 'member-name-key=?',
624            'member-name-key?', 'merge-input', 'method-in-interface?',
625            'mixin-contract', 'n-&gt;th', 'nan?', 'natural-number/c', 'negate',
626            'new-∀/c', 'new-∃/c', 'ninth', 'normalize-path', 'object%',
627            'object-&gt;vector', 'object-info', 'object-interface',
628            'object-method-arity-includes?', 'object=?', 'object?',
629            'open-output-nowhere', 'order-of-magnitude', 'other-execute-bit',
630            'other-read-bit', 'other-write-bit', 'parse-command-line',
631            'partition', 'path-element?', 'path-only', 'pathlist-closure',
632            'pi', 'pi.f', 'place-break', 'place-channel', 'place-channel-get',
633            'place-channel-put', 'place-channel-put/get', 'place-channel?',
634            'place-dead-evt', 'place-enabled?', 'place-kill',
635            'place-message-allowed?', 'place-sleep', 'place-wait', 'place?',
636            'port-&gt;bytes', 'port-&gt;list', 'port-&gt;string',
637            'predicate/c', 'preferences-lock-file-mode', 'pretty-display',
638            'pretty-format', 'pretty-print',
639            'pretty-print-.-symbol-without-bars',
640            'pretty-print-abbreviate-read-macros', 'pretty-print-columns',
641            'pretty-print-current-style-table', 'pretty-print-depth',
642            'pretty-print-exact-as-decimal', 'pretty-print-extend-style-table',
643            'pretty-print-handler', 'pretty-print-newline',
644            'pretty-print-post-print-hook', 'pretty-print-pre-print-hook',
645            'pretty-print-print-hook', 'pretty-print-print-line',
646            'pretty-print-remap-stylable', 'pretty-print-show-inexactness',
647            'pretty-print-size-hook', 'pretty-print-style-table?',
648            'pretty-printing', 'pretty-write', 'printable&lt;%&gt;',
649            'printable/c', 'process', 'process*', 'process*/ports',
650            'process/ports', 'processor-count', 'promise-forced?',
651            'promise-running?', 'promise?', 'prop:chaperone-contract',
652            'prop:contract', 'prop:contracted', 'prop:dict',
653            'prop:flat-contract', 'prop:opt-chaperone-contract',
654            'prop:opt-chaperone-contract-get-test',
655            'prop:opt-chaperone-contract?', 'prop:stream', 'proper-subset?',
656            'put-preferences', 'radians-&gt;degrees', 'raise-blame-error',
657            'raise-contract-error', 'range', 'reencode-input-port',
658            'reencode-output-port', 'relocate-input-port',
659            'relocate-output-port', 'rest', 'second', 'sequence-&gt;list',
660            'sequence-add-between', 'sequence-andmap', 'sequence-append',
661            'sequence-count', 'sequence-filter', 'sequence-fold',
662            'sequence-for-each', 'sequence-length', 'sequence-map',
663            'sequence-ormap', 'sequence-ref', 'sequence-tail', 'set',
664            'set-&gt;list', 'set-add', 'set-count', 'set-empty?', 'set-eq?',
665            'set-equal?', 'set-eqv?', 'set-first', 'set-for-each',
666            'set-intersect', 'set-map', 'set-member?', 'set-remove',
667            'set-rest', 'set-subtract', 'set-symmetric-difference',
668            'set-union', 'set/c', 'set=?', 'set?', 'seteq', 'seteqv',
669            'seventh', 'sgn', 'shuffle', 'simple-form-path', 'sinh', 'sixth',
670            'skip-projection-wrapper?', 'some-system-path-&gt;string',
671            'special-filter-input-port', 'split-at', 'split-at-right', 'sqr',
672            'stream-&gt;list', 'stream-add-between', 'stream-andmap',
673            'stream-append', 'stream-count', 'stream-empty?', 'stream-filter',
674            'stream-first', 'stream-fold', 'stream-for-each', 'stream-length',
675            'stream-map', 'stream-ormap', 'stream-ref', 'stream-rest',
676            'stream-tail', 'stream?', 'string-&gt;some-system-path',
677            'string-append*', 'string-no-nuls?', 'struct-type-property/c',
678            'struct:exn:fail:contract:blame', 'struct:exn:fail:object',
679            'subclass?', 'subclass?/c', 'subset?', 'symbol=?', 'system',
680            'system*', 'system*/exit-code', 'system/exit-code', 'take',
681            'take-right', 'tanh', 'tcp-abandon-port', 'tcp-accept',
682            'tcp-accept-evt', 'tcp-accept-ready?', 'tcp-accept/enable-break',
683            'tcp-addresses', 'tcp-close', 'tcp-connect',
684            'tcp-connect/enable-break', 'tcp-listen', 'tcp-listener?',
685            'tcp-port?', 'tentative-pretty-print-port-cancel',
686            'tentative-pretty-print-port-transfer', 'tenth',
687            'the-unsupplied-arg', 'third', 'touch', 'transplant-input-port',
688            'transplant-output-port', 'true', 'udp-addresses', 'udp-bind!',
689            'udp-bound?', 'udp-close', 'udp-connect!', 'udp-connected?',
690            'udp-open-socket', 'udp-receive!', 'udp-receive!*',
691            'udp-receive!-evt', 'udp-receive!/enable-break',
692            'udp-receive-ready-evt', 'udp-send', 'udp-send*', 'udp-send-evt',
693            'udp-send-ready-evt', 'udp-send-to', 'udp-send-to*',
694            'udp-send-to-evt', 'udp-send-to/enable-break',
695            'udp-send/enable-break', 'udp?', 'unit?', 'unsupplied-arg?',
696            'user-execute-bit', 'user-read-bit', 'user-write-bit',
697            'value-contract', 'vector-append', 'vector-argmax',
698            'vector-argmin', 'vector-copy', 'vector-count', 'vector-drop',
699            'vector-drop-right', 'vector-filter', 'vector-filter-not',
700            'vector-map', 'vector-map!', 'vector-member', 'vector-memq',
701            'vector-memv', 'vector-set*!', 'vector-split-at',
702            'vector-split-at-right', 'vector-take', 'vector-take-right',
703            'with-input-from-bytes', 'with-input-from-string',
704            'with-output-to-bytes', 'with-output-to-string', 'would-be-future',
705            'writable&lt;%&gt;', 'xor',
706            ),
707        4 => array(
708            '&gt;=/c', '&lt;=/c', '-&gt;*m', '-&gt;d', '-&gt;dm', '-&gt;i', '-&gt;m',
709            '=/c', 'absent', 'abstract', 'add-between', 'and/c', 'any',
710            'any/c', 'augment', 'augment*', 'augment-final', 'augment-final*',
711            'augride', 'augride*', 'between/c', 'blame-add-context',
712            'box-immutable/c', 'box/c', 'call-with-file-lock/timeout',
713            'case-&gt;', 'case-&gt;m', 'class', 'class*',
714            'class-field-accessor', 'class-field-mutator', 'class/c',
715            'class/derived', 'command-line', 'compound-unit',
716            'compound-unit/infer', 'cons/c', 'continuation-mark-key/c',
717            'contract', 'contract-out', 'contract-struct', 'contracted',
718            'current-contract-region', 'define-compound-unit',
719            'define-compound-unit/infer', 'define-contract-struct',
720            'define-local-member-name', 'define-match-expander',
721            'define-member-name', 'define-opt/c', 'define-serializable-class',
722            'define-serializable-class*', 'define-signature',
723            'define-signature-form', 'define-struct/contract', 'define-unit',
724            'define-unit-binding', 'define-unit-from-context',
725            'define-unit/contract', 'define-unit/new-import-export',
726            'define-unit/s', 'define-values-for-export',
727            'define-values/invoke-unit', 'define-values/invoke-unit/infer',
728            'define/augment', 'define/augment-final', 'define/augride',
729            'define/contract', 'define/final-prop', 'define/match',
730            'define/overment', 'define/override', 'define/override-final',
731            'define/private', 'define/public', 'define/public-final',
732            'define/pubment', 'define/subexpression-pos-prop', 'delay',
733            'delay/idle', 'delay/name', 'delay/strict', 'delay/sync',
734            'delay/thread', 'dict-&gt;list', 'dict-can-functional-set?',
735            'dict-can-remove-keys?', 'dict-count', 'dict-for-each',
736            'dict-has-key?', 'dict-iterate-first', 'dict-iterate-key',
737            'dict-iterate-next', 'dict-iterate-value', 'dict-keys', 'dict-map',
738            'dict-mutable?', 'dict-ref', 'dict-ref!', 'dict-remove',
739            'dict-remove!', 'dict-set', 'dict-set!', 'dict-set*', 'dict-set*!',
740            'dict-update', 'dict-update!', 'dict-values', 'dict?',
741            'display-lines', 'display-lines-to-file', 'display-to-file',
742            'dynamic-place', 'dynamic-place*', 'eof-evt', 'except',
743            'exn:fail:contract:blame', 'exn:fail:object', 'export', 'extends',
744            'field', 'field-bound?', 'file-&gt;bytes', 'file-&gt;bytes-lines',
745            'file-&gt;lines', 'file-&gt;list', 'file-&gt;string',
746            'file-&gt;value', 'find-relative-path', 'flat-murec-contract',
747            'flat-rec-contract', 'for*/set', 'for*/seteq', 'for*/seteqv',
748            'for/set', 'for/seteq', 'for/seteqv', 'gen:dict', 'gen:stream',
749            'generic', 'get-field', 'get-preference', 'hash/c', 'implies',
750            'import', 'in-set', 'in-stream', 'include',
751            'include-at/relative-to', 'include-at/relative-to/reader',
752            'include/reader', 'inherit', 'inherit-field', 'inherit/inner',
753            'inherit/super', 'init', 'init-depend', 'init-field', 'init-rest',
754            'inner', 'inspect', 'instantiate', 'integer-in', 'interface',
755            'interface*', 'invoke-unit', 'invoke-unit/infer', 'lazy', 'link',
756            'list/c', 'listof', 'local', 'make-handle-get-preference-locked',
757            'make-object', 'make-temporary-file', 'match', 'match*',
758            'match*/derived', 'match-define', 'match-define-values',
759            'match-lambda', 'match-lambda*', 'match-lambda**', 'match-let',
760            'match-let*', 'match-let*-values', 'match-let-values',
761            'match-letrec', 'match/derived', 'match/values', 'member-name-key',
762            'method-contract?', 'mixin', 'nand', 'new', 'non-empty-listof',
763            'none/c', 'nor', 'not/c', 'object-contract', 'object/c',
764            'one-of/c', 'only', 'open', 'opt/c', 'or/c', 'overment',
765            'overment*', 'override', 'override*', 'override-final',
766            'override-final*', 'parameter/c', 'parametric-&gt;/c',
767            'peek-bytes!-evt', 'peek-bytes-avail!-evt', 'peek-bytes-evt',
768            'peek-string!-evt', 'peek-string-evt', 'peeking-input-port',
769            'place', 'place*', 'port-&gt;bytes-lines', 'port-&gt;lines',
770            'prefix', 'private', 'private*', 'procedure-arity-includes/c',
771            'promise/c', 'prompt-tag/c', 'prop:dict/contract',
772            'provide-signature-elements', 'provide/contract', 'public',
773            'public*', 'public-final', 'public-final*', 'pubment', 'pubment*',
774            'read-bytes!-evt', 'read-bytes-avail!-evt', 'read-bytes-evt',
775            'read-bytes-line-evt', 'read-line-evt', 'read-string!-evt',
776            'read-string-evt', 'real-in', 'recursive-contract',
777            'regexp-match-evt', 'remove-duplicates', 'rename', 'rename-inner',
778            'rename-super', 'send', 'send*', 'send+', 'send-generic',
779            'send/apply', 'send/keyword-apply', 'set-field!', 'shared',
780            'stream', 'stream-cons', 'string-join', 'string-len/c',
781            'string-normalize-spaces', 'string-replace', 'string-split',
782            'string-trim', 'struct*', 'struct/c', 'struct/ctc', 'struct/dc',
783            'super', 'super-instantiate', 'super-make-object', 'super-new',
784            'symbols', 'syntax/c', 'tag', 'this', 'this%', 'thunk', 'thunk*',
785            'unconstrained-domain-&gt;', 'unit', 'unit-from-context', 'unit/c',
786            'unit/new-import-export', 'unit/s', 'vector-immutable/c',
787            'vector-immutableof', 'vector/c', 'vectorof', 'with-contract',
788            'with-method', 'write-to-file', '~.a', '~.s', '~.v', '~a', '~e',
789            '~r', '~s', '~v',
790            ),
791        ),
792    'SYMBOLS' => array(
793        0 => array(
794            '&gt;', '&gt;=', '&lt;', '&lt;=', '*', '+', '-', '-&gt;', '-&gt;*', '...', '/',
795            '=', '=&gt;', '==', '_', '#fl', '#fx', '#s', '#', '#f', '#F',
796            '#false', '#t', '#T', '#true', '#lang', '#reader', '.', '\'', '#`',
797            '#,@', '#,', '#\'', '`', '@', ',', '#%', '#$', '#&', '#~', '#rx',
798            '#px', '#<<', '#;', '#hash', '#',
799            ),
800        ),
801    'CASE_SENSITIVE' => array(
802        GESHI_COMMENTS => false,
803        1 => false,
804        2 => false,
805        3 => false,
806        4 => false,
807        ),
808    'NUMBERS' => array(
809        1 => '(((#x#e)|(#e#x)|(#x#i)|(#i#x)|(#x))((((((((((((-)|(\+)))?(((('.
810            '(([0-9])+)?(\.)?(([0-9a-fA-F])+(#)*)))|(((([0-9a-fA-F])+(#)*)'.
811            '(\.)?(#)*))|(((([0-9a-fA-F])+(#)*)\\/(([0-9a-fA-F])+(#)*))))('.
812            '([sl]((((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan'.
813            '\.))[0f])))))?((-)|(\+))(((((((([0-9])+)?(\.)?(([0-9a-fA-F])+'.
814            '(#)*)))|(((([0-9a-fA-F])+(#)*)(\.)?(#)*))|(((([0-9a-fA-F])+(#'.
815            ')*)\\/(([0-9a-fA-F])+(#)*))))(([sl]((((-)|(\+)))?([0-9])+)))?'.
816            '))|((((inf\.)|(nan\.))[0f])))i))|((((((((-)|(\+)))?(((((([0-9'.
817            '])+)?(\.)?(([0-9a-fA-F])+(#)*)))|(((([0-9a-fA-F])+(#)*)(\.)?('.
818            '#)*))|(((([0-9a-fA-F])+(#)*)\\/(([0-9a-fA-F])+(#)*))))(([sl]('.
819            '(((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0'.
820            'f]))))@((((((-)|(\+)))?(((((([0-9])+)?(\.)?(([0-9a-fA-F])+(#)'.
821            '*)))|(((([0-9a-fA-F])+(#)*)(\.)?(#)*))|(((([0-9a-fA-F])+(#)*)'.
822            '\\/(([0-9a-fA-F])+(#)*))))(([sl]((((-)|(\+)))?([0-9])+)))?)))'.
823            '|((((-)|(\+))(((inf\.)|(nan\.))[0f]))))))))|((((((-)|(\+)))?('.
824            '([0-9])+\\/([0-9])+))((-)|(\+))(([0-9])+\\/([0-9])+)i))|((((('.
825            '-)|(\+)))?(([0-9])+\\/([0-9])+)))|(((((((-)|(\+)))?(((((([0-9'.
826            '])+)?(\.)?(([0-9a-fA-F])+(#)*)))|(((([0-9a-fA-F])+(#)*)(\.)?('.
827            '#)*))|(((([0-9a-fA-F])+(#)*)\\/(([0-9a-fA-F])+(#)*))))(([sl]('.
828            '(((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0'.
829            'f])))))|(((((-)|(\+)))?([0-9])+))))',
830        2 => '(((#o#e)|(#e#o)|(#o#i)|(#i#o)|(#o))((((((((((((-)|(\+)))?(((('.
831            '(([0-9])+)?(\.)?(([0-7])+(#)*)))|(((([0-7])+(#)*)(\.)?(#)*))|'.
832            '(((([0-7])+(#)*)\\/(([0-7])+(#)*))))(((([sl])|([def]))((((-)|'.
833            '(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0f]))))'.
834            ')?((-)|(\+))(((((((([0-9])+)?(\.)?(([0-7])+(#)*)))|(((([0-7])'.
835            '+(#)*)(\.)?(#)*))|(((([0-7])+(#)*)\\/(([0-7])+(#)*))))(((([sl'.
836            '])|([def]))((((-)|(\+)))?([0-9])+)))?))|((((inf\.)|(nan\.))[0'.
837            'f])))i))|((((((((-)|(\+)))?(((((([0-9])+)?(\.)?(([0-7])+(#)*)'.
838            '))|(((([0-7])+(#)*)(\.)?(#)*))|(((([0-7])+(#)*)\\/(([0-7])+(#'.
839            ')*))))(((([sl])|([def]))((((-)|(\+)))?([0-9])+)))?)))|((((-)|'.
840            '(\+))(((inf\.)|(nan\.))[0f]))))@((((((-)|(\+)))?(((((([0-9])+'.
841            ')?(\.)?(([0-7])+(#)*)))|(((([0-7])+(#)*)(\.)?(#)*))|(((([0-7]'.
842            ')+(#)*)\\/(([0-7])+(#)*))))(((([sl])|([def]))((((-)|(\+)))?(['.
843            '0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0f]))))))))|(((('.
844            '((-)|(\+)))?(([0-9])+\\/([0-9])+))((-)|(\+))(([0-9])+\\/([0-9'.
845            '])+)i))|(((((-)|(\+)))?(([0-9])+\\/([0-9])+)))|(((((((-)|(\+)'.
846            '))?(((((([0-9])+)?(\.)?(([0-7])+(#)*)))|(((([0-7])+(#)*)(\.)?'.
847            '(#)*))|(((([0-7])+(#)*)\\/(([0-7])+(#)*))))(((([sl])|([def]))'.
848            '((((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))['.
849            '0f])))))|(((((-)|(\+)))?([0-9])+))))',
850        3 => '(((#b#e)|(#e#b)|(#b#i)|(#i#b)|(#b))((((((((((((-)|(\+)))?(((('.
851            '(([0-9])+)?(\.)?(([0-1])+(#)*)))|(((([0-1])+(#)*)(\.)?(#)*))|'.
852            '(((([0-1])+(#)*)\\/(([0-1])+(#)*))))(((([sl])|([def]))((((-)|'.
853            '(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0f]))))'.
854            ')?((-)|(\+))(((((((([0-9])+)?(\.)?(([0-1])+(#)*)))|(((([0-1])'.
855            '+(#)*)(\.)?(#)*))|(((([0-1])+(#)*)\\/(([0-1])+(#)*))))(((([sl'.
856            '])|([def]))((((-)|(\+)))?([0-9])+)))?))|((((inf\.)|(nan\.))[0'.
857            'f])))i))|((((((((-)|(\+)))?(((((([0-9])+)?(\.)?(([0-1])+(#)*)'.
858            '))|(((([0-1])+(#)*)(\.)?(#)*))|(((([0-1])+(#)*)\\/(([0-1])+(#'.
859            ')*))))(((([sl])|([def]))((((-)|(\+)))?([0-9])+)))?)))|((((-)|'.
860            '(\+))(((inf\.)|(nan\.))[0f]))))@((((((-)|(\+)))?(((((([0-9])+'.
861            ')?(\.)?(([0-1])+(#)*)))|(((([0-1])+(#)*)(\.)?(#)*))|(((([0-1]'.
862            ')+(#)*)\\/(([0-1])+(#)*))))(((([sl])|([def]))((((-)|(\+)))?(['.
863            '0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0f]))))))))|(((('.
864            '((-)|(\+)))?(([0-9])+\\/([0-9])+))((-)|(\+))(([0-9])+\\/([0-9'.
865            '])+)i))|(((((-)|(\+)))?(([0-9])+\\/([0-9])+)))|(((((((-)|(\+)'.
866            '))?(((((([0-9])+)?(\.)?(([0-1])+(#)*)))|(((([0-1])+(#)*)(\.)?'.
867            '(#)*))|(((([0-1])+(#)*)\\/(([0-1])+(#)*))))(((([sl])|([def]))'.
868            '((((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))['.
869            '0f])))))|(((((-)|(\+)))?([0-9])+))))',
870        4 => '((((#d#e)|(#e#d)|(#d#i)|(#i#d)|(#e)|(#i)|(#d)))?((((((((((((-'.
871            ')|(\+)))?(((((([0-9])+)?(\.)?(([0-9])+(#)*)))|(((([0-9])+(#)*'.
872            ')(\.)?(#)*))|(((([0-9])+(#)*)\\/(([0-9])+(#)*))))(((([sl])|(['.
873            'def]))((((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(na'.
874            'n\.))[0f])))))?((-)|(\+))(((((((([0-9])+)?(\.)?(([0-9])+(#)*)'.
875            '))|(((([0-9])+(#)*)(\.)?(#)*))|(((([0-9])+(#)*)\\/(([0-9])+(#'.
876            ')*))))(((([sl])|([def]))((((-)|(\+)))?([0-9])+)))?))|((((inf'.
877            '\.)|(nan\.))[0f])))i))|((((((((-)|(\+)))?(((((([0-9])+)?(\.)?'.
878            '(([0-9])+(#)*)))|(((([0-9])+(#)*)(\.)?(#)*))|(((([0-9])+(#)*)'.
879            '\\/(([0-9])+(#)*))))(((([sl])|([def]))((((-)|(\+)))?([0-9])+)'.
880            '))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0f]))))@((((((-)|(\+)))'.
881            '?(((((([0-9])+)?(\.)?(([0-9])+(#)*)))|(((([0-9])+(#)*)(\.)?(#'.
882            ')*))|(((([0-9])+(#)*)\\/(([0-9])+(#)*))))(((([sl])|([def]))(('.
883            '((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0f'.
884            ']))))))))|((((((-)|(\+)))?(([0-9])+\\/([0-9])+))((-)|(\+))((['.
885            '0-9])+\\/([0-9])+)i))|(((((-)|(\+)))?(([0-9])+\\/([0-9])+)))|'.
886            '(((((((-)|(\+)))?(((((([0-9])+)?(\.)?(([0-9])+(#)*)))|(((([0-'.
887            '9])+(#)*)(\.)?(#)*))|(((([0-9])+(#)*)\\/(([0-9])+(#)*))))(((('.
888            '[sl])|([def]))((((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((in'.
889            'f\.)|(nan\.))[0f])))))|(((((-)|(\+)))?([0-9])+))))',
890            ),
891    'STYLES' => array(
892        'KEYWORDS' => array(
893            1 => 'color: blue;',
894            2 => 'color: rgb(34, 34, 139);',
895            3 => 'color: blue;',
896            4 => 'color: rgb(34, 34, 139);',
897            ),
898        'COMMENTS' => array(
899            1 => 'color: rgb(194, 116, 31);',
900            'MULTI' => 'color: rgb(194, 116, 31);',
901            ),
902        'ESCAPE_CHAR' => array(
903            0 => '',
904            ),
905        'BRACKETS' => array(
906            0 => 'color: rgb(132, 60,36);',
907            ),
908        'STRINGS' => array(
909            0 => 'color: rgb(34, 139, 34);',
910            ),
911        'NUMBERS' => array(
912            0 => 'color: rgb(34, 139, 34);',
913            1 => 'color: rgb(34, 139, 34);',
914            2 => 'color: rgb(34, 139, 34);',
915            3 => 'color: rgb(34, 139, 34);',
916            4 => 'color: rgb(34, 139, 34);',
917            ),
918        'METHODS' => array(
919            0 => 'color: #202020;',
920            ),
921        'SYMBOLS' => array(
922            0 => 'color: rgb(132, 60,36);',
923            ),
924        'REGEXPS' => array(
925            1 => 'color: rgb(34, 139, 34);',
926            2 => 'color: rgb(132, 60,36);',
927            3 => 'color: rgb(34, 139, 34);',
928            ),
929        'SCRIPT' => array(
930            ),
931        ),
932    'URLS' => array(
933        1 => 'http://docs.racket-lang.org/reference/',
934        2 => 'http://docs.racket-lang.org/reference/',
935        3 => 'http://docs.racket-lang.org/reference/',
936        4 => 'http://docs.racket-lang.org/reference/',
937        ),
938    'OOLANG' => false,
939    'OBJECT_SPLITTERS' => array(
940        ),
941    'REGEXPS' => array(
942        1 => '#\\\\(nul|null|backspace|tab|newline|linefeed|vtab|page|retur'.
943            'n|space|rubout|([0-7]{1,3})|(u[[:xdigit:]]{1,4})|(U[[:xdigit:'.
944            ']]{1,6})|[a-z])',
945        2 => '#:[^[:space:]()[\\]{}",\']+',
946        3 => '\'((\\\\ )|([^[:space:]()[\\]{}",\']))+',
947        ),
948    'STRICT_MODE_APPLIES' => GESHI_NEVER,
949    'SCRIPT_DELIMITERS' => array(
950        ),
951    'HIGHLIGHT_STRICT_BLOCK' => array(
952        ),
953    'PARSER_CONTROL' => array(
954        'KEYWORDS' => array(
955            'DISALLOWED_BEFORE' => '[[:space:]()[\\]{}",\']',
956            ),
957        'ENABLE_FLAGS' => array(
958            'SYMBOLS' => GESHI_MAYBE,
959            'BRACKETS' => GESHI_MAYBE,
960            'REGEXPS' => GESHI_MAYBE,
961            'ESCAPE_CHAR' => GESHI_MAYBE,
962            )
963        )
964);
965