This is the reader-interception Reference Manual, version 1.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 07:33:32 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
reader-interception
Intercept the reader to replace CL syntax with your own
Francois-Rene Rideau
MIT
1.0.0
reader-interception.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
reader-interception/reader-interception.asd
reader-interception
(system).
reader-interception/reader-interception.lisp
reader-interception
(system).
prepare-reader-interception
(function).
with-reader-interception
(macro).
*intercepted-characters*
(special variable).
*interception-readtable*
(special variable).
*reader*
(special variable).
*saved-readtable*
(special variable).
*standard-readtable*
(special variable).
call-with-reader-interception
(function).
initialize-interception
(function).
intercept-char-reader
(function).
prepare-all-ascii
(function).
prepare-character
(function).
standard-read
(function).
Packages are listed by definition order.
reader-interception
common-lisp
.
prepare-reader-interception
(function).
with-reader-interception
(macro).
*intercepted-characters*
(special variable).
*interception-readtable*
(special variable).
*reader*
(special variable).
*saved-readtable*
(special variable).
*standard-readtable*
(special variable).
call-with-reader-interception
(function).
initialize-interception
(function).
intercept-char-reader
(function).
prepare-all-ascii
(function).
prepare-character
(function).
standard-read
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
You may override the Common Lisp reader, e.g. around LOAD or COMPILE-FILE,
by using WITH-READER-INTERCEPTION (HINT READER) BODY...
thus replacing the CL syntax with any syntax of your choice.
By combining this with ASDF 2.018’s :around-compile hook,
you could compile any language with CL via a proper translation frontend.
You *must* specify a HINT to pass to PREPARE-READER-INTERCEPTION,
to help the interception find the first (next) character that will be read,
so it can intercept reading from there.
You must specify your READER, a function taking a STREAM as argument,
and either returning an object or raising an error
such as READER-ERROR or END-OF-FILE.
Inside the BODY, the *READTABLE* is set so that you may READ
from a stream starting with the hinted character, and
it will use your specified parser instead of the CL reader.
Inside the READER itself, READ will behave like the unintercepted CL reader.
Before you may intercept the CL reader, you MUST prime
the reader-interception with the first character to be read.
You may give the character itself,
NIL for no character (e.g. EOF),
T for any ASCII characters (assuming the first one won’t be further unicode),
a stream to read the character from,
a string that will be used as input stream,
a pathname to be open as a stream to read from with specified external-format
Jump to: | C F I M P S W |
---|
Jump to: | C F I M P S W |
---|
Jump to: | *
S |
---|
Jump to: | *
S |
---|
Jump to: | F P R S |
---|
Jump to: | F P R S |
---|