This is the esrap-liquid Reference Manual, version 2.3, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 08 18:01:04 2024 GMT+0.
esrap-liquid/esrap-liquid.asd
esrap-liquid/src/package.lisp
esrap-liquid/src/conditions.lisp
esrap-liquid/src/miscellany.lisp
esrap-liquid/src/iterators.lisp
esrap-liquid/src/rule-storage.lisp
esrap-liquid/src/memoization.lisp
esrap-liquid/src/macro.lisp
esrap-liquid/src/esrap.lisp
esrap-liquid/src/basic-rules.lisp
esrap-liquid/src/esrap-env.lisp
esrap-liquid/src/iter-extensions.lisp
The main system appears first, followed by any subsystem dependency.
esrap-liquid
A Packrat / Parsing Grammar / TDPL parser for Common Lisp.
GPL
2.3
alexandria
(system).
iterate
(system).
cl-ppcre
(system).
cl-interpol
(system).
src
(module).
example-sexp.lisp
(file).
example-symbol-table.lisp
(file).
readme
(file).
Modules are listed depth-first from the system components tree.
esrap-liquid/src
esrap-liquid
(system).
package.lisp
(file).
conditions.lisp
(file).
miscellany.lisp
(file).
iterators.lisp
(file).
rule-storage.lisp
(file).
memoization.lisp
(file).
macro.lisp
(file).
esrap.lisp
(file).
basic-rules.lisp
(file).
esrap-env.lisp
(file).
iter-extensions.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
esrap-liquid/esrap-liquid.asd
esrap-liquid/src/package.lisp
esrap-liquid/src/conditions.lisp
esrap-liquid/src/miscellany.lisp
esrap-liquid/src/iterators.lisp
esrap-liquid/src/rule-storage.lisp
esrap-liquid/src/memoization.lisp
esrap-liquid/src/macro.lisp
esrap-liquid/src/esrap.lisp
esrap-liquid/src/basic-rules.lisp
esrap-liquid/src/esrap-env.lisp
esrap-liquid/src/iter-extensions.lisp
esrap-liquid/esrap-liquid.asd
esrap-liquid
(system).
esrap-liquid/src/conditions.lisp
package.lisp
(file).
src
(module).
fail-parse
(macro).
fail-parse-format
(macro).
print-object
(method).
print-object
(method).
*debug*
(special variable).
*tracing-indent*
(special variable).
esrap-error
(condition).
esrap-error-position
(reader method).
esrap-error-reason
(reader method).
esrap-error-text
(reader method).
if-debug
(macro).
if-debug-fun
(function).
internal-esrap-error
(condition).
join
(function).
joinl
(function).
left-recursion
(condition).
left-recursion-nonterminal
(reader method).
left-recursion-path
(reader method).
rule-stack
(reader method).
(setf rule-stack)
(writer method).
simple-esrap-error
(function).
simple-esrap-error
(condition).
tracing-init
(macro).
tracing-level
(macro).
esrap-liquid/src/miscellany.lisp
conditions.lisp
(file).
src
(module).
text
(function).
esrap-liquid/src/iterators.lisp
miscellany.lisp
(file).
src
(module).
initialize-instance
(method).
initialize-instance
(method).
buffer-error
(function).
buffer-error
(condition).
buffer-pop
(generic function).
buffer-push
(generic function).
buffer-vector
(class).
buffer-vector-start-length
(special variable).
cache-iterator
(class).
calc-new-buffer-length
(function).
clause-for-in-iter-1
(macro).
fast-forward
(function).
hard-shrink
(generic function).
mk-cache-iter
(function).
mk-stream-iter
(function).
mk-string-iter
(function).
next-iter
(generic function).
print-buffer-vector
(function).
print-cache-iterator
(function).
print-iter-state
(function).
rel-rewind
(function).
rewind
(function).
soft-shrink
(generic function).
start-of-iter-p
(generic function).
stop-iteration
(condition).
stream-iter
(class).
string-iter
(class).
the-iter
(special variable).
the-length
(special variable).
the-position
(special variable).
with-saved-iter-state
(macro).
esrap-liquid/src/rule-storage.lisp
iterators.lisp
(file).
src
(module).
*rule-context-sensitivity*
(special variable).
*rules*
(special variable).
clear-rules
(function).
context-sensitive-rule-p
(function).
esrap-liquid/src/memoization.lisp
rule-storage.lisp
(file).
src
(module).
register-context
(macro).
*cache*
(special variable).
*nonterminal-stack*
(special variable).
contexts
(special variable).
ensure-subpos-hash!
(function).
esrap-cache
(class).
failed-parse-p
(function).
get-cached
(generic function).
(setf get-cached)
(function).
hard-shrink
(method).
hash->assoc
(function).
make-cache
(function).
print-esrap-cache
(function).
soft-shrink
(method).
with-cached-result
(macro).
esrap-liquid/src/macro.lisp
memoization.lisp
(file).
src
(module).
∅
(macro).
!
(macro).
!!
(macro).
&
(macro).
->
(macro).
<-
(macro).
?
(macro).
cond-parse
(macro).
defrule
(macro).
descend-with-rule
(macro).
list-v
(macro).
maybe-wrap-in-descent
(function).
most-full-parse
(macro).
postimes
(macro).
pred
(macro).
prog1-v
(macro).
progm
(macro).
progn-v
(macro).
times
(macro).
%defrule
(macro).
*cap-stash*
(special variable).
*rule-stack*
(special variable).
def-nocontext-rule
(macro).
make-result
(macro).
make-rule-lambda
(function).
propagate-cap-stash-upwards
(function).
the-position-boundary
(macro).
with-fresh-cap-stash
(macro).
with-sub-cap-stash
(macro).
wrap-with-esrap-macrolets
(function).
esrap-liquid/src/esrap.lisp
macro.lisp
(file).
src
(module).
character-ranges
(macro).
parse
(function).
parse-stream
(function).
%parse-token-iter
(function).
*indentation-hint-table*
(special variable).
hint-slime-indentation
(function).
iter-last-text
(function).
max-failed-position
(special variable).
max-message
(special variable).
max-rule-stack
(special variable).
mk-esrap-iter-from-stream
(function).
mk-esrap-iter-from-string
(function).
parse-token-iter
(function).
positive-mood
(special variable).
with-tmp-rule
(macro).
esrap-liquid/src/basic-rules.lisp
esrap.lisp
(file).
src
(module).
any-string
(macro).
eof-error-p
(function).
eof-p
(function).
esrap-liquid/src/esrap-env.lisp
basic-rules.lisp
(file).
src
(module).
define-esrap-env
(macro).
in-esrap-env
(macro).
install-common-rules
(function).
reintern-to-right-package
(function).
esrap-liquid/src/iter-extensions.lisp
esrap-env.lisp
(file).
src
(module).
mk-tokenizer
(function).
esrap-liquid/example-sexp.lisp
src
(module).
esrap-liquid
(system).
esrap-liquid/example-symbol-table.lisp
example-sexp.lisp
(file).
esrap-liquid
(system).
esrap-liquid/README
example-symbol-table.lisp
(file).
esrap-liquid
(system).
Packages are listed by definition order.
esrap-liquid
alexandria
.
common-lisp
.
iterate
.
∅
(macro).
!
(macro).
!!
(macro).
&
(macro).
->
(macro).
<-
(macro).
?
(macro).
any-string
(macro).
character-ranges
(macro).
cond-parse
(macro).
define-esrap-env
(macro).
defrule
(macro).
descend-with-rule
(macro).
fail-parse
(macro).
fail-parse-format
(macro).
in-esrap-env
(macro).
list-v
(macro).
maybe-wrap-in-descent
(function).
most-full-parse
(macro).
parse
(function).
parse-stream
(function).
postimes
(macro).
pred
(macro).
prog1-v
(macro).
progm
(macro).
progn-v
(macro).
register-context
(macro).
text
(function).
times
(macro).
%defrule
(macro).
%parse-token-iter
(function).
*cache*
(special variable).
*cap-stash*
(special variable).
*debug*
(special variable).
*indentation-hint-table*
(special variable).
*nonterminal-stack*
(special variable).
*rule-context-sensitivity*
(special variable).
*rule-stack*
(special variable).
*rules*
(special variable).
*tracing-indent*
(special variable).
buffer-error
(function).
buffer-error
(condition).
buffer-pop
(generic function).
buffer-push
(generic function).
buffer-vector
(class).
buffer-vector-start-length
(special variable).
cache-iterator
(class).
calc-new-buffer-length
(function).
clause-for-in-iter-1
(macro).
clear-rules
(function).
context-sensitive-rule-p
(function).
contexts
(special variable).
def-nocontext-rule
(macro).
ensure-subpos-hash!
(function).
eof-error-p
(function).
eof-p
(function).
esrap-cache
(class).
esrap-error
(condition).
esrap-error-position
(generic reader).
esrap-error-reason
(generic reader).
esrap-error-text
(generic reader).
failed-parse-p
(function).
fast-forward
(function).
get-cached
(generic function).
(setf get-cached)
(function).
hard-shrink
(generic function).
hash->assoc
(function).
hint-slime-indentation
(function).
if-debug
(macro).
if-debug-fun
(function).
install-common-rules
(function).
internal-esrap-error
(condition).
iter-last-text
(function).
join
(function).
joinl
(function).
left-recursion
(condition).
left-recursion-nonterminal
(generic reader).
left-recursion-path
(generic reader).
make-cache
(function).
make-result
(macro).
make-rule-lambda
(function).
max-failed-position
(special variable).
max-message
(special variable).
max-rule-stack
(special variable).
mk-cache-iter
(function).
mk-esrap-iter-from-stream
(function).
mk-esrap-iter-from-string
(function).
mk-stream-iter
(function).
mk-string-iter
(function).
mk-tokenizer
(function).
next-iter
(generic function).
parse-token-iter
(function).
positive-mood
(special variable).
print-buffer-vector
(function).
print-cache-iterator
(function).
print-esrap-cache
(function).
print-iter-state
(function).
propagate-cap-stash-upwards
(function).
reintern-to-right-package
(function).
rel-rewind
(function).
rewind
(function).
rule-stack
(generic reader).
(setf rule-stack)
(generic writer).
simple-esrap-error
(function).
simple-esrap-error
(condition).
soft-shrink
(generic function).
start-of-iter-p
(generic function).
stop-iteration
(condition).
stream-iter
(class).
string-iter
(class).
the-iter
(special variable).
the-length
(special variable).
the-position
(special variable).
the-position-boundary
(macro).
tracing-init
(macro).
tracing-level
(macro).
with-cached-result
(macro).
with-fresh-cap-stash
(macro).
with-saved-iter-state
(macro).
with-sub-cap-stash
(macro).
with-tmp-rule
(macro).
wrap-with-esrap-macrolets
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Succeeds, whenever parsing of EXPR fails. Does not consume, returns NIL, for compatibility with TEXT
Succeeds, whenever parsing of EXPR fails. Consumes, assumes than EXPR parses just one character.
LIST with automatic descent wrapping.
PROG1 with automatic descent wrapping.
Prog Middle.
PROGN with automatic descent wrapping.
Parses TEXT using EXPRESSION from START to END. Incomplete parses are allowed only if JUNK-ALLOWED is true.
Parses STREAM using EXPRESSION. Incomplete parses are allowed if JUNK-ALLOWED is true.
Arguments must be strings, or lists whose leaves are strings. Catenates all the strings in arguments into a single string.
cache-iterator
) &key &allow-other-keys) ¶buffer-vector
) &key &allow-other-keys) ¶left-recursion
) stream) ¶simple-esrap-error
) stream) ¶Assoc list used to capture temporary variables
Extra level of indirection in *CAP-STASH* is needed to be able to insert new values in it
If we actually only use half of the buffer, shrink it in half.
Relative fast-forward
Relative rewind
Pop the last element of the buffer, but not before the start pointer
buffer-vector
)) ¶Place object in the end of the buffer, necessarily increasing its size
buffer-vector
)) ¶esrap-error
)) ¶esrap-error
)) ¶esrap-error
)) ¶text
.
Accessor for cached parsing results.
esrap-cache
)) ¶Shrink buffer (and cache) the hard way, actually reallocating the buffer and cleaning up cache
esrap-cache
) num-elts-discarded) ¶cache-iterator
) num-elts-discarded) ¶buffer-vector
) (num-elts-discarded integer
)) ¶left-recursion
)) ¶left-recursion
)) ¶path
.
Main method of iteration protocol
cache-iterator
)) ¶stream-iter
)) ¶string-iter
)) ¶simple-esrap-error
)) ¶simple-esrap-error
)) ¶Shrink buffer (and cache) the soft way, just moving the start pointer
esrap-cache
) num-elts-discarded) ¶buffer-vector
) (num-elts-discarded integer
)) ¶T if the given iter is at the start. True by default.
cache-iterator
)) ¶error
.
(quote nil)
:msg
Signaled when an Esrap parse fails. Use ESRAP-ERROR-TEXT to obtain the string that was being parsed, and ESRAP-ERROR-POSITION the position at which the error occurred.
parse-error
.
(quote nil)
:text
This slot is read-only.
common-lisp
.
(quote nil)
:position
This slot is read-only.
(quote nil)
:reason
This slot is read-only.
Signaled when left recursion is detected during Esrap parsing. LEFT-RECURSION-NONTERMINAL names the symbol for which left recursion was detected, and LEFT-RECURSION-PATH lists nonterminals of which the left recursion cycle consists.
esrap-error
.
simple-condition
.
:rule-stack
error
.
common-lisp
.
(error "steam is required argument")
:stream
Jump to: | !
%
&
(
-
<
?
∅
A B C D E F G H I J L M N P R S T W |
---|
Jump to: | !
%
&
(
-
<
?
∅
A B C D E F G H I J L M N P R S T W |
---|
Jump to: | *
B C M N P R S T V |
---|
Jump to: | *
B C M N P R S T V |
---|
Jump to: | B C E F I L M P R S |
---|
Jump to: | B C E F I L M P R S |
---|