The esrap Reference Manual

This is the esrap Reference Manual, version 0.18, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 16:22:03 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 esrap

A Packrat / Parsing Grammar / TDPL parser for Common Lisp.

Maintainer

Jan Moringen <>

Authors

Nikodemus Siivola <>
Jan Moringen <>

Home Page

https://scymtym.github.io/esrap

Source Control

(GIT https://github.com/scymtym/esrap.git)

Bug Tracker

https://github.com/scymtym/esrap/issues

License

MIT

Long Description

A Packrat / Parsing Grammar / TDPL parser for Common Lisp.

Notable features include

* dynamic redefinition of nonterminals
* inline grammars
* semantic predicates
* introspective facilities (describing grammars, tracing, setting breaks)
* left-recursive grammars
* functions as terminals
* accurate, customizable parse error reports

See README.org and :homepage for more information.

Version

0.18

Dependencies
  • alexandria (system).
  • trivial-with-current-source-form (system).
Source

esrap.asd.

Child Components

3 Modules

Modules are listed depth-first from the system components tree.


3.1 esrap/early

Source

esrap.asd.

Parent Component

esrap (system).

Child Components

3.2 esrap/cache

Dependency

early (module).

Source

esrap.asd.

Parent Component

esrap (system).

Child Components

3.3 esrap/src

Dependencies
Source

esrap.asd.

Parent Component

esrap (system).

Child Components

3.4 esrap/examples

Source

esrap.asd.

Parent Component

esrap (system).

Child Components

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 esrap/esrap.asd

Source

esrap.asd.

Parent Component

esrap (system).

ASDF Systems

esrap.


4.1.2 esrap/early/package.lisp

Source

esrap.asd.

Parent Component

early (module).

Packages

esrap.


4.1.3 esrap/early/types.lisp

Dependency

package.lisp (file).

Source

esrap.asd.

Parent Component

early (module).

Internals

4.1.4 esrap/early/protocol.lisp

Dependency

types.lisp (file).

Source

esrap.asd.

Parent Component

early (module).

Public Interface

4.1.5 esrap/early/variables.lisp

Dependency

protocol.lisp (file).

Source

esrap.asd.

Parent Component

early (module).

Public Interface

*on-left-recursion* (special variable).

Internals

*eval-nonterminals* (special variable).


4.1.6 esrap/early/conditions.lisp

Dependency

variables.lisp (file).

Source

esrap.asd.

Parent Component

early (module).

Public Interface
Internals

4.1.7 esrap/early/expressions.lisp

Dependency

conditions.lisp (file).

Source

esrap.asd.

Parent Component

early (module).

Public Interface
Internals

4.1.8 esrap/early/rule.lisp

Dependency

expressions.lisp (file).

Source

esrap.asd.

Parent Component

early (module).

Public Interface
Internals

4.1.9 esrap/early/results.lisp

Dependency

rule.lisp (file).

Source

esrap.asd.

Parent Component

early (module).

Public Interface

print-object (method).

Internals

4.1.10 esrap/cache/chunk.lisp

Source

esrap.asd.

Parent Component

cache (module).

Internals

4.1.11 esrap/cache/packrat.lisp

Dependency

chunk.lisp (file).

Source

esrap.asd.

Parent Component

cache (module).

Internals

4.1.12 esrap/src/context.lisp

Source

esrap.asd.

Parent Component

src (module).

Internals

4.1.13 esrap/src/evaluator.lisp

Dependency

context.lisp (file).

Source

esrap.asd.

Parent Component

src (module).

Internals

4.1.14 esrap/src/macros.lisp

Dependency

evaluator.lisp (file).

Source

esrap.asd.

Parent Component

src (module).

Public Interface

text (function).

Internals

4.1.15 esrap/src/interface.lisp

Dependency

macros.lisp (file).

Source

esrap.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.16 esrap/src/editor-support.lisp

Dependency

interface.lisp (file).

Source

esrap.asd.

Parent Component

src (module).

Internals

4.2 Static


4.2.1 esrap/examples/sexp.lisp

Source

esrap.asd.

Parent Component

examples (module).


4.2.2 esrap/examples/symbol-table.lisp

Source

esrap.asd.

Parent Component

examples (module).


4.2.3 esrap/examples/left-recursion.lisp

Source

esrap.asd.

Parent Component

examples (module).


4.2.4 esrap/examples/function-terminals.lisp

Source

esrap.asd.

Parent Component

examples (module).


4.2.5 esrap/README.org

Source

esrap.asd.

Parent Component

esrap (system).


5 Packages

Packages are listed by definition order.


5.1 esrap

Source

package.lisp.

Use List
  • alexandria.
  • common-lisp.
Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Public Interface


6.1.1 Special variables

Special Variable: *on-left-recursion*

This special variable controls Esrap’s behavior with respect to allowing left recursion.

When :ERROR, PARSE signals a LEFT-RECURSION error when it encounters a left recursive rule. Otherwise the rule is processed.

Note: when processing left recursive rules, linear-time guarantees generally no longer hold.

Package

esrap.

Source

variables.lisp.


6.1.2 Macros

Macro: defrule (symbol expression &body options)

Define SYMBOL as a nonterminal, using EXPRESSION as associated the parsing expression.

Multiple OPTIONS specifying transforms are composed in the order of
appearance:

(:text t)
(:function parse-integer)
=>
(alexandria:compose #’parse-integer #’text)

Following OPTIONS can be specified:

* (:WHEN TEST)

The rule is active only when TEST evaluates to true. This can be used
to specify optional extensions to a grammar.

This option can only be supplied once.

* (:CONSTANT CONSTANT)

No matter what input is consumed or what EXPRESSION produces, the production of the rule is always CONSTANT.

* (:FUNCTION FUNCTION)

If provided the production of the expression is transformed using
FUNCTION. FUNCTION can be a function name or a lambda-expression.

* (:IDENTITY BOOLEAN)

If true, the production of expression is used as-is, as if (:FUNCTION IDENTITY) has been specified. If no production option is specified, this is the default.

* (:TEXT BOOLEAN)

If true, the production of expression is flattened and concatenated into a string as if by (:FUNCTION TEXT) has been specified.

* (:LAMBDA LAMBDA-LIST &BODY BODY)

If provided, same as using the corresponding lambda-expression with :FUNCTION.

As an extension of the standard lambda list syntax, LAMBDA-LIST accepts
the optional pseudo lambda-list keyword ESRAP:&BOUNDS, which (1) must appear after all standard lambda list keywords. (2) can be followed by one or two variables to which bounding indexes of the matching substring are bound.

Therefore:

LAMBDA-LIST ::= (STANDARD-LAMBDA-LIST-ELEMENTS [&BOUNDS START [END]])

* (:DESTRUCTURE DESTRUCTURING-LAMBDA-LIST &BODY BODY)

If provided, same as using a lambda-expression that destructures its argument using DESTRUCTURING-BIND and the provided lambda-list with :FUNCTION.

DESTRUCTURING-LAMBDA-LIST can use ESRAP:&BOUNDS in the same way
as described for :LAMBDA.

* (:AROUND ([&BOUNDS START [END]]) &BODY BODY)

If provided, execute BODY around the construction of the production of the rule. BODY has to call ESRAP:CALL-TRANSFORM to trigger the computation of
the production. Any transformation provided via :LAMBDA, :FUNCTION
or :DESTRUCTURE is executed inside the call to ESRAP:CALL-TRANSFORM. As a result, modification to the dynamic state are visible within the transform.

ESRAP:&BOUNDS can be used in the same way as described for :LAMBDA
and :DESTRUCTURE.

This option can be used to safely track nesting depth, manage symbol
tables or for other stack-like operations.

* (:USE-CACHE ( T | NIL | :UNLESS-TRIVIAL ))

Defaults to :UNLESS-TRIVIAL if not provided. Controls whether the
rule should be compiled with caching. :UNLESS-TRIVIAL
automatically disables caching if 1) it doesn’t change the
behavior of the rule (see below) 2) the expression of the rule is
simple enough to guarantee that disabling caching will improve performance.

For rules with simple expressions, the overhead of cache lookup
and update can by far exceed the cost of simply evaluating the
rule expression. Disabling caching can improve performance in such
cases.

Note that disabling caching can change the behavior of the rule,
for example when the rule transform returns a fresh object.

* (:ERROR-REPORT ( T | NIL | :CONTEXT | :DETAIL ))

Defaults to T if not provided. Controls whether and how the rule
is used in parse error reports:

* T

The rule is used in parse error reports without
restriction (i.e. when describing the context of a failure as
well as listing failed rules and expected inputs).

* NIL

The rule is not used in parse error reports in any capacity. In
particular, inputs expected by the rule are not mentioned.

This value is useful for things like whitespace rules since
something like "expected space, tab or newline", even if it
would have allowed the parser to continue for one character, is
rarely helpful.

* :CONTEXT

The rule is used in the "context" part of parse error
reports. The rule is neither mentioned in the list of failed
rules nor are inputs expected by it.

* :DETAIL

The rule is not used in the "context" part of parse error
reports, but can appear in the list of failed rules. Inputs
expected by the rule are mentioned as well.

Package

esrap.

Source

interface.lisp.


6.1.3 Compiler macros

Compiler Macro: parse (expression text &rest arguments &key &allow-other-keys)
Package

esrap.

Source

interface.lisp.


6.1.4 Ordinary functions

Function: add-rule (symbol rule)

Associates RULE with the nonterminal SYMBOL. Signals an error if the rule is already associated with a nonterminal. If the symbol is already associated with a rule, the old rule is removed first.

Package

esrap.

Source

interface.lisp.

Function: change-rule (symbol expression)

Modifies the nonterminal SYMBOL to use EXPRESSION instead. Temporarily removes the rule while it is being modified.

Package

esrap.

Source

interface.lisp.

Function: describe-grammar (symbol &optional stream)

Prints the grammar tree rooted at nonterminal SYMBOL to STREAM for human inspection.

Package

esrap.

Source

interface.lisp.

Function: describe-terminal (terminal &optional stream)

Print a description of TERMINAL onto STREAM.

In additional to actual terminals, TERMINAL can be of the forms

(PREDICATE-NAME TERMINALS)
({not,!} TERMINALS)
({<,>} OFFSET TERMINALS)

(i.e. as produced by EXPRESSION-START-TERMINALS).

Package

esrap.

Source

expressions.lisp.

Function: esrap-parse-error (text result)
Package

esrap.

Source

conditions.lisp.

Function: expression-start-terminals (expression &key when-rule-error-report)

Return a list of terminals or tree of expressions with which a text parsable by EXPRESSION can start.

A tree instead of a list is returned when EXPRESSION contains semantic predicates, NOT or !. Elements in the returned list or tree are

* case (in)sensitive characters, character ranges,
case (in)sensitive strings, function terminals
* semantic predicates represented as

(PREDICATE-NAME NESTED-ELEMENTS)

where NESTED-ELEMENTS is the list of start terminals of the expression to which PREDICATE-NAME is applied.
* NOT and ! expressions are represented as

({not,!} NESTED-ELEMENTS)

where NESTED-ELEMENTS is the list of start terminals of the negated expression.

* < and > expressions are represented as

({<,>} OFFSET NESTED-ELEMENTS)

where OFFSET is a positive integer and NESTED-ELEMENTS is the list of start terminals of the expression that should match OFFSET characters backward/forward from the current position.

The (outermost) list is sorted likes this:

1. string terminals
2. character terminals
3. the CHARACTER wildcard terminal
4. semantic predicates
5. everything else

If supplied, WHEN-RULE-ERROR-REPORT restricts processing of nonterminals to rules whose :ERROR-REPORT option is compatible with the value of WHEN-RULE-ERROR-REPORT.

Package

esrap.

Source

expressions.lisp.

Function: find-rule (symbol)

Returns rule designated by SYMBOL, if any. Symbol must be a nonterminal symbol.

Package

esrap.

Source

interface.lisp.

Function: invalid-expression-error (expression)
Package

esrap.

Source

conditions.lisp.

Function: left-recursion (text position nonterminal path-butlast)
Package

esrap.

Source

conditions.lisp.

Function: parse (expression text &key start end junk-allowed raw)

Parses TEXT using EXPRESSION from START to END.

Incomplete parses, that is not consuming the entirety of TEXT, are allowed only if JUNK-ALLOWED is true.

Returns three values:

1) A production, if the parse succeeded, NIL otherwise.
2) The position up to which TEXT has been consumed or NIL if the entirety of TEXT has been consumed.
3) If the parse succeeded, even if it did not consume any input, T is returned as a third value.

The third return value is necessary to distinguish successful and failed parses for cases like

(parse ’(! #\a) "a" :junk-allowed t)
(parse ’(! #\a) "b" :junk-allowed t)

in which the first two return values cannot indicate failures.

RAW controls whether the parse result is interpreted and translated into the return values described above. If RAW is true, a parse result of type RESULT or ERROR-RESULT is returned as a single value.

Note that the combination of arguments :junk-allowed t :raw t does not make sense since the JUNK-ALLOWED parameter is used when parse results are interpreted and translated into return values which does not happen when :raw t.

Package

esrap.

Source

interface.lisp.

Function: remove-rule (symbol &key force)

Makes the nonterminal SYMBOL undefined. If the nonterminal is defined an already referred to by other rules, an error is signalled unless :FORCE is true.

Package

esrap.

Source

interface.lisp.

Function: rule-dependencies (rule)

Returns the dependencies of the RULE: primary value is a list of defined nonterminal symbols, and secondary value is a list of undefined nonterminal symbols.

Package

esrap.

Source

rule.lisp.

Function: rule-expression (rule)

Return the parsing expression associated with the RULE.

Package

esrap.

Source

interface.lisp.

Function: (setf rule-expression) (rule)

Modify RULE to use EXPRESSION as the parsing expression. The rule must be detached beforehand.

Package

esrap.

Source

interface.lisp.

Function: text (&rest arguments)

Arguments must be strings, or lists whose leaves are strings. Catenates all the strings in arguments into a single string.

Package

esrap.

Source

macros.lisp.

Function: trace-rule (symbol &key recursive break condition)

Turn on tracing of nonterminal SYMBOL.

If RECURSIVE is true, turn on tracing for the whole grammar rooted at SYMBOL. If RECURSIVE is a positive integer, turn on tracing for all rules reachable from the nonterminal SYMBOL in that number of steps.

If BREAK is true, break is entered when the rule is invoked.

If supplied, CONDITION has to be a function whose lambda-list is compatible to (symbol text position end). This function is called to determine whether trace actions should be executed for the traced rule.

SYMBOL is the name of the rule being executed.

TEXT is the whole text being parsed.

POSITION is the position within TEXT at which the rule is executed.

END is the end position of the portion of TEXT being parsed.

Package

esrap.

Source

interface.lisp.

Function: untrace-all-rules ()

Turn off tracing of all nonterminals.

Package

esrap.

Source

interface.lisp.

Function: untrace-rule (symbol &key recursive break condition)

Turn off tracing of nonterminal SYMBOL.

If RECURSIVE is true, turn off tracing for the whole grammar rooted at SYMBOL. If RECURSIVE is a positive integer, turn off tracing for all rules reachable from the nonterminal SYMBOL in that number of steps.

BREAK and CONDITION are ignored, and are provided only for symmetry with TRACE-RULE.

Package

esrap.

Source

interface.lisp.


6.1.5 Generic functions

Generic Function: esrap-error-position (condition)

Return the input position at which the parse failure represented by CONDITION occurred.

Package

esrap.

Source

protocol.lisp.

Methods
Reader Method: esrap-error-position ((condition left-recursion))
Source

conditions.lisp.

Target Slot

position.

Method: esrap-error-position ((condition esrap-parse-error))
Source

conditions.lisp.

Generic Reader: esrap-error-text (condition)
Package

esrap.

Methods
Reader Method: esrap-error-text ((condition esrap-error))
Source

conditions.lisp.

Target Slot

text.

Generic Function: esrap-parse-error-context (condition)

Return the context result associated to the parse error represented by CONDITION.

Package

esrap.

Source

protocol.lisp.

Methods
Method: esrap-parse-error-context ((condition esrap-parse-error))
Source

conditions.lisp.

Generic Reader: esrap-parse-error-result (condition)

Return the result associated to the parse error represented by CONDITION.

Package

esrap.

Source

protocol.lisp.

Methods
Reader Method: esrap-parse-error-result ((condition esrap-parse-error))
Source

conditions.lisp.

Target Slot

result.

Generic Reader: invalid-expression-error-expression (condition)
Package

esrap.

Methods
Reader Method: invalid-expression-error-expression ((condition invalid-expression-error))
Source

conditions.lisp.

Target Slot

expression.

Generic Reader: left-recursion-nonterminal (condition)
Package

esrap.

Methods
Reader Method: left-recursion-nonterminal ((condition left-recursion))
Source

conditions.lisp.

Target Slot

nonterminal.

Generic Reader: left-recursion-path (condition)
Package

esrap.

Methods
Reader Method: left-recursion-path ((condition left-recursion))
Source

conditions.lisp.

Target Slot

path.

Generic Reader: rule-symbol (object)

Returns the nonterminal associated with the RULE, or NIL if the rule is not attached to any nonterminal.

Package

esrap.

Methods
Reader Method: rule-symbol ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

%symbol.

Generic Reader: undefined-rule-symbol (condition)
Package

esrap.

Methods
Reader Method: undefined-rule-symbol ((condition undefined-rule))
Source

conditions.lisp.

Target Slot

symbol.


6.1.6 Standalone methods

Method: print-object ((condition invalid-expression-error) stream)
Source

conditions.lisp.

Method: print-object ((object esrap-parse-error) stream)
Source

conditions.lisp.

Method: print-object :before ((condition esrap-error) stream)
Source

conditions.lisp.

Method: print-object ((rule rule) stream)
Source

rule.lisp.

Method: print-object ((condition left-recursion) stream)
Source

conditions.lisp.

Method: print-object ((object result) stream)
Source

results.lisp.

Method: print-object ((condition undefined-rule) stream)
Source

conditions.lisp.

Method: shared-initialize :after ((rule rule) slots &key)
Source

rule.lisp.


6.1.7 Conditions

Condition: esrap-error

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.

Package

esrap.

Source

conditions.lisp.

Direct superclasses

parse-error.

Direct subclasses
Direct methods
Direct slots
Slot: text
Initform

(quote nil)

Initargs

:text

Readers

esrap-error-text.

Writers

This slot is read-only.

Condition: esrap-parse-error

This error is signaled when a parse attempt fails because the input text does not conform to the grammar.

Package

esrap.

Source

conditions.lisp.

Direct superclasses

esrap-error.

Direct methods
Direct Default Initargs
InitargValue
:result(required-argument result)
Direct slots
Slot: result
Initargs

:result

Readers

esrap-parse-error-result.

Writers

This slot is read-only.

Slot: %context
Initform

(quote nil)

Readers

esrap-parse-error-%context.

Writers

(setf esrap-parse-error-%context).

Condition: invalid-expression-error

Signaled when an invalid expression is encountered.

Package

esrap.

Source

conditions.lisp.

Direct superclasses

error.

Direct methods
Direct Default Initargs
InitargValue
:expression(required-argument expression)
Direct slots
Slot: expression
Initargs

:expression

Readers

invalid-expression-error-expression.

Writers

This slot is read-only.

Condition: left-recursion

May be 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.

Note: This error is only signaled if *ON-LEFT-RECURSION* is bound to :ERROR.

Package

esrap.

Source

conditions.lisp.

Direct superclasses

esrap-error.

Direct methods
Direct slots
Slot: position
Package

common-lisp.

Initform

(quote nil)

Initargs

:position

Readers

esrap-error-position.

Writers

This slot is read-only.

Slot: nonterminal
Initform

(quote nil)

Initargs

:nonterminal

Readers

left-recursion-nonterminal.

Writers

This slot is read-only.

Slot: path
Initform

(quote nil)

Initargs

:path

Readers

left-recursion-path.

Writers

This slot is read-only.

Condition: undefined-rule-error

Signaled when an undefined rule is encountered.

Package

esrap.

Source

conditions.lisp.

Direct superclasses

6.1.8 Classes

Class: rule
Package

esrap.

Source

rule.lisp.

Direct methods
Direct slots
Slot: %symbol
Readers

rule-symbol.

Writers

This slot is read-only.

Slot: %expression
Initform

(alexandria:required-argument :expression)

Initargs

:expression

Slot: %guard-expression
Initform

t

Initargs

:guard-expression

Readers

rule-guard-expression.

Writers

This slot is read-only.

Slot: %condition
Initform

t

Initargs

:condition

Readers

rule-condition.

Writers

This slot is read-only.

Slot: %transform
Initargs

:transform

Readers

rule-transform.

Writers

This slot is read-only.

Slot: %around
Initargs

:around

Readers

rule-around.

Writers

This slot is read-only.

Slot: %error-report
Type

esrap::rule-error-report

Initform

t

Initargs

:error-report

Readers

rule-error-report.

Writers

This slot is read-only.

Slot: %properties
Type

esrap::rule-properties/packed

Initform

esrap::+default-rule-properties+

Initargs

:properties

Readers

rule-properties.

Writers

This slot is read-only.


6.2 Internals


6.2.1 Constants

Constant: +chunk-divisor+
Package

esrap.

Source

chunk.lisp.

Constant: +default-rule-properties+
Package

esrap.

Source

rule.lisp.

Constant: +packrat-hash-table-switch-point+
Package

esrap.

Source

packrat.lisp.


6.2.2 Special variables

Special Variable: *context*
Package

esrap.

Source

context.lisp.

Special Variable: *current-rule*
Package

esrap.

Source

evaluator.lisp.

Special Variable: *eval-nonterminals*
Package

esrap.

Source

variables.lisp.

Special Variable: *expression-kinds*

Names and corresponding types of acceptable expression constructors.

Package

esrap.

Source

expressions.lisp.

Special Variable: *indentation-hint-table*
Package

esrap.

Source

editor-support.lisp.

Special Variable: *result-pprint-dispatch*
Package

esrap.

Source

results.lisp.

Special Variable: *rules*
Package

esrap.

Source

rule.lisp.

Special Variable: *trace-level*
Package

esrap.

Source

interface.lisp.


6.2.3 Macros

Macro: alist-hash-table/no-dups (alist &rest hash-table-initargs)
Package

esrap.

Source

packrat.lisp.

Macro: expression-case (expression &body clauses)

Similar to

(cl:typecase EXPRESSION CLAUSES)

but clause heads designate kinds of expressions instead of types. See *EXPRESSION-KINDS*.

Package

esrap.

Source

expressions.lisp.

Macro: expression-lambda (name args &body body)
Package

esrap.

Source

evaluator.lisp.

Macro: make-successful-parse (expression position detail production)
Package

esrap.

Source

results.lisp.

Macro: with-cached-result ((symbol position &optional text) &body forms)
Package

esrap.

Source

context.lisp.

Macro: with-expression ((expr spec) &body body)
Package

esrap.

Source

expressions.lisp.

Macro: with-pushed-nonterminal ((symbol context) &body body)
Package

esrap.

Source

context.lisp.


6.2.4 Ordinary functions

Function: %expression-dependencies (expression)
Package

esrap.

Source

expressions.lisp.

Function: %expression-direct-dependencies (expression)
Package

esrap.

Source

expressions.lisp.

Function: %make-chunk-array (length)
Package

esrap.

Source

chunk.lisp.

Function: %make-successful-parse (expression %position detail %production)
Package

esrap.

Source

results.lisp.

Function: %rule-direct-dependencies (rule)
Package

esrap.

Source

rule.lisp.

Function: analyze-ordered-choise (sub-expressions)
Package

esrap.

Source

evaluator.lisp.

Function: cached (symbol position cache)
Package

esrap.

Source

packrat.lisp.

Function: (setf cached) (symbol position cache)
Package

esrap.

Source

packrat.lisp.

Reader: cell-%info (instance)
Writer: (setf cell-%info) (instance)
Package

esrap.

Source

rule.lisp.

Target Slot

%info.

Function: cell-function (cell)
Package

esrap.

Source

rule.lisp.

Reader: cell-referents (instance)
Writer: (setf cell-referents) (instance)
Package

esrap.

Source

rule.lisp.

Target Slot

referents.

Function: cell-rule (cell)
Package

esrap.

Source

rule.lisp.

Reader: cell-trace-info (instance)
Writer: (setf cell-trace-info) (instance)
Package

esrap.

Source

rule.lisp.

Target Slot

trace-info.

Function: check-expression (expression)
Package

esrap.

Source

expressions.lisp.

Function: check-function-reference (name expression)
Package

esrap.

Source

expressions.lisp.

Function: check-lambda-list (lambda-list spec &key report-lambda-list)
Package

esrap.

Source

macros.lisp.

Function: check-ordered-choise-prefix (string previous-strings)
Package

esrap.

Source

evaluator.lisp.

Reader: chunk-cache-chunks (instance)
Writer: (setf chunk-cache-chunks) (instance)
Package

esrap.

Source

chunk.lisp.

Target Slot

chunks.

Function: clear-rules ()
Package

esrap.

Source

rule.lisp.

Function: compile-character ()
Package

esrap.

Source

evaluator.lisp.

Function: compile-character-ranges (expression)
Package

esrap.

Source

evaluator.lisp.

Function: compile-expression (expression)
Package

esrap.

Source

evaluator.lisp.

Function: compile-followed-by (expression)
Package

esrap.

Source

evaluator.lisp.

Function: compile-greedy-positive-repetition (expression)
Package

esrap.

Source

evaluator.lisp.

Function: compile-greedy-repetition (expression)
Package

esrap.

Source

evaluator.lisp.

Function: compile-look-ahead (expression)
Package

esrap.

Source

evaluator.lisp.

Function: compile-look-behind (expression)
Package

esrap.

Source

evaluator.lisp.

Function: compile-negation (expression)
Package

esrap.

Source

evaluator.lisp.

Function: compile-nonterminal (symbol)
Package

esrap.

Source

evaluator.lisp.

Function: compile-not-followed-by (expression)
Package

esrap.

Source

evaluator.lisp.

Function: compile-optional (expression)
Package

esrap.

Source

evaluator.lisp.

Function: compile-ordered-choise (expression)
Package

esrap.

Source

evaluator.lisp.

Function: compile-rule (symbol expression condition transform around properties)
Package

esrap.

Source

evaluator.lisp.

Function: compile-semantic-predicate (expression)
Package

esrap.

Source

evaluator.lisp.

Function: compile-sequence (expression)
Package

esrap.

Source

evaluator.lisp.

Function: compile-string (expression)
Package

esrap.

Source

evaluator.lisp.

Function: compile-terminal (string case-sensitive-p)
Package

esrap.

Source

evaluator.lisp.

Function: compile-terminal-function (expression)
Package

esrap.

Source

evaluator.lisp.

Reader: context-cache (instance)
Package

esrap.

Source

context.lisp.

Target Slot

cache.

Reader: context-heads (instance)
Package

esrap.

Source

context.lisp.

Target Slot

heads.

Reader: context-nonterminal-stack (instance)
Writer: (setf context-nonterminal-stack) (instance)
Package

esrap.

Source

context.lisp.

Target Slot

nonterminal-stack.

Function: context-p (object)
Package

esrap.

Source

context.lisp.

Function: copy-context (instance)
Package

esrap.

Source

context.lisp.

Function: delete-rule-cell (symbol)
Package

esrap.

Source

rule.lisp.

Function: dereference-rule-cell (symbol referent)
Package

esrap.

Source

rule.lisp.

Function: detach-rule (rule)
Package

esrap.

Source

rule.lisp.

Function: ensure-chunk (position chunk-cache)
Package

esrap.

Source

chunk.lisp.

Function: ensure-rule-cell (symbol)
Package

esrap.

Source

rule.lisp.

Function: error-report (context stream)
Package

esrap.

Source

results.lisp.

Function: error-report-behavior-suitable-for-report-part-p (query part-or-parts)

Return true if QUERY is suitable for PART-OR-PARTS.

Package

esrap.

Source

types.lisp.

Function: error-result-%position (instance)
Package

esrap.

Source

results.lisp.

Function: (setf error-result-%position) (instance)
Package

esrap.

Source

results.lisp.

Function: error-result-detail (instance)
Package

esrap.

Source

results.lisp.

Function: error-result-expression (instance)
Package

esrap.

Source

results.lisp.

Function: error-result-p (object)
Package

esrap.

Source

results.lisp.

Function: eval-character (text position end)
Package

esrap.

Source

evaluator.lisp.

Function: eval-character-ranges (expression text position end)
Package

esrap.

Source

evaluator.lisp.

Function: eval-expression (expression text position end)
Package

esrap.

Source

evaluator.lisp.

Function: eval-followed-by (expression text position end)
Package

esrap.

Source

evaluator.lisp.

Function: eval-greedy-positive-repetition (expression text position end)
Package

esrap.

Source

evaluator.lisp.

Function: eval-greedy-repetition (expression text position end)
Package

esrap.

Source

evaluator.lisp.

Function: eval-look-ahead (expression text position end)
Package

esrap.

Source

evaluator.lisp.

Function: eval-look-behind (expression text position end)
Package

esrap.

Source

evaluator.lisp.

Function: eval-negation (expression text position end)
Package

esrap.

Source

evaluator.lisp.

Function: eval-nonterminal (symbol text position end)
Package

esrap.

Source

evaluator.lisp.

Function: eval-not-followed-by (expression text position end)
Package

esrap.

Source

evaluator.lisp.

Function: eval-optional (expression text position end)
Package

esrap.

Source

evaluator.lisp.

Function: eval-ordered-choise (expression text position end)
Package

esrap.

Source

evaluator.lisp.

Function: eval-semantic-predicate (expression text position end)
Package

esrap.

Source

evaluator.lisp.

Function: eval-sequence (expression text position end)
Package

esrap.

Source

evaluator.lisp.

Function: eval-string (expression text position end)
Package

esrap.

Source

evaluator.lisp.

Function: eval-terminal (string text position end case-sensitive-p)
Package

esrap.

Source

evaluator.lisp.

Function: eval-terminal-function (expression text position end)
Package

esrap.

Source

evaluator.lisp.

Function: exec-character-ranges (expression ranges text position end)
Package

esrap.

Source

evaluator.lisp.

Function: exec-negation (fun expr text position end)
Package

esrap.

Source

evaluator.lisp.

Function: exec-nonterminal (symbol text position end)
Package

esrap.

Source

evaluator.lisp.

Function: exec-string (expression length text position end)
Package

esrap.

Source

evaluator.lisp.

Function: exec-terminal-function (expression function text position end)
Package

esrap.

Source

evaluator.lisp.

Function: expand-transforms (transforms)
Package

esrap.

Source

macros.lisp.

Function: expression-equal-p (left right)
Package

esrap.

Source

expressions.lisp.

Function: expression-simple-p (expression &key depth-limit string-length-limit character-ranges-size-limit)
Package

esrap.

Source

expressions.lisp.

Function: expression< (left right)
Package

esrap.

Source

expressions.lisp.

Function: failed-parse-%position (instance)
Package

esrap.

Source

results.lisp.

Function: (setf failed-parse-%position) (instance)
Package

esrap.

Source

results.lisp.

Function: failed-parse-detail (instance)
Package

esrap.

Source

results.lisp.

Function: failed-parse-expression (instance)
Package

esrap.

Source

results.lisp.

Function: failed-parse-p (object)
Package

esrap.

Source

results.lisp.

Function: find-chunk (position chunk-cache)
Package

esrap.

Source

chunk.lisp.

Function: find-rule-cell (symbol)
Package

esrap.

Source

rule.lisp.

Function: flattened-children (recurse)
Package

esrap.

Source

results.lisp.

Function: get-cached (symbol position cache)
Package

esrap.

Source

context.lisp.

Function: (setf get-cached) (symbol position cache)
Package

esrap.

Source

context.lisp.

Function: get-head (position heads)
Package

esrap.

Source

context.lisp.

Function: (setf get-head) (position heads)
Package

esrap.

Source

context.lisp.

Reader: head-eval-set (instance)
Writer: (setf head-eval-set) (instance)
Package

esrap.

Source

context.lisp.

Target Slot

eval-set.

Reader: head-involved-set (instance)
Writer: (setf head-involved-set) (instance)
Package

esrap.

Source

context.lisp.

Target Slot

involved-set.

Reader: head-rule (instance)
Writer: (setf head-rule) (instance)
Package

esrap.

Source

context.lisp.

Target Slot

rule.

Function: hint-slime-indentation ()
Package

esrap.

Source

editor-support.lisp.

Function: hint-sly-indentation ()
Package

esrap.

Source

editor-support.lisp.

Function: inactive-rule-%position (instance)
Package

esrap.

Source

results.lisp.

Function: (setf inactive-rule-%position) (instance)
Package

esrap.

Source

results.lisp.

Function: inactive-rule-detail (instance)
Package

esrap.

Source

results.lisp.

Function: inactive-rule-expression (instance)
Package

esrap.

Source

results.lisp.

Function: inactive-rule-p (object)
Package

esrap.

Source

results.lisp.

Function: inactive-rule-rule (result)
Package

esrap.

Source

results.lisp.

Function: left-recursion-result-%position (instance)
Package

esrap.

Source

results.lisp.

Function: (setf left-recursion-result-%position) (instance)
Package

esrap.

Source

results.lisp.

Function: left-recursion-result-detail (instance)
Package

esrap.

Source

results.lisp.

Function: left-recursion-result-expression (instance)
Package

esrap.

Source

results.lisp.

Reader: left-recursion-result-head (instance)
Writer: (setf left-recursion-result-head) (instance)
Package

esrap.

Source

results.lisp.

Target Slot

head.

Function: left-recursion-result-p (object)
Package

esrap.

Source

results.lisp.

Function: left-recursion-result-rule (result)
Package

esrap.

Source

results.lisp.

Function: list-of-result-productions (results)
Package

esrap.

Source

results.lisp.

Function: list-of-result-productions/butlast (results)
Package

esrap.

Source

results.lisp.

Function: make-cache (length)
Package

esrap.

Source

context.lisp.

Function: make-chunk ()
Package

esrap.

Source

chunk.lisp.

Function: make-chunk-array (length)
Package

esrap.

Source

chunk.lisp.

Function: make-chunk-cache (length)
Package

esrap.

Source

chunk.lisp.

Function: make-context (length)
Package

esrap.

Source

context.lisp.

Function: make-failed-parse (expression %position detail)
Package

esrap.

Source

results.lisp.

Function: make-failed-parse/no-position (expression detail)
Package

esrap.

Source

results.lisp.

Function: make-head (&key rule involved-set eval-set)
Package

esrap.

Source

context.lisp.

Function: make-heads (length)
Package

esrap.

Source

context.lisp.

Function: make-inactive-rule (expression %position)
Package

esrap.

Source

results.lisp.

Function: make-left-recursion-result (expression)
Package

esrap.

Source

results.lisp.

Function: make-ordered-choise-result (expression result errors)
Package

esrap.

Source

evaluator.lisp.

Function: make-rule-cell (symbol)
Package

esrap.

Source

rule.lisp.

Function: make-rule-properties (&key uses-cache uses-cache-unless-trivial transform-identity transform-constant transform-text)
Package

esrap.

Source

rule.lisp.

Function: map-max-leaf-results (function result &rest args &key when-error-report)
Package

esrap.

Source

results.lisp.

Function: map-max-results (function result &key when-error-report)
Package

esrap.

Source

results.lisp.

Function: map-results (function result &key augment-inactive-rules)
Package

esrap.

Source

results.lisp.

Function: match-terminal/1/case-insensitive-p (char text position end)
Package

esrap.

Source

evaluator.lisp.

Function: match-terminal/1/case-sensitive-p (char text position end)
Package

esrap.

Source

evaluator.lisp.

Function: match-terminal/case-insensitive-p (string length text position end)
Package

esrap.

Source

evaluator.lisp.

Function: match-terminal/case-sensitive-p (string length text position end)
Package

esrap.

Source

evaluator.lisp.

Function: max-of-result-positions (results &optional start)
Package

esrap.

Source

results.lisp.

Function: maybe-augment-inactive-rules (results)
Package

esrap.

Source

results.lisp.

Function: parse-defrule-options (options form)
Package

esrap.

Source

macros.lisp.

Function: parse-lambda-list-maybe-containing-&bounds (lambda-list)

Parse &BOUNDS section in LAMBDA-LIST and return three values:

1. The standard lambda list sublist of LAMBDA-LIST
2. A symbol that should be bound to the start of a matching substring 3. A symbol that should be bound to the end of a matching substring 4. A list containing symbols that were GENSYM’ed.

The second and/or third values are GENSYMS if LAMBDA-LIST contains a partial or no &BOUNDS section, in which case fourth value contains them for use with IGNORE.

Package

esrap.

Source

macros.lisp.

Function: partition-results (result)
Package

esrap.

Source

results.lisp.

Function: print-result (stream result &optional colon? at?)
Package

esrap.

Source

results.lisp.

Function: print-terminal (stream terminal &optional colonp atp)
Package

esrap.

Source

expressions.lisp.

Function: process-parse-result (result text start end junk-allowed)
Package

esrap.

Source

interface.lisp.

Function: recall (rule position cache heads thunk)
Package

esrap.

Source

context.lisp.

Function: reference-rule-cell (symbol referent)
Package

esrap.

Source

rule.lisp.

Function: resolve-function (name arguments expression)
Package

esrap.

Source

evaluator.lisp.

Reader: result-%position (instance)
Writer: (setf result-%position) (instance)
Package

esrap.

Source

results.lisp.

Target Slot

%position.

Function: result-context (result)
Package

esrap.

Source

results.lisp.

Reader: result-detail (instance)
Package

esrap.

Source

results.lisp.

Target Slot

detail.

Function: result-expected-input (result)
Package

esrap.

Source

results.lisp.

Reader: result-expression (instance)
Package

esrap.

Source

results.lisp.

Target Slot

expression.

Function: result-nonterminal-p (result)
Package

esrap.

Source

results.lisp.

Function: result-p (object)
Package

esrap.

Source

results.lisp.

Function: result-position (result)
Package

esrap.

Source

results.lisp.

Function: result-root-cause (result)
Package

esrap.

Source

results.lisp.

Function: result-suitable-for-report-part-p (result part)
Package

esrap.

Source

results.lisp.

Function: result-trivial-predicate-p (result)
Package

esrap.

Source

results.lisp.

Function: result-unsatisfied-predicate-p (result)
Package

esrap.

Source

results.lisp.

Function: rule-direct-dependencies (rule)
Package

esrap.

Source

rule.lisp.

Function: rule-property-p (properties property)
Package

esrap.

Source

rule.lisp.

Function: rule-suitable-for-report-part-p (symbol part-or-parts)
Package

esrap.

Source

rule.lisp.

Function: rule-trivial-p (expression condition transform around properties)
Package

esrap.

Source

evaluator.lisp.

Function: set-cell-info (cell function rule)
Package

esrap.

Source

rule.lisp.

Function: singleton-option (context form keyword type &key default)
Package

esrap.

Source

macros.lisp.

Function: sort-dependencies (symbol dependencies)
Package

esrap.

Source

rule.lisp.

Function: successful-parse-%position (instance)
Package

esrap.

Source

results.lisp.

Function: (setf successful-parse-%position) (instance)
Package

esrap.

Source

results.lisp.

Reader: successful-parse-%production (instance)
Writer: (setf successful-parse-%production) (instance)
Package

esrap.

Source

results.lisp.

Target Slot

%production.

Function: successful-parse-detail (instance)
Package

esrap.

Source

results.lisp.

Function: successful-parse-expression (instance)
Package

esrap.

Source

results.lisp.

Function: successful-parse-p (object)
Package

esrap.

Source

results.lisp.

Function: successful-parse-production (result)
Package

esrap.

Source

results.lisp.

Function: undefined-rule (symbol)
Package

esrap.

Source

conditions.lisp.

Function: undefined-rule-function (symbol)
Package

esrap.

Source

rule.lisp.


6.2.5 Generic functions

Generic Reader: esrap-parse-error-%context (condition)
Generic Writer: (setf esrap-parse-error-%context) (condition)
Package

esrap.

Methods
Reader Method: esrap-parse-error-%context ((condition esrap-parse-error))
Writer Method: (setf esrap-parse-error-%context) ((condition esrap-parse-error))
Source

conditions.lisp.

Target Slot

%context.

Generic Reader: rule-around (object)
Package

esrap.

Methods
Reader Method: rule-around ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

%around.

Generic Reader: rule-condition (object)
Package

esrap.

Methods
Reader Method: rule-condition ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

%condition.

Generic Reader: rule-error-report (object)
Package

esrap.

Methods
Reader Method: rule-error-report ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

%error-report.

Generic Reader: rule-guard-expression (object)
Package

esrap.

Methods
Reader Method: rule-guard-expression ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

%guard-expression.

Generic Reader: rule-properties (object)
Package

esrap.

Methods
Reader Method: rule-properties ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

%properties.

Generic Reader: rule-transform (object)
Package

esrap.

Methods
Reader Method: rule-transform ((rule rule))

automatically generated reader method

Source

rule.lisp.

Target Slot

%transform.


6.2.6 Conditions

Condition: undefined-rule
Package

esrap.

Source

conditions.lisp.

Direct superclasses

condition.

Direct subclasses

undefined-rule-error.

Direct methods
Direct slots
Slot: symbol
Package

common-lisp.

Initargs

:symbol

Readers

undefined-rule-symbol.

Writers

This slot is read-only.


6.2.7 Structures

Structure: chunk-cache
Package

esrap.

Source

chunk.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: chunks
Type

esrap::chunk-array

Readers

chunk-cache-chunks.

Writers

(setf chunk-cache-chunks).

Structure: context
Package

esrap.

Source

context.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: cache
Type

esrap::chunk-cache

Readers

context-cache.

Writers

This slot is read-only.

Slot: heads
Type

esrap::chunk-cache

Readers

context-heads.

Writers

This slot is read-only.

Slot: nonterminal-stack
Type

list

Initform

(quote nil)

Readers

context-nonterminal-stack.

Writers

(setf context-nonterminal-stack).

Structure: error-result
Package

esrap.

Source

results.lisp.

Direct superclasses

result.

Direct subclasses
Structure: failed-parse
Package

esrap.

Source

results.lisp.

Direct superclasses

error-result.

Structure: head
Package

esrap.

Source

context.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: rule
Type

symbol

Initform

(alexandria:required-argument :rule)

Readers

head-rule.

Writers

(setf head-rule).

Slot: involved-set
Type

list

Initform

(quote nil)

Readers

head-involved-set.

Writers

(setf head-involved-set).

Slot: eval-set
Type

list

Initform

(quote nil)

Readers

head-eval-set.

Writers

(setf head-eval-set).

Structure: inactive-rule
Package

esrap.

Source

results.lisp.

Direct superclasses

error-result.

Structure: left-recursion-result
Package

esrap.

Source

results.lisp.

Direct superclasses

error-result.

Direct slots
Slot: head
Type

(or null esrap::head)

Readers

left-recursion-result-head.

Writers

(setf left-recursion-result-head).

Structure: result
Package

esrap.

Source

results.lisp.

Direct superclasses

structure-object.

Direct subclasses
Direct methods

print-object.

Direct slots
Slot: expression
Readers

result-expression.

Writers

This slot is read-only.

Slot: %position
Type

(or function esrap::input-position)

Initform

(function esrap::max-of-result-positions)

Readers

result-%position.

Writers

(setf result-%position).

Slot: detail
Type

(or structure-object list string condition)

Readers

result-detail.

Writers

This slot is read-only.

Structure: rule-cell
Package

esrap.

Source

rule.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: %info
Type

(cons function t)

Initform

(alexandria:required-argument :%info)

Readers

cell-%info.

Writers

(setf cell-%info).

Slot: trace-info
Readers

cell-trace-info.

Writers

(setf cell-trace-info).

Slot: referents
Type

list

Readers

cell-referents.

Writers

(setf cell-referents).

Structure: successful-parse
Package

esrap.

Source

results.lisp.

Direct superclasses

result.

Direct slots
Slot: %production
Type

(or list function)

Readers

successful-parse-%production.

Writers

(setf successful-parse-%production).


6.2.8 Types

Type: cache-policy ()
Package

esrap.

Source

types.lisp.

Type: character-range ()

A character range is either a single character or a list of two characters.

Package

esrap.

Source

types.lisp.

Type: chunk ()
Package

esrap.

Source

chunk.lisp.

Type: chunk-array ()
Package

esrap.

Source

chunk.lisp.

Type: error-report-part ()

Named part of a parse error report.

Package

esrap.

Source

types.lisp.

Type: input-length ()
Package

esrap.

Source

types.lisp.

Type: input-position ()
Package

esrap.

Source

types.lisp.

Type: left-recursion-policy ()
Package

esrap.

Source

types.lisp.

Type: nonterminal ()

Any symbol except CHARACTER and NIL can be used as a nonterminal symbol.

Package

esrap.

Source

types.lisp.

Type: predicate ()
Package

esrap.

Source

types.lisp.

Type: predicate-name ()
Package

esrap.

Source

types.lisp.

Type: rule-error-report ()

Suitability of a rule for error report parts.

In addition to the ERROR-REPORT-PART values, NIL indicates unsuitability for all error report parts, while T indicates suitability for all parts.

Package

esrap.

Source

types.lisp.

Type: rule-error-report-pattern ()

ERROR-REPORT-PART or a list thereof.

Package

esrap.

Source

types.lisp.

Type: rule-properties/packed ()
Package

esrap.

Source

rule.lisp.

Type: terminal ()

Literal strings and characters are used as case-sensitive terminal symbols, and expressions of the form (~ <literal>) denote case-insensitive terminals.

Package

esrap.

Source

types.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
A   C   D   E   F   G   H   I   L   M   P   R   S   T   U   W  
Index Entry  Section

%
%expression-dependencies: Private ordinary functions
%expression-direct-dependencies: Private ordinary functions
%make-chunk-array: Private ordinary functions
%make-successful-parse: Private ordinary functions
%rule-direct-dependencies: Private ordinary functions

(
(setf cached): Private ordinary functions
(setf cell-%info): Private ordinary functions
(setf cell-referents): Private ordinary functions
(setf cell-trace-info): Private ordinary functions
(setf chunk-cache-chunks): Private ordinary functions
(setf context-nonterminal-stack): Private ordinary functions
(setf error-result-%position): Private ordinary functions
(setf esrap-parse-error-%context): Private generic functions
(setf esrap-parse-error-%context): Private generic functions
(setf failed-parse-%position): Private ordinary functions
(setf get-cached): Private ordinary functions
(setf get-head): Private ordinary functions
(setf head-eval-set): Private ordinary functions
(setf head-involved-set): Private ordinary functions
(setf head-rule): Private ordinary functions
(setf inactive-rule-%position): Private ordinary functions
(setf left-recursion-result-%position): Private ordinary functions
(setf left-recursion-result-head): Private ordinary functions
(setf result-%position): Private ordinary functions
(setf rule-expression): Public ordinary functions
(setf successful-parse-%position): Private ordinary functions
(setf successful-parse-%production): Private ordinary functions

A
add-rule: Public ordinary functions
alist-hash-table/no-dups: Private macros
analyze-ordered-choise: Private ordinary functions

C
cached: Private ordinary functions
cell-%info: Private ordinary functions
cell-function: Private ordinary functions
cell-referents: Private ordinary functions
cell-rule: Private ordinary functions
cell-trace-info: Private ordinary functions
change-rule: Public ordinary functions
check-expression: Private ordinary functions
check-function-reference: Private ordinary functions
check-lambda-list: Private ordinary functions
check-ordered-choise-prefix: Private ordinary functions
chunk-cache-chunks: Private ordinary functions
clear-rules: Private ordinary functions
compile-character: Private ordinary functions
compile-character-ranges: Private ordinary functions
compile-expression: Private ordinary functions
compile-followed-by: Private ordinary functions
compile-greedy-positive-repetition: Private ordinary functions
compile-greedy-repetition: Private ordinary functions
compile-look-ahead: Private ordinary functions
compile-look-behind: Private ordinary functions
compile-negation: Private ordinary functions
compile-nonterminal: Private ordinary functions
compile-not-followed-by: Private ordinary functions
compile-optional: Private ordinary functions
compile-ordered-choise: Private ordinary functions
compile-rule: Private ordinary functions
compile-semantic-predicate: Private ordinary functions
compile-sequence: Private ordinary functions
compile-string: Private ordinary functions
compile-terminal: Private ordinary functions
compile-terminal-function: Private ordinary functions
Compiler Macro, parse: Public compiler macros
context-cache: Private ordinary functions
context-heads: Private ordinary functions
context-nonterminal-stack: Private ordinary functions
context-p: Private ordinary functions
copy-context: Private ordinary functions

D
defrule: Public macros
delete-rule-cell: Private ordinary functions
dereference-rule-cell: Private ordinary functions
describe-grammar: Public ordinary functions
describe-terminal: Public ordinary functions
detach-rule: Private ordinary functions

E
ensure-chunk: Private ordinary functions
ensure-rule-cell: Private ordinary functions
error-report: Private ordinary functions
error-report-behavior-suitable-for-report-part-p: Private ordinary functions
error-result-%position: Private ordinary functions
error-result-detail: Private ordinary functions
error-result-expression: Private ordinary functions
error-result-p: Private ordinary functions
esrap-error-position: Public generic functions
esrap-error-position: Public generic functions
esrap-error-position: Public generic functions
esrap-error-text: Public generic functions
esrap-error-text: Public generic functions
esrap-parse-error: Public ordinary functions
esrap-parse-error-%context: Private generic functions
esrap-parse-error-%context: Private generic functions
esrap-parse-error-context: Public generic functions
esrap-parse-error-context: Public generic functions
esrap-parse-error-result: Public generic functions
esrap-parse-error-result: Public generic functions
eval-character: Private ordinary functions
eval-character-ranges: Private ordinary functions
eval-expression: Private ordinary functions
eval-followed-by: Private ordinary functions
eval-greedy-positive-repetition: Private ordinary functions
eval-greedy-repetition: Private ordinary functions
eval-look-ahead: Private ordinary functions
eval-look-behind: Private ordinary functions
eval-negation: Private ordinary functions
eval-nonterminal: Private ordinary functions
eval-not-followed-by: Private ordinary functions
eval-optional: Private ordinary functions
eval-ordered-choise: Private ordinary functions
eval-semantic-predicate: Private ordinary functions
eval-sequence: Private ordinary functions
eval-string: Private ordinary functions
eval-terminal: Private ordinary functions
eval-terminal-function: Private ordinary functions
exec-character-ranges: Private ordinary functions
exec-negation: Private ordinary functions
exec-nonterminal: Private ordinary functions
exec-string: Private ordinary functions
exec-terminal-function: Private ordinary functions
expand-transforms: Private ordinary functions
expression-case: Private macros
expression-equal-p: Private ordinary functions
expression-lambda: Private macros
expression-simple-p: Private ordinary functions
expression-start-terminals: Public ordinary functions
expression<: Private ordinary functions

F
failed-parse-%position: Private ordinary functions
failed-parse-detail: Private ordinary functions
failed-parse-expression: Private ordinary functions
failed-parse-p: Private ordinary functions
find-chunk: Private ordinary functions
find-rule: Public ordinary functions
find-rule-cell: Private ordinary functions
flattened-children: Private ordinary functions
Function, %expression-dependencies: Private ordinary functions
Function, %expression-direct-dependencies: Private ordinary functions
Function, %make-chunk-array: Private ordinary functions
Function, %make-successful-parse: Private ordinary functions
Function, %rule-direct-dependencies: Private ordinary functions
Function, (setf cached): Private ordinary functions
Function, (setf cell-%info): Private ordinary functions
Function, (setf cell-referents): Private ordinary functions
Function, (setf cell-trace-info): Private ordinary functions
Function, (setf chunk-cache-chunks): Private ordinary functions
Function, (setf context-nonterminal-stack): Private ordinary functions
Function, (setf error-result-%position): Private ordinary functions
Function, (setf failed-parse-%position): Private ordinary functions
Function, (setf get-cached): Private ordinary functions
Function, (setf get-head): Private ordinary functions
Function, (setf head-eval-set): Private ordinary functions
Function, (setf head-involved-set): Private ordinary functions
Function, (setf head-rule): Private ordinary functions
Function, (setf inactive-rule-%position): Private ordinary functions
Function, (setf left-recursion-result-%position): Private ordinary functions
Function, (setf left-recursion-result-head): Private ordinary functions
Function, (setf result-%position): Private ordinary functions
Function, (setf rule-expression): Public ordinary functions
Function, (setf successful-parse-%position): Private ordinary functions
Function, (setf successful-parse-%production): Private ordinary functions
Function, add-rule: Public ordinary functions
Function, analyze-ordered-choise: Private ordinary functions
Function, cached: Private ordinary functions
Function, cell-%info: Private ordinary functions
Function, cell-function: Private ordinary functions
Function, cell-referents: Private ordinary functions
Function, cell-rule: Private ordinary functions
Function, cell-trace-info: Private ordinary functions
Function, change-rule: Public ordinary functions
Function, check-expression: Private ordinary functions
Function, check-function-reference: Private ordinary functions
Function, check-lambda-list: Private ordinary functions
Function, check-ordered-choise-prefix: Private ordinary functions
Function, chunk-cache-chunks: Private ordinary functions
Function, clear-rules: Private ordinary functions
Function, compile-character: Private ordinary functions
Function, compile-character-ranges: Private ordinary functions
Function, compile-expression: Private ordinary functions
Function, compile-followed-by: Private ordinary functions
Function, compile-greedy-positive-repetition: Private ordinary functions
Function, compile-greedy-repetition: Private ordinary functions
Function, compile-look-ahead: Private ordinary functions
Function, compile-look-behind: Private ordinary functions
Function, compile-negation: Private ordinary functions
Function, compile-nonterminal: Private ordinary functions
Function, compile-not-followed-by: Private ordinary functions
Function, compile-optional: Private ordinary functions
Function, compile-ordered-choise: Private ordinary functions
Function, compile-rule: Private ordinary functions
Function, compile-semantic-predicate: Private ordinary functions
Function, compile-sequence: Private ordinary functions
Function, compile-string: Private ordinary functions
Function, compile-terminal: Private ordinary functions
Function, compile-terminal-function: Private ordinary functions
Function, context-cache: Private ordinary functions
Function, context-heads: Private ordinary functions
Function, context-nonterminal-stack: Private ordinary functions
Function, context-p: Private ordinary functions
Function, copy-context: Private ordinary functions
Function, delete-rule-cell: Private ordinary functions
Function, dereference-rule-cell: Private ordinary functions
Function, describe-grammar: Public ordinary functions
Function, describe-terminal: Public ordinary functions
Function, detach-rule: Private ordinary functions
Function, ensure-chunk: Private ordinary functions
Function, ensure-rule-cell: Private ordinary functions
Function, error-report: Private ordinary functions
Function, error-report-behavior-suitable-for-report-part-p: Private ordinary functions
Function, error-result-%position: Private ordinary functions
Function, error-result-detail: Private ordinary functions
Function, error-result-expression: Private ordinary functions
Function, error-result-p: Private ordinary functions
Function, esrap-parse-error: Public ordinary functions
Function, eval-character: Private ordinary functions
Function, eval-character-ranges: Private ordinary functions
Function, eval-expression: Private ordinary functions
Function, eval-followed-by: Private ordinary functions
Function, eval-greedy-positive-repetition: Private ordinary functions
Function, eval-greedy-repetition: Private ordinary functions
Function, eval-look-ahead: Private ordinary functions
Function, eval-look-behind: Private ordinary functions
Function, eval-negation: Private ordinary functions
Function, eval-nonterminal: Private ordinary functions
Function, eval-not-followed-by: Private ordinary functions
Function, eval-optional: Private ordinary functions
Function, eval-ordered-choise: Private ordinary functions
Function, eval-semantic-predicate: Private ordinary functions
Function, eval-sequence: Private ordinary functions
Function, eval-string: Private ordinary functions
Function, eval-terminal: Private ordinary functions
Function, eval-terminal-function: Private ordinary functions
Function, exec-character-ranges: Private ordinary functions
Function, exec-negation: Private ordinary functions
Function, exec-nonterminal: Private ordinary functions
Function, exec-string: Private ordinary functions
Function, exec-terminal-function: Private ordinary functions
Function, expand-transforms: Private ordinary functions
Function, expression-equal-p: Private ordinary functions
Function, expression-simple-p: Private ordinary functions
Function, expression-start-terminals: Public ordinary functions
Function, expression<: Private ordinary functions
Function, failed-parse-%position: Private ordinary functions
Function, failed-parse-detail: Private ordinary functions
Function, failed-parse-expression: Private ordinary functions
Function, failed-parse-p: Private ordinary functions
Function, find-chunk: Private ordinary functions
Function, find-rule: Public ordinary functions
Function, find-rule-cell: Private ordinary functions
Function, flattened-children: Private ordinary functions
Function, get-cached: Private ordinary functions
Function, get-head: Private ordinary functions
Function, head-eval-set: Private ordinary functions
Function, head-involved-set: Private ordinary functions
Function, head-rule: Private ordinary functions
Function, hint-slime-indentation: Private ordinary functions
Function, hint-sly-indentation: Private ordinary functions
Function, inactive-rule-%position: Private ordinary functions
Function, inactive-rule-detail: Private ordinary functions
Function, inactive-rule-expression: Private ordinary functions
Function, inactive-rule-p: Private ordinary functions
Function, inactive-rule-rule: Private ordinary functions
Function, invalid-expression-error: Public ordinary functions
Function, left-recursion: Public ordinary functions
Function, left-recursion-result-%position: Private ordinary functions
Function, left-recursion-result-detail: Private ordinary functions
Function, left-recursion-result-expression: Private ordinary functions
Function, left-recursion-result-head: Private ordinary functions
Function, left-recursion-result-p: Private ordinary functions
Function, left-recursion-result-rule: Private ordinary functions
Function, list-of-result-productions: Private ordinary functions
Function, list-of-result-productions/butlast: Private ordinary functions
Function, make-cache: Private ordinary functions
Function, make-chunk: Private ordinary functions
Function, make-chunk-array: Private ordinary functions
Function, make-chunk-cache: Private ordinary functions
Function, make-context: Private ordinary functions
Function, make-failed-parse: Private ordinary functions
Function, make-failed-parse/no-position: Private ordinary functions
Function, make-head: Private ordinary functions
Function, make-heads: Private ordinary functions
Function, make-inactive-rule: Private ordinary functions
Function, make-left-recursion-result: Private ordinary functions
Function, make-ordered-choise-result: Private ordinary functions
Function, make-rule-cell: Private ordinary functions
Function, make-rule-properties: Private ordinary functions
Function, map-max-leaf-results: Private ordinary functions
Function, map-max-results: Private ordinary functions
Function, map-results: Private ordinary functions
Function, match-terminal/1/case-insensitive-p: Private ordinary functions
Function, match-terminal/1/case-sensitive-p: Private ordinary functions
Function, match-terminal/case-insensitive-p: Private ordinary functions
Function, match-terminal/case-sensitive-p: Private ordinary functions
Function, max-of-result-positions: Private ordinary functions
Function, maybe-augment-inactive-rules: Private ordinary functions
Function, parse: Public ordinary functions
Function, parse-defrule-options: Private ordinary functions
Function, parse-lambda-list-maybe-containing-&bounds: Private ordinary functions
Function, partition-results: Private ordinary functions
Function, print-result: Private ordinary functions
Function, print-terminal: Private ordinary functions
Function, process-parse-result: Private ordinary functions
Function, recall: Private ordinary functions
Function, reference-rule-cell: Private ordinary functions
Function, remove-rule: Public ordinary functions
Function, resolve-function: Private ordinary functions
Function, result-%position: Private ordinary functions
Function, result-context: Private ordinary functions
Function, result-detail: Private ordinary functions
Function, result-expected-input: Private ordinary functions
Function, result-expression: Private ordinary functions
Function, result-nonterminal-p: Private ordinary functions
Function, result-p: Private ordinary functions
Function, result-position: Private ordinary functions
Function, result-root-cause: Private ordinary functions
Function, result-suitable-for-report-part-p: Private ordinary functions
Function, result-trivial-predicate-p: Private ordinary functions
Function, result-unsatisfied-predicate-p: Private ordinary functions
Function, rule-dependencies: Public ordinary functions
Function, rule-direct-dependencies: Private ordinary functions
Function, rule-expression: Public ordinary functions
Function, rule-property-p: Private ordinary functions
Function, rule-suitable-for-report-part-p: Private ordinary functions
Function, rule-trivial-p: Private ordinary functions
Function, set-cell-info: Private ordinary functions
Function, singleton-option: Private ordinary functions
Function, sort-dependencies: Private ordinary functions
Function, successful-parse-%position: Private ordinary functions
Function, successful-parse-%production: Private ordinary functions
Function, successful-parse-detail: Private ordinary functions
Function, successful-parse-expression: Private ordinary functions
Function, successful-parse-p: Private ordinary functions
Function, successful-parse-production: Private ordinary functions
Function, text: Public ordinary functions
Function, trace-rule: Public ordinary functions
Function, undefined-rule: Private ordinary functions
Function, undefined-rule-function: Private ordinary functions
Function, untrace-all-rules: Public ordinary functions
Function, untrace-rule: Public ordinary functions

G
Generic Function, (setf esrap-parse-error-%context): Private generic functions
Generic Function, esrap-error-position: Public generic functions
Generic Function, esrap-error-text: Public generic functions
Generic Function, esrap-parse-error-%context: Private generic functions
Generic Function, esrap-parse-error-context: Public generic functions
Generic Function, esrap-parse-error-result: Public generic functions
Generic Function, invalid-expression-error-expression: Public generic functions
Generic Function, left-recursion-nonterminal: Public generic functions
Generic Function, left-recursion-path: Public generic functions
Generic Function, rule-around: Private generic functions
Generic Function, rule-condition: Private generic functions
Generic Function, rule-error-report: Private generic functions
Generic Function, rule-guard-expression: Private generic functions
Generic Function, rule-properties: Private generic functions
Generic Function, rule-symbol: Public generic functions
Generic Function, rule-transform: Private generic functions
Generic Function, undefined-rule-symbol: Public generic functions
get-cached: Private ordinary functions
get-head: Private ordinary functions

H
head-eval-set: Private ordinary functions
head-involved-set: Private ordinary functions
head-rule: Private ordinary functions
hint-slime-indentation: Private ordinary functions
hint-sly-indentation: Private ordinary functions

I
inactive-rule-%position: Private ordinary functions
inactive-rule-detail: Private ordinary functions
inactive-rule-expression: Private ordinary functions
inactive-rule-p: Private ordinary functions
inactive-rule-rule: Private ordinary functions
invalid-expression-error: Public ordinary functions
invalid-expression-error-expression: Public generic functions
invalid-expression-error-expression: Public generic functions

L
left-recursion: Public ordinary functions
left-recursion-nonterminal: Public generic functions
left-recursion-nonterminal: Public generic functions
left-recursion-path: Public generic functions
left-recursion-path: Public generic functions
left-recursion-result-%position: Private ordinary functions
left-recursion-result-detail: Private ordinary functions
left-recursion-result-expression: Private ordinary functions
left-recursion-result-head: Private ordinary functions
left-recursion-result-p: Private ordinary functions
left-recursion-result-rule: Private ordinary functions
list-of-result-productions: Private ordinary functions
list-of-result-productions/butlast: Private ordinary functions

M
Macro, alist-hash-table/no-dups: Private macros
Macro, defrule: Public macros
Macro, expression-case: Private macros
Macro, expression-lambda: Private macros
Macro, make-successful-parse: Private macros
Macro, with-cached-result: Private macros
Macro, with-expression: Private macros
Macro, with-pushed-nonterminal: Private macros
make-cache: Private ordinary functions
make-chunk: Private ordinary functions
make-chunk-array: Private ordinary functions
make-chunk-cache: Private ordinary functions
make-context: Private ordinary functions
make-failed-parse: Private ordinary functions
make-failed-parse/no-position: Private ordinary functions
make-head: Private ordinary functions
make-heads: Private ordinary functions
make-inactive-rule: Private ordinary functions
make-left-recursion-result: Private ordinary functions
make-ordered-choise-result: Private ordinary functions
make-rule-cell: Private ordinary functions
make-rule-properties: Private ordinary functions
make-successful-parse: Private macros
map-max-leaf-results: Private ordinary functions
map-max-results: Private ordinary functions
map-results: Private ordinary functions
match-terminal/1/case-insensitive-p: Private ordinary functions
match-terminal/1/case-sensitive-p: Private ordinary functions
match-terminal/case-insensitive-p: Private ordinary functions
match-terminal/case-sensitive-p: Private ordinary functions
max-of-result-positions: Private ordinary functions
maybe-augment-inactive-rules: Private ordinary functions
Method, (setf esrap-parse-error-%context): Private generic functions
Method, esrap-error-position: Public generic functions
Method, esrap-error-position: Public generic functions
Method, esrap-error-text: Public generic functions
Method, esrap-parse-error-%context: Private generic functions
Method, esrap-parse-error-context: Public generic functions
Method, esrap-parse-error-result: Public generic functions
Method, invalid-expression-error-expression: Public generic functions
Method, left-recursion-nonterminal: Public generic functions
Method, left-recursion-path: Public generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, rule-around: Private generic functions
Method, rule-condition: Private generic functions
Method, rule-error-report: Private generic functions
Method, rule-guard-expression: Private generic functions
Method, rule-properties: Private generic functions
Method, rule-symbol: Public generic functions
Method, rule-transform: Private generic functions
Method, shared-initialize: Public standalone methods
Method, undefined-rule-symbol: Public generic functions

P
parse: Public compiler macros
parse: Public ordinary functions
parse-defrule-options: Private ordinary functions
parse-lambda-list-maybe-containing-&bounds: Private ordinary functions
partition-results: Private ordinary functions
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-result: Private ordinary functions
print-terminal: Private ordinary functions
process-parse-result: Private ordinary functions

R
recall: Private ordinary functions
reference-rule-cell: Private ordinary functions
remove-rule: Public ordinary functions
resolve-function: Private ordinary functions
result-%position: Private ordinary functions
result-context: Private ordinary functions
result-detail: Private ordinary functions
result-expected-input: Private ordinary functions
result-expression: Private ordinary functions
result-nonterminal-p: Private ordinary functions
result-p: Private ordinary functions
result-position: Private ordinary functions
result-root-cause: Private ordinary functions
result-suitable-for-report-part-p: Private ordinary functions
result-trivial-predicate-p: Private ordinary functions
result-unsatisfied-predicate-p: Private ordinary functions
rule-around: Private generic functions
rule-around: Private generic functions
rule-condition: Private generic functions
rule-condition: Private generic functions
rule-dependencies: Public ordinary functions
rule-direct-dependencies: Private ordinary functions
rule-error-report: Private generic functions
rule-error-report: Private generic functions
rule-expression: Public ordinary functions
rule-guard-expression: Private generic functions
rule-guard-expression: Private generic functions
rule-properties: Private generic functions
rule-properties: Private generic functions
rule-property-p: Private ordinary functions
rule-suitable-for-report-part-p: Private ordinary functions
rule-symbol: Public generic functions
rule-symbol: Public generic functions
rule-transform: Private generic functions
rule-transform: Private generic functions
rule-trivial-p: Private ordinary functions

S
set-cell-info: Private ordinary functions
shared-initialize: Public standalone methods
singleton-option: Private ordinary functions
sort-dependencies: Private ordinary functions
successful-parse-%position: Private ordinary functions
successful-parse-%production: Private ordinary functions
successful-parse-detail: Private ordinary functions
successful-parse-expression: Private ordinary functions
successful-parse-p: Private ordinary functions
successful-parse-production: Private ordinary functions

T
text: Public ordinary functions
trace-rule: Public ordinary functions

U
undefined-rule: Private ordinary functions
undefined-rule-function: Private ordinary functions
undefined-rule-symbol: Public generic functions
undefined-rule-symbol: Public generic functions
untrace-all-rules: Public ordinary functions
untrace-rule: Public ordinary functions

W
with-cached-result: Private macros
with-expression: Private macros
with-pushed-nonterminal: Private macros


A.3 Variables

Jump to:   %   *   +  
C   D   E   H   I   N   P   R   S   T  
Index Entry  Section

%
%around: Public classes
%condition: Public classes
%context: Public conditions
%error-report: Public classes
%expression: Public classes
%guard-expression: Public classes
%info: Private structures
%position: Private structures
%production: Private structures
%properties: Public classes
%symbol: Public classes
%transform: Public classes

*
*context*: Private special variables
*current-rule*: Private special variables
*eval-nonterminals*: Private special variables
*expression-kinds*: Private special variables
*indentation-hint-table*: Private special variables
*on-left-recursion*: Public special variables
*result-pprint-dispatch*: Private special variables
*rules*: Private special variables
*trace-level*: Private special variables

+
+chunk-divisor+: Private constants
+default-rule-properties+: Private constants
+packrat-hash-table-switch-point+: Private constants

C
cache: Private structures
chunks: Private structures
Constant, +chunk-divisor+: Private constants
Constant, +default-rule-properties+: Private constants
Constant, +packrat-hash-table-switch-point+: Private constants

D
detail: Private structures

E
eval-set: Private structures
expression: Public conditions
expression: Private structures

H
head: Private structures
heads: Private structures

I
involved-set: Private structures

N
nonterminal: Public conditions
nonterminal-stack: Private structures

P
path: Public conditions
position: Public conditions

R
referents: Private structures
result: Public conditions
rule: Private structures

S
Slot, %around: Public classes
Slot, %condition: Public classes
Slot, %context: Public conditions
Slot, %error-report: Public classes
Slot, %expression: Public classes
Slot, %guard-expression: Public classes
Slot, %info: Private structures
Slot, %position: Private structures
Slot, %production: Private structures
Slot, %properties: Public classes
Slot, %symbol: Public classes
Slot, %transform: Public classes
Slot, cache: Private structures
Slot, chunks: Private structures
Slot, detail: Private structures
Slot, eval-set: Private structures
Slot, expression: Public conditions
Slot, expression: Private structures
Slot, head: Private structures
Slot, heads: Private structures
Slot, involved-set: Private structures
Slot, nonterminal: Public conditions
Slot, nonterminal-stack: Private structures
Slot, path: Public conditions
Slot, position: Public conditions
Slot, referents: Private structures
Slot, result: Public conditions
Slot, rule: Private structures
Slot, symbol: Private conditions
Slot, text: Public conditions
Slot, trace-info: Private structures
Special Variable, *context*: Private special variables
Special Variable, *current-rule*: Private special variables
Special Variable, *eval-nonterminals*: Private special variables
Special Variable, *expression-kinds*: Private special variables
Special Variable, *indentation-hint-table*: Private special variables
Special Variable, *on-left-recursion*: Public special variables
Special Variable, *result-pprint-dispatch*: Private special variables
Special Variable, *rules*: Private special variables
Special Variable, *trace-level*: Private special variables
symbol: Private conditions

T
text: Public conditions
trace-info: Private structures


A.4 Data types

Jump to:   C   E   F   H   I   L   M   N   P   R   S   T   U   V  
Index Entry  Section

C
cache: The esrap/cache module
cache-policy: Private types
character-range: Private types
chunk: Private types
chunk-array: Private types
chunk-cache: Private structures
chunk.lisp: The esrap/cache/chunk․lisp file
Class, rule: Public classes
Condition, esrap-error: Public conditions
Condition, esrap-parse-error: Public conditions
Condition, invalid-expression-error: Public conditions
Condition, left-recursion: Public conditions
Condition, undefined-rule: Private conditions
Condition, undefined-rule-error: Public conditions
conditions.lisp: The esrap/early/conditions․lisp file
context: Private structures
context.lisp: The esrap/src/context․lisp file

E
early: The esrap/early module
editor-support.lisp: The esrap/src/editor-support․lisp file
error-report-part: Private types
error-result: Private structures
esrap: The esrap system
esrap: The esrap package
esrap-error: Public conditions
esrap-parse-error: Public conditions
esrap.asd: The esrap/esrap․asd file
evaluator.lisp: The esrap/src/evaluator․lisp file
examples: The esrap/examples module
expressions.lisp: The esrap/early/expressions․lisp file

F
failed-parse: Private structures
File, chunk.lisp: The esrap/cache/chunk․lisp file
File, conditions.lisp: The esrap/early/conditions․lisp file
File, context.lisp: The esrap/src/context․lisp file
File, editor-support.lisp: The esrap/src/editor-support․lisp file
File, esrap.asd: The esrap/esrap․asd file
File, evaluator.lisp: The esrap/src/evaluator․lisp file
File, expressions.lisp: The esrap/early/expressions․lisp file
File, function-terminals.lisp: The esrap/examples/function-terminals․lisp file
File, interface.lisp: The esrap/src/interface․lisp file
File, left-recursion.lisp: The esrap/examples/left-recursion․lisp file
File, macros.lisp: The esrap/src/macros․lisp file
File, package.lisp: The esrap/early/package․lisp file
File, packrat.lisp: The esrap/cache/packrat․lisp file
File, protocol.lisp: The esrap/early/protocol․lisp file
File, readme.org: The esrap/readme․org file
File, results.lisp: The esrap/early/results․lisp file
File, rule.lisp: The esrap/early/rule․lisp file
File, sexp.lisp: The esrap/examples/sexp․lisp file
File, symbol-table.lisp: The esrap/examples/symbol-table․lisp file
File, types.lisp: The esrap/early/types․lisp file
File, variables.lisp: The esrap/early/variables․lisp file
function-terminals.lisp: The esrap/examples/function-terminals․lisp file

H
head: Private structures

I
inactive-rule: Private structures
input-length: Private types
input-position: Private types
interface.lisp: The esrap/src/interface․lisp file
invalid-expression-error: Public conditions

L
left-recursion: Public conditions
left-recursion-policy: Private types
left-recursion-result: Private structures
left-recursion.lisp: The esrap/examples/left-recursion․lisp file

M
macros.lisp: The esrap/src/macros․lisp file
Module, cache: The esrap/cache module
Module, early: The esrap/early module
Module, examples: The esrap/examples module
Module, src: The esrap/src module

N
nonterminal: Private types

P
Package, esrap: The esrap package
package.lisp: The esrap/early/package․lisp file
packrat.lisp: The esrap/cache/packrat․lisp file
predicate: Private types
predicate-name: Private types
protocol.lisp: The esrap/early/protocol․lisp file

R
readme.org: The esrap/readme․org file
result: Private structures
results.lisp: The esrap/early/results․lisp file
rule: Public classes
rule-cell: Private structures
rule-error-report: Private types
rule-error-report-pattern: Private types
rule-properties/packed: Private types
rule.lisp: The esrap/early/rule․lisp file

S
sexp.lisp: The esrap/examples/sexp․lisp file
src: The esrap/src module
Structure, chunk-cache: Private structures
Structure, context: Private structures
Structure, error-result: Private structures
Structure, failed-parse: Private structures
Structure, head: Private structures
Structure, inactive-rule: Private structures
Structure, left-recursion-result: Private structures
Structure, result: Private structures
Structure, rule-cell: Private structures
Structure, successful-parse: Private structures
successful-parse: Private structures
symbol-table.lisp: The esrap/examples/symbol-table․lisp file
System, esrap: The esrap system

T
terminal: Private types
Type, cache-policy: Private types
Type, character-range: Private types
Type, chunk: Private types
Type, chunk-array: Private types
Type, error-report-part: Private types
Type, input-length: Private types
Type, input-position: Private types
Type, left-recursion-policy: Private types
Type, nonterminal: Private types
Type, predicate: Private types
Type, predicate-name: Private types
Type, rule-error-report: Private types
Type, rule-error-report-pattern: Private types
Type, rule-properties/packed: Private types
Type, terminal: Private types
types.lisp: The esrap/early/types․lisp file

U
undefined-rule: Private conditions
undefined-rule-error: Public conditions

V
variables.lisp: The esrap/early/variables․lisp file