This is the clast Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 08 17:34:51 2024 GMT+0.
clast/clast.asd
clast/clast-package.lisp
clast/clast-elements.lisp
clast/clast-defclass-elements.lisp
clast/clast-defstruct-elements.lisp
clast/clast-loop-elements.lisp
clast/clast-bq-elements.lisp
clast/clast-parse-protocol.lisp
clast/clast-printing.lisp
clast/utilities/lambda-list-parsing.lisp
clast/utilities/kitchen-sink.lisp
clast/env.lisp
clast/impl-dependent/clast-sbcl.lisp
clast/env-queries.lisp
clast/parse-lambda-lists.lisp
clast/parse.lisp
clast/parse-constants.lisp
clast/parse-defs.lisp
clast/parse-defstruct.lisp
clast/parse-defclass.lisp
clast/parse-loop.lisp
clast/walk.lisp
clast/tools.lisp
The main system appears first, followed by any subsystem dependency.
clast
CLAST is a Common Lisp library that can produce an "abstract syntax tree" of a "form". Its main use is for source analysis and transformation, e.g., extracting the "free variables" list from a form.
Marco Antoniotti
BSD
clast-package.lisp
(file).
clast-elements.lisp
(file).
clast-defclass-elements.lisp
(file).
clast-defstruct-elements.lisp
(file).
clast-loop-elements.lisp
(file).
clast-bq-elements.lisp
(file).
clast-parse-protocol.lisp
(file).
clast-printing.lisp
(file).
utilities
(module).
env.lisp
(file).
impl-dependent
(module).
env-queries.lisp
(file).
parse-lambda-lists.lisp
(file).
parse.lisp
(file).
parse-constants.lisp
(file).
parse-defs.lisp
(file).
parse-defstruct.lisp
(file).
parse-defclass.lisp
(file).
parse-loop.lisp
(file).
walk.lisp
(file).
tools.lisp
(file).
Modules are listed depth-first from the system components tree.
clast/utilities
clast-package.lisp
(file).
clast
(system).
lambda-list-parsing.lisp
(file).
kitchen-sink.lisp
(file).
clast/impl-dependent
clast-elements.lisp
(file).
clast-defclass-elements.lisp
(file).
clast-defstruct-elements.lisp
(file).
clast-loop-elements.lisp
(file).
clast-printing.lisp
(file).
clast-parse-protocol.lisp
(file).
env.lisp
(file).
clast
(system).
clast-sbcl.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
clast/clast.asd
clast/clast-package.lisp
clast/clast-elements.lisp
clast/clast-defclass-elements.lisp
clast/clast-defstruct-elements.lisp
clast/clast-loop-elements.lisp
clast/clast-bq-elements.lisp
clast/clast-parse-protocol.lisp
clast/clast-printing.lisp
clast/utilities/lambda-list-parsing.lisp
clast/utilities/kitchen-sink.lisp
clast/env.lisp
clast/impl-dependent/clast-sbcl.lisp
clast/env-queries.lisp
clast/parse-lambda-lists.lisp
clast/parse.lisp
clast/parse-constants.lisp
clast/parse-defs.lisp
clast/parse-defstruct.lisp
clast/parse-defclass.lisp
clast/parse-loop.lisp
clast/walk.lisp
clast/tools.lisp
clast/clast-elements.lisp
clast-package.lisp
(file).
clast
(system).
application
(class).
assignment-form
(class).
binding-form
(class).
block-form
(class).
block-name-ref
(class).
case-form
(class).
catch-form
(class).
ccase-form
(class).
clast-element-subforms
(generic function).
cond-form
(class).
condition-case-form
(class).
constant-form
(class).
constant-ref
(class).
declaration-form
(class).
declaration-specifier-form
(class).
def-symbol-ref-form
(class).
defclass-form
(class).
defconstant-form
(class).
defgeneric-form
(class).
define-compiler-macro-form
(class).
define-method-combination-form
(class).
define-setf-expander-form
(class).
define-symbol-macro-form
(class).
definition-form
(class).
definition-lambda-list-form
(class).
defmethod-form
(class).
defparameter-form
(class).
defsetf-form
(class).
defstruct-form
(class).
defun-form
(class).
defvar-form
(class).
do*-form
(class).
do-form
(class).
do-loop-form
(class).
dolist-form
(class).
dotimes-form
(class).
dovar-form
(class).
ecase-form
(class).
error-clause-form
(class).
etypecase-form
(class).
eval-when-form
(class).
fbinding-form
(class).
flet-form
(class).
form
(class).
free-variable-ref
(class).
ftype-declaration-specifier-form
(class).
function-application
(class).
function-definition-form
(class).
function-form
(class).
function-name-ref
(class).
functional-operator-application
(class).
go-form
(class).
go-tag
(class).
handler-bind-form
(class).
handler-case-form
(class).
id-declaration-specifier-form
(class).
if-form
(class).
implicit-progn
(class).
iteration-form
(class).
labels-form
(class).
lambda-application
(class).
lambda-form
(class).
let*-form
(class).
let-form
(class).
load-time-value-form
(class).
local-function-application
(class).
local-macro-application
(class).
locally-form
(class).
loop-form
(class).
macro-application
(class).
macro-definition-form
(class).
macro-name-ref
(class).
macrolet-form
(class).
multiple-value-call-form
(class).
multiple-value-prog1-form
(class).
mvb-form
(class).
prog*-form
(class).
prog-form
(class).
progn-form
(class).
progv-form
(class).
quote-form
(class).
restart-bind-form
(class).
restart-case-form
(class).
return-from-form
(class).
set-form
(class).
setf-form
(class).
setq-form
(class).
simple-loop-form
(class).
special-variable-ref
(class).
symbol-macro-ref
(class).
symbol-macrolet-form
(class).
symbol-ref
(class).
tagbody-form
(class).
the-form
(class).
throw-form
(class).
type-declaration-specifier-form
(class).
typecase-form
(class).
unwind-protect-form
(class).
variable-ref
(class).
vbinding-form
(class).
application-p
(function).
assignment-form-p
(function).
binding-form-p
(function).
block-form-p
(function).
block-name
(reader method).
(setf block-name)
(writer method).
block-name-ref-p
(function).
case-form-p
(function).
catch-form-p
(function).
ccase-form-p
(function).
clast-element
(class).
clause-form
(class).
cond-form-p
(function).
constant-form-p
(function).
constant-ref-p
(function).
declaim-form
(class).
declaration-form-declarations
(reader method).
(setf declaration-form-declarations)
(writer method).
declaration-form-p
(function).
declaration-form-resulting-environment
(reader method).
(setf declaration-form-resulting-environment)
(writer method).
declaration-specifier-form-identifier
(reader method).
(setf declaration-specifier-form-identifier)
(writer method).
declaration-specifier-form-p
(function).
declaration-specifier-identifier
(reader method).
(setf declaration-specifier-identifier)
(writer method).
declaration-type-spec
(reader method).
(setf declaration-type-spec)
(writer method).
declaration-type-spec-symbols
(method).
declaration-type-spec-symbols
(reader method).
(setf declaration-type-spec-symbols)
(writer method).
defclass-form-name
(reader method).
(setf defclass-form-name)
(writer method).
defclass-form-options
(reader method).
(setf defclass-form-options)
(writer method).
defclass-form-slots
(reader method).
(setf defclass-form-slots)
(writer method).
defclass-form-superclasses
(reader method).
(setf defclass-form-superclasses)
(writer method).
defconstant-form-doc-string
(reader method).
(setf defconstant-form-doc-string)
(writer method).
defconstant-form-name
(reader method).
(setf defconstant-form-name)
(writer method).
defconstant-form-value
(reader method).
(setf defconstant-form-value)
(writer method).
defgeneric-form-lambda-list
(reader method).
(setf defgeneric-form-lambda-list)
(writer method).
defgeneric-form-methods
(reader method).
defgeneric-form-name
(reader method).
defgeneric-form-name
(reader method).
(setf defgeneric-form-name)
(writer method).
(setf defgeneric-form-name)
(writer method).
defgeneric-form-options
(reader method).
define-compiler-macro-form-name
(reader method).
(setf define-compiler-macro-form-name)
(writer method).
define-method-combination-form-name
(reader method).
(setf define-method-combination-form-name)
(writer method).
define-modify-macro-form
(class).
define-modify-macro-form-name
(reader method).
(setf define-modify-macro-form-name)
(writer method).
define-modify-macro-form-p
(function).
define-modify-macro-function
(reader method).
(setf define-modify-macro-function)
(writer method).
define-modify-macro-function-docstring
(reader method).
define-setf-expander-form-name
(reader method).
(setf define-setf-expander-form-name)
(writer method).
define-symbol-macro-form-name
(reader method).
(setf define-symbol-macro-form-name)
(writer method).
definition-code-form
(class).
definition-code-form-p
(function).
definition-form-name
(reader method).
(setf definition-form-name)
(writer method).
definition-form-p
(function).
definition-lambda-list-form-p
(function).
defmacro-form
(class).
defmacro-form-lambda-list
(reader method).
(setf defmacro-form-lambda-list)
(writer method).
defmacro-form-name
(reader method).
(setf defmacro-form-name)
(writer method).
defmethod-form-lambda-list
(reader method).
(setf defmethod-form-lambda-list)
(writer method).
defmethod-form-name
(reader method).
(setf defmethod-form-name)
(writer method).
defmethod-form-qualifiers
(reader method).
(setf defmethod-form-qualifiers)
(writer method).
defpackage-form
(class).
defpackage-form-name
(reader method).
(setf defpackage-form-name)
(writer method).
defparameter-form-doc-string
(reader method).
(setf defparameter-form-doc-string)
(writer method).
defparameter-form-name
(reader method).
(setf defparameter-form-name)
(writer method).
defparameter-form-value
(reader method).
(setf defparameter-form-value)
(writer method).
defsetf-form-name
(reader method).
(setf defsetf-form-name)
(writer method).
defstruct-form-name
(reader method).
(setf defstruct-form-name)
(writer method).
defstruct-form-options
(reader method).
(setf defstruct-form-options)
(writer method).
defstruct-form-slots
(reader method).
(setf defstruct-form-slots)
(writer method).
defun-form-lambda-list
(reader method).
(setf defun-form-lambda-list)
(writer method).
defun-form-name
(reader method).
(setf defun-form-name)
(writer method).
defvar-form-doc-string
(reader method).
(setf defvar-form-doc-string)
(writer method).
defvar-form-name
(reader method).
(setf defvar-form-name)
(writer method).
defvar-form-value
(reader method).
(setf defvar-form-value)
(writer method).
doc-string
(reader method).
(setf doc-string)
(writer method).
ecase-form-p
(function).
etypecase-form-p
(function).
eval-when-form-p
(function).
expansion-component
(class).
expansion-component-p
(function).
fbinding-form-p
(function).
flet-form-p
(function).
form-args
(reader method).
form-args
(reader method).
form-args
(reader method).
(setf form-args)
(writer method).
(setf form-args)
(writer method).
(setf form-args)
(writer method).
form-binds
(reader method).
(setf form-binds)
(writer method).
form-block
(reader method).
(setf form-block)
(writer method).
form-body
(reader method).
form-body
(reader method).
(setf form-body)
(writer method).
(setf form-body)
(writer method).
form-body-env
(reader method).
form-body-env
(reader method).
form-body-env
(reader method).
(setf form-body-env)
(writer method).
(setf form-body-env)
(writer method).
(setf form-body-env)
(writer method).
form-catch-tag
(reader method).
(setf form-catch-tag)
(writer method).
form-clauses
(reader method).
form-clauses
(reader method).
(setf form-clauses)
(writer method).
(setf form-clauses)
(writer method).
form-cleanup-forms
(reader method).
(setf form-cleanup-forms)
(writer method).
form-condition
(reader method).
(setf form-condition)
(writer method).
form-datum
(reader method).
(setf form-datum)
(writer method).
form-declarations
(reader method).
(setf form-declarations)
(writer method).
form-else
(reader method).
(setf form-else)
(writer method).
form-enclosing-block
(reader method).
(setf form-enclosing-block)
(writer method).
form-expansion
(reader method).
(setf form-expansion)
(writer method).
form-expr
(reader method).
(setf form-expr)
(writer method).
form-function
(reader method).
form-function
(reader method).
(setf form-function)
(writer method).
(setf form-function)
(writer method).
form-handled-form
(reader method).
(setf form-handled-form)
(writer method).
form-lambda-list
(reader method).
form-lambda-list
(reader method).
(setf form-lambda-list)
(writer method).
(setf form-lambda-list)
(writer method).
form-load-time-form
(reader method).
(setf form-load-time-form)
(writer method).
form-local
(reader method).
(setf form-local)
(writer method).
form-name
(reader method).
form-name
(reader method).
form-name
(reader method).
form-name
(reader method).
form-name
(reader method).
(setf form-name)
(writer method).
(setf form-name)
(writer method).
(setf form-name)
(writer method).
(setf form-name)
(writer method).
(setf form-name)
(writer method).
form-operator
(reader method).
(setf form-operator)
(writer method).
form-p
(function).
form-places
(reader method).
(setf form-places)
(writer method).
form-progn
(reader method).
(setf form-progn)
(writer method).
form-protected-form
(reader method).
(setf form-protected-form)
(writer method).
form-result
(reader method).
form-result
(reader method).
(setf form-result)
(writer method).
(setf form-result)
(writer method).
form-resulting-environment
(reader method).
(setf form-resulting-environment)
(writer method).
form-selector
(reader method).
(setf form-selector)
(writer method).
form-situations
(reader method).
(setf form-situations)
(writer method).
form-source
(reader method).
(setf form-source)
(writer method).
form-symbol
(reader method).
(setf form-symbol)
(writer method).
form-symbols
(reader method).
(setf form-symbols)
(writer method).
form-tag
(reader method).
(setf form-tag)
(writer method).
form-tagbody
(reader method).
(setf form-tagbody)
(writer method).
form-tags
(reader method).
(setf form-tags)
(writer method).
form-test
(reader method).
(setf form-test)
(writer method).
form-then
(reader method).
(setf form-then)
(writer method).
form-throw-tag
(reader method).
(setf form-throw-tag)
(writer method).
form-top
(reader method).
(setf form-top)
(writer method).
form-type
(reader method).
(setf form-type)
(writer method).
form-type-cast
(reader method).
(setf form-type-cast)
(writer method).
form-value
(reader method).
form-value
(reader method).
(setf form-value)
(writer method).
(setf form-value)
(writer method).
form-values
(reader method).
form-values
(reader method).
(setf form-values)
(writer method).
(setf form-values)
(writer method).
form-values-form
(reader method).
(setf form-values-form)
(writer method).
free-variable-ref-p
(function).
ftype-declaration-specifier-form-p
(function).
function-application-p
(function).
function-form-p
(function).
function-name-ref-p
(function).
functional-operator-application-p
(function).
go-form-p
(function).
go-tag-p
(function).
id-declaration-specifier-form-p
(function).
if-form-p
(function).
implicit-progn-p
(function).
is-clast-element
(function).
is-define-modify-macro-form
(function).
is-form
(function).
is-read-only
(reader method).
(setf is-read-only)
(writer method).
is-type-specifier-form
(function).
labels-form-p
(function).
lambda-application-p
(function).
lambda-definition-form-lambda-list
(reader method).
(setf lambda-definition-form-lambda-list)
(writer method).
lambda-form-p
(function).
let*-form-p
(function).
let-form-p
(function).
load-time-value-form-p
(function).
local-function-application-p
(function).
local-macro-application-p
(function).
locally-form-p
(function).
loop-clauses
(reader method).
(setf loop-clauses)
(writer method).
loop-form-p
(function).
macro-application-p
(function).
macro-name-ref-p
(function).
macrolet-form-p
(function).
multiple-value-bind-form-p
(function).
multiple-value-call-form-p
(function).
multiple-value-prog1-form-p
(function).
mvb-form-p
(function).
prog*-form-p
(function).
prog-form-p
(function).
progn-form-p
(function).
progv-form-p
(function).
quote-form-p
(function).
read-only-p
(reader method).
(setf read-only-p)
(writer method).
return-form
(reader method).
(setf return-form)
(writer method).
return-from-form-p
(function).
selection-form
(class).
selection-form-p
(function).
selector-form
(class).
selector-form-selection
(reader method).
(setf selector-form-selection)
(writer method).
set-form-p
(function).
setf-form-p
(function).
setq-form-p
(function).
simple-loop-form-p
(function).
special-variable-ref-p
(function).
symbol-macro-ref-p
(function).
symbol-macrolet-form-p
(function).
symbol-ref-p
(function).
tag-name
(reader method).
(setf tag-name)
(writer method).
tagbody-form-p
(function).
tf-declaration-specifier-form
(class).
tf-declaration-specifier-form-p
(function).
the-form-p
(function).
throw-form-p
(function).
type-declaration-specifier-form-p
(function).
type-specifier-form
(class).
type-specifier-form-p
(function).
type-specifier-form-spec
(reader method).
(setf type-specifier-form-spec)
(writer method).
typecase-form-p
(function).
variable-ref-p
(function).
vbinding-form-p
(function).
clast/clast-defclass-elements.lisp
clast-elements.lisp
(file).
clast
(system).
clast-element-subforms
(method).
clast-element-subforms
(method).
clast-element-subforms
(method).
class-option-subform
(class).
class-option-subform-name
(reader method).
class-option-subform-p
(function).
class-option-subform-spec
(reader method).
class-slot-subform
(class).
class-slot-subform-name
(reader method).
class-slot-subform-options
(reader method).
class-slot-subform-p
(function).
defclass-subform
(class).
is-class-option-subform
(function).
is-class-slot-subform
(function).
make-class-option-form
(function).
clast/clast-defstruct-elements.lisp
clast-elements.lisp
(file).
clast
(system).
clast-element-subforms
(method).
clast-element-subforms
(method).
clast-element-subforms
(method).
*defstruct-options*
(special variable).
defstruct-subform
(class).
is-struct-option-subform
(function).
is-struct-slot-subform
(function).
make-struct-option-form
(function).
make-struct-slot-form
(function).
struct-option-subform
(class).
struct-option-subform-arg1
(method).
struct-option-subform-args
(method).
struct-option-subform-bare-p
(generic function).
struct-option-subform-name
(reader method).
struct-option-subform-p
(function).
struct-option-subform-spec
(reader method).
struct-slot-subform
(class).
struct-slot-subform-initform
(reader method).
struct-slot-subform-name
(reader method).
struct-slot-subform-other-options
(reader method).
struct-slot-subform-p
(function).
struct-slot-subform-read-only
(reader method).
struct-slot-subform-type
(reader method).
clast/clast-loop-elements.lisp
clast-elements.lisp
(file).
clast
(system).
clast-element-subforms
(method).
loop-clause
(class).
loop-subclause
(class).
loop-var-subclause
(class).
print-object
(method).
print-object
(method).
*loop-accumulation-clause-keywords*
(special variable).
*loop-arithmetic-clause-keywords*
(special variable).
*loop-keywords*
(special variable).
as-loop-kwd
(function).
form-name
(reader method).
is-loop-accumulation-keyword
(function).
is-loop-arithmetic-keyword
(function).
is-loop-clause
(function).
is-loop-keyword
(function).
is-loop-subclause
(function).
is-loop-var-subclause
(function).
loop-clause-name
(reader method).
loop-clause-subclauses
(reader method).
loop-kwd=
(function).
loop-var-of-type-qualifier
(reader method).
make-loop-clause
(function).
make-loop-subclause
(function).
make-loop-var-subclause
(function).
reverse-subclauses
(function).
subclauses
(reader method).
(setf subclauses)
(writer method).
var-form
(reader method).
clast/clast-bq-elements.lisp
clast-elements.lisp
(file).
clast
(system).
clast-element-subforms
(method).
clast-element-subforms
(method).
bq-comma
(class).
bq-comma-expr
(reader method).
bq-comma-kind
(reader method).
bq-comma-p
(function).
bq-form
(class).
bq-form-expr
(reader method).
bq-form-p
(function).
clast/clast-parse-protocol.lisp
clast-package.lisp
(file).
clast
(system).
parse
(generic function).
parse-form
(generic function).
ast-parse-error
(condition).
unknown-operator-error
(condition).
unknown-operator-name
(reader method).
unknown-special-operator-error
(condition).
clast/clast-printing.lisp
clast-defstruct-elements.lisp
(file).
clast-defclass-elements.lisp
(file).
clast-loop-elements.lisp
(file).
clast
(system).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
*clast-print-length*
(special variable).
*clast-print-level*
(special variable).
as-string
(generic function).
clast/utilities/lambda-list-parsing.lisp
utilities
(module).
+lambda-list-var-type-keywords+
(special variable).
copy-define-modify-macro-lambda-list
(function).
copy-destructuring-lambda-list
(function).
copy-generic-function-lambda-list
(function).
copy-lambda-list-item
(function).
copy-lambda-list-var
(function).
copy-macro-lambda-list
(function).
copy-ordinary-lambda-list
(function).
copy-specialized-lambda-list
(function).
count-lambda-list-vars
(function).
count-ll-vars
(generic function).
define-modify-macro-lambda-list
(structure).
define-modify-macro-lambda-list-allow-other-keys
(function).
define-modify-macro-lambda-list-auxiliary-vars
(function).
define-modify-macro-lambda-list-keyword-vars
(function).
define-modify-macro-lambda-list-optional-vars
(function).
define-modify-macro-lambda-list-ordinary-vars
(function).
define-modify-macro-lambda-list-p
(function).
define-modify-macro-lambda-list-rest-var
(function).
destructuring-lambda-list
(structure).
destructuring-lambda-list-allow-other-keys
(function).
destructuring-lambda-list-auxiliary-vars
(function).
destructuring-lambda-list-keyword-vars
(function).
destructuring-lambda-list-optional-vars
(function).
destructuring-lambda-list-ordinary-vars
(function).
destructuring-lambda-list-p
(function).
destructuring-lambda-list-rest-var
(function).
generic-function-lambda-list
(structure).
generic-function-lambda-list-allow-other-keys
(function).
generic-function-lambda-list-auxiliary-vars
(function).
generic-function-lambda-list-keyword-vars
(function).
generic-function-lambda-list-optional-vars
(function).
generic-function-lambda-list-ordinary-vars
(function).
generic-function-lambda-list-p
(function).
generic-function-lambda-list-rest-var
(function).
lambda-list-item
(structure).
lambda-list-item-p
(function).
lambda-list-type
(type).
lambda-list-var
(structure).
lambda-list-var-p
(function).
lambda-list-var-type
(type).
ll-allow-other-keys
(reader).
ll-auxiliary-vars
(reader).
ll-default-forms
(generic function).
ll-keyword-vars
(reader).
ll-optional-vars
(reader).
ll-ordinary-vars
(reader).
ll-rest-var
(reader).
ll-vars
(generic function).
lli-form
(reader).
lli-item
(reader).
lli-kind
(reader).
lli-name
(function).
llv-form
(function).
llv-item
(function).
llv-kind
(function).
llv-name
(function).
macro-lambda-list
(structure).
macro-lambda-list-allow-other-keys
(function).
macro-lambda-list-auxiliary-vars
(function).
macro-lambda-list-body-var
(reader).
macro-lambda-list-env-var
(reader).
macro-lambda-list-keyword-vars
(function).
macro-lambda-list-optional-vars
(function).
macro-lambda-list-ordinary-vars
(function).
macro-lambda-list-p
(function).
macro-lambda-list-rest-var
(function).
macro-lambda-list-whole-var
(reader).
make-define-modify-macro-lambda-list
(function).
make-destructuring-lambda-list
(function).
make-generic-function-lambda-list
(function).
make-macro-lambda-list
(function).
make-ordinary-lambda-list
(function).
make-specialized-lambda-list
(function).
mkllitem
(function).
mkllvar
(function).
ordinary-lambda-list
(structure).
ordinary-lambda-list-allow-other-keys
(function).
ordinary-lambda-list-auxiliary-vars
(function).
ordinary-lambda-list-keyword-vars
(function).
ordinary-lambda-list-optional-vars
(function).
ordinary-lambda-list-ordinary-vars
(function).
ordinary-lambda-list-p
(function).
ordinary-lambda-list-rest-var
(function).
parse-ll
(generic function).
pll
(function).
specialized-lambda-list
(structure).
specialized-lambda-list-allow-other-keys
(function).
specialized-lambda-list-auxiliary-vars
(function).
specialized-lambda-list-keyword-vars
(function).
specialized-lambda-list-optional-vars
(function).
specialized-lambda-list-ordinary-vars
(function).
specialized-lambda-list-p
(function).
specialized-lambda-list-rest-var
(function).
t_lambda-list
(structure).
t_lambda-list-p
(function).
clast/utilities/kitchen-sink.lisp
utilities
(module).
compose
(function).
compose2
(function).
ensure-lists
(function).
flatten
(function).
generic-function-p
(function).
is-generic-function
(function).
clast/env.lisp
clast-package.lisp
(file).
clast
(system).
environment
(structure).
environment-p
(function).
is-environment
(generic function).
%make-environment
(function).
*cl-global-env*
(special variable).
copy-environment
(function).
environment-env
(reader).
(setf environment-env)
(writer).
environment-global-extensions
(reader).
(setf environment-global-extensions)
(writer).
environment-query-fn
(type).
implementation-env
(function).
make-env
(generic function).
clast/impl-dependent/clast-sbcl.lisp
impl-dependent
(module).
augment-environment
(function).
block-information
(function).
declaration-information
(function).
define-declaration
(macro).
enclose
(function).
ensure-parsing-environment
(function).
function-information
(function).
is-environment
(method).
is-environment
(method).
parse
(method).
parse-macro
(function).
print-object
(method).
tag-information
(function).
variable-information
(function).
%make-parsing-environment
(function).
*comma-kind*
(special variable).
*sbcl-parsing-env*
(special variable).
augment-global-environment
(function).
copy-parsing-environment
(function).
env-find-block
(function).
env-find-tag
(function).
env-item-info
(function).
get-implementation-env
(function).
make-env
(method).
make-env
(method).
make-env
(method).
make-env
(method).
parsing-environment
(structure).
parsing-environment-blocks
(reader).
(setf parsing-environment-blocks)
(writer).
parsing-environment-enclosing-env
(reader).
(setf parsing-environment-enclosing-env)
(writer).
parsing-environment-env
(function).
(setf parsing-environment-env)
(function).
parsing-environment-global-extensions
(function).
(setf parsing-environment-global-extensions)
(function).
parsing-environment-p
(function).
parsing-environment-tags
(reader).
(setf parsing-environment-tags)
(writer).
update-global-env
(function).
clast/env-queries.lisp
impl-dependent
(module).
clast
(system).
constant-or-keyword-p
(function).
special-variable-p
(function).
symbol-macro-p
(function).
clast/parse-lambda-lists.lisp
clast-elements.lisp
(file).
env.lisp
(file).
utilities
(module).
clast
(system).
parse-lambda-list
(function).
clast/parse.lisp
clast-parse-protocol.lisp
(file).
parse-lambda-lists.lisp
(file).
clast
(system).
arguments
(function).
operator
(function).
parse
(method).
parse
(method).
parse
(method).
parse
(method).
parse
(method).
parse-declaration
(generic function).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
build-constant-reference
(function).
build-variable-reference
(function).
def-parse-self-evaluating-method
(macro).
is-compound-form
(function).
is-declaration
(function).
is-lambda-form
(function).
is-quoted-form
(function).
listify
(function).
parse-args
(function).
parse-binding-seq
(function).
parse-case-form
(function).
parse-declarations
(function).
parse-dovar-form
(function).
parse-form-seq
(function).
parse-lambda-form
(function).
parse-local-function
(function).
parse-local-macro
(function).
clast/parse-constants.lisp
parse.lisp
(file).
clast
(system).
+nil-constant-ref+
(special variable).
+t-constant-ref+
(special variable).
clast/parse-defs.lisp
parse.lisp
(file).
clast
(system).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
parse-form
(method).
clast/parse-defstruct.lisp
clast-defstruct-elements.lisp
(file).
parse-defs.lisp
(file).
clast
(system).
parse-form
(method).
parse-struct-option
(generic function).
add-function-to-env
(function).
build-cons-key-arglist
(function).
build-cons-key-arglist-types
(function).
default-structure-fname
(function).
normalize-slot
(function).
parse-struct-slot
(function).
parse-struct-slots
(function).
clast/parse-defclass.lisp
clast-defclass-elements.lisp
(file).
parse-defs.lisp
(file).
clast
(system).
parse-form
(method).
parse-class-option
(generic function).
parse-class-options
(function).
parse-class-slot
(function).
parse-class-slot-option
(generic function).
parse-class-slots
(function).
clast/parse-loop.lisp
clast-loop-elements.lisp
(file).
parse.lisp
(file).
clast
(system).
parse-form
(method).
parse-loop-clause
(generic function).
advance
(macro).
associate-var-types
(function).
collect-accumulation-vars
(function).
continue-loop-parsing
(function).
finish-loop-parsing
(function).
is-type-specifier
(function).
named-clause-name
(generic function).
named-clause-p
(generic function).
next-form
(macro).
parse-accumulation-clause
(function).
parse-conditional-clause
(function).
parse-extended-loop
(function).
parse-loop-compound-forms-clause
(function).
parse-selectable-clauses
(function).
parse-simple-loop
(function).
parse-termination-clause
(function).
start-loop-parsing
(function).
with-clause-p
(generic function).
clast/walk.lisp
parse.lisp
(file).
parse-loop.lisp
(file).
clast
(system).
bound-variables
(function).
free-variables
(function).
functions
(function).
macros
(function).
map-subforms
(generic function).
special-variables
(function).
symbol-macros
(function).
variables
(function).
walk
(generic function).
clast/tools.lisp
parse.lisp
(file).
clast
(system).
print-element-ast
(function).
Packages are listed by definition order.
it.unimib.disco.ma.cl.util.clast
The CLAST package.
The top-level package API for the CLAST (CL Abstract Syntax Tree)
Library.
Notes:
The name is apt as its etymology goes back to ’clastic’ rocks, made of smaller and broken rocks.
clast
cl.util.clast
common-lisp
.
application
(class).
arguments
(function).
assignment-form
(class).
augment-environment
(function).
binding-form
(class).
block-form
(class).
block-information
(function).
block-name-ref
(class).
bound-variables
(function).
case-form
(class).
catch-form
(class).
ccase-form
(class).
clast-element-subforms
(generic function).
cond-form
(class).
condition-case-form
(class).
constant-form
(class).
constant-ref
(class).
declaration-form
(class).
declaration-information
(function).
declaration-specifier-form
(class).
def-symbol-ref-form
(class).
defclass-form
(class).
defconstant-form
(class).
defgeneric-form
(class).
define-compiler-macro-form
(class).
define-declaration
(macro).
define-method-combination-form
(class).
define-setf-expander-form
(class).
define-symbol-macro-form
(class).
definition-form
(class).
definition-lambda-list-form
(class).
defmethod-form
(class).
defparameter-form
(class).
defsetf-form
(class).
defstruct-form
(class).
defun-form
(class).
defvar-form
(class).
do*-form
(class).
do-form
(class).
do-loop-form
(class).
dolist-form
(class).
dotimes-form
(class).
dovar-form
(class).
ecase-form
(class).
enclose
(function).
ensure-parsing-environment
(function).
environment
(structure).
environment-p
(function).
error-clause-form
(class).
etypecase-form
(class).
eval-when-form
(class).
fbinding-form
(class).
flet-form
(class).
form
(class).
free-variable-ref
(class).
free-variables
(function).
ftype-declaration-specifier-form
(class).
function-application
(class).
function-definition-form
(class).
function-form
(class).
function-information
(function).
function-name-ref
(class).
functional-operator-application
(class).
functions
(function).
go-form
(class).
go-tag
(class).
handler-bind-form
(class).
handler-case-form
(class).
id-declaration-specifier-form
(class).
if-form
(class).
implicit-progn
(class).
is-environment
(generic function).
iteration-form
(class).
labels-form
(class).
lambda-application
(class).
lambda-form
(class).
let*-form
(class).
let-form
(class).
load-time-value-form
(class).
local-function-application
(class).
local-macro-application
(class).
locally-form
(class).
loop-clause
(class).
loop-form
(class).
loop-subclause
(class).
loop-var-subclause
(class).
macro-application
(class).
macro-definition-form
(class).
macro-name-ref
(class).
macrolet-form
(class).
macros
(function).
map-subforms
(generic function).
multiple-value-call-form
(class).
multiple-value-prog1-form
(class).
mvb-form
(class).
operator
(function).
parse
(generic function).
parse-declaration
(generic function).
parse-form
(generic function).
parse-loop-clause
(generic function).
parse-macro
(function).
parse-struct-option
(generic function).
prog*-form
(class).
prog-form
(class).
progn-form
(class).
progv-form
(class).
quote-form
(class).
restart-bind-form
(class).
restart-case-form
(class).
return-from-form
(class).
set-form
(class).
setf-form
(class).
setq-form
(class).
simple-loop-form
(class).
special-variable-ref
(class).
special-variables
(function).
symbol-macro-ref
(class).
symbol-macrolet-form
(class).
symbol-macros
(function).
symbol-ref
(class).
tag-information
(function).
tagbody-form
(class).
the-form
(class).
throw-form
(class).
type-declaration-specifier-form
(class).
typecase-form
(class).
unwind-protect-form
(class).
variable-information
(function).
variable-ref
(class).
variables
(function).
vbinding-form
(class).
walk
(generic function).
%make-environment
(function).
%make-parsing-environment
(function).
*cl-global-env*
(special variable).
*clast-print-length*
(special variable).
*clast-print-level*
(special variable).
*comma-kind*
(special variable).
*defstruct-options*
(special variable).
*loop-accumulation-clause-keywords*
(special variable).
*loop-arithmetic-clause-keywords*
(special variable).
*loop-keywords*
(special variable).
*sbcl-parsing-env*
(special variable).
+lambda-list-var-type-keywords+
(special variable).
+nil-constant-ref+
(special variable).
+t-constant-ref+
(special variable).
add-function-to-env
(function).
advance
(macro).
application-p
(function).
as-loop-kwd
(function).
as-string
(generic function).
assignment-form-p
(function).
associate-var-types
(function).
ast-parse-error
(condition).
augment-global-environment
(function).
binding-form-p
(function).
block-form-p
(function).
block-name
(generic reader).
(setf block-name)
(generic writer).
block-name-ref-p
(function).
bq-comma
(class).
bq-comma-expr
(generic reader).
bq-comma-kind
(generic reader).
bq-comma-p
(function).
bq-form
(class).
bq-form-expr
(generic reader).
bq-form-p
(function).
build-cons-key-arglist
(function).
build-cons-key-arglist-types
(function).
build-constant-reference
(function).
build-variable-reference
(function).
case-form-p
(function).
catch-form-p
(function).
ccase-form-p
(function).
class-option-subform
(class).
class-option-subform-name
(generic reader).
class-option-subform-p
(function).
class-option-subform-spec
(generic reader).
class-slot-subform
(class).
class-slot-subform-name
(generic reader).
class-slot-subform-options
(generic reader).
class-slot-subform-p
(function).
clast-element
(class).
clause-form
(class).
collect-accumulation-vars
(function).
compose
(function).
compose2
(function).
cond-form-p
(function).
constant-form-p
(function).
constant-or-keyword-p
(function).
constant-ref-p
(function).
continue-loop-parsing
(function).
copy-define-modify-macro-lambda-list
(function).
copy-destructuring-lambda-list
(function).
copy-environment
(function).
copy-generic-function-lambda-list
(function).
copy-lambda-list-item
(function).
copy-lambda-list-var
(function).
copy-macro-lambda-list
(function).
copy-ordinary-lambda-list
(function).
copy-parsing-environment
(function).
copy-specialized-lambda-list
(function).
count-lambda-list-vars
(function).
count-ll-vars
(generic function).
declaim-form
(class).
declaration-form-declarations
(generic reader).
(setf declaration-form-declarations)
(generic writer).
declaration-form-p
(function).
declaration-form-resulting-environment
(generic reader).
(setf declaration-form-resulting-environment)
(generic writer).
declaration-specifier-form-identifier
(generic reader).
(setf declaration-specifier-form-identifier)
(generic writer).
declaration-specifier-form-p
(function).
declaration-specifier-identifier
(generic reader).
(setf declaration-specifier-identifier)
(generic writer).
declaration-type-spec
(generic reader).
(setf declaration-type-spec)
(generic writer).
declaration-type-spec-symbols
(generic function).
(setf declaration-type-spec-symbols)
(generic writer).
def-parse-self-evaluating-method
(macro).
default-structure-fname
(function).
defclass-form-name
(generic reader).
(setf defclass-form-name)
(generic writer).
defclass-form-options
(generic reader).
(setf defclass-form-options)
(generic writer).
defclass-form-slots
(generic reader).
(setf defclass-form-slots)
(generic writer).
defclass-form-superclasses
(generic reader).
(setf defclass-form-superclasses)
(generic writer).
defclass-subform
(class).
defconstant-form-doc-string
(generic reader).
(setf defconstant-form-doc-string)
(generic writer).
defconstant-form-name
(generic reader).
(setf defconstant-form-name)
(generic writer).
defconstant-form-value
(generic reader).
(setf defconstant-form-value)
(generic writer).
defgeneric-form-lambda-list
(generic reader).
(setf defgeneric-form-lambda-list)
(generic writer).
defgeneric-form-methods
(generic reader).
defgeneric-form-name
(generic reader).
(setf defgeneric-form-name)
(generic writer).
defgeneric-form-options
(generic reader).
define-compiler-macro-form-name
(generic reader).
(setf define-compiler-macro-form-name)
(generic writer).
define-method-combination-form-name
(generic reader).
(setf define-method-combination-form-name)
(generic writer).
define-modify-macro-form
(class).
define-modify-macro-form-name
(generic reader).
(setf define-modify-macro-form-name)
(generic writer).
define-modify-macro-form-p
(function).
define-modify-macro-function
(generic reader).
(setf define-modify-macro-function)
(generic writer).
define-modify-macro-function-docstring
(generic reader).
define-modify-macro-lambda-list
(structure).
define-modify-macro-lambda-list-allow-other-keys
(function).
define-modify-macro-lambda-list-auxiliary-vars
(function).
define-modify-macro-lambda-list-keyword-vars
(function).
define-modify-macro-lambda-list-optional-vars
(function).
define-modify-macro-lambda-list-ordinary-vars
(function).
define-modify-macro-lambda-list-p
(function).
define-modify-macro-lambda-list-rest-var
(function).
define-setf-expander-form-name
(generic reader).
(setf define-setf-expander-form-name)
(generic writer).
define-symbol-macro-form-name
(generic reader).
(setf define-symbol-macro-form-name)
(generic writer).
definition-code-form
(class).
definition-code-form-p
(function).
definition-form-name
(generic reader).
(setf definition-form-name)
(generic writer).
definition-form-p
(function).
definition-lambda-list-form-p
(function).
defmacro-form
(class).
defmacro-form-lambda-list
(generic reader).
(setf defmacro-form-lambda-list)
(generic writer).
defmacro-form-name
(generic reader).
(setf defmacro-form-name)
(generic writer).
defmethod-form-lambda-list
(generic reader).
(setf defmethod-form-lambda-list)
(generic writer).
defmethod-form-name
(generic reader).
(setf defmethod-form-name)
(generic writer).
defmethod-form-qualifiers
(generic reader).
(setf defmethod-form-qualifiers)
(generic writer).
defpackage-form
(class).
defpackage-form-name
(generic reader).
(setf defpackage-form-name)
(generic writer).
defparameter-form-doc-string
(generic reader).
(setf defparameter-form-doc-string)
(generic writer).
defparameter-form-name
(generic reader).
(setf defparameter-form-name)
(generic writer).
defparameter-form-value
(generic reader).
(setf defparameter-form-value)
(generic writer).
defsetf-form-name
(generic reader).
(setf defsetf-form-name)
(generic writer).
defstruct-form-name
(generic reader).
(setf defstruct-form-name)
(generic writer).
defstruct-form-options
(generic reader).
(setf defstruct-form-options)
(generic writer).
defstruct-form-slots
(generic reader).
(setf defstruct-form-slots)
(generic writer).
defstruct-subform
(class).
defun-form-lambda-list
(generic reader).
(setf defun-form-lambda-list)
(generic writer).
defun-form-name
(generic reader).
(setf defun-form-name)
(generic writer).
defvar-form-doc-string
(generic reader).
(setf defvar-form-doc-string)
(generic writer).
defvar-form-name
(generic reader).
(setf defvar-form-name)
(generic writer).
defvar-form-value
(generic reader).
(setf defvar-form-value)
(generic writer).
destructuring-lambda-list
(structure).
destructuring-lambda-list-allow-other-keys
(function).
destructuring-lambda-list-auxiliary-vars
(function).
destructuring-lambda-list-keyword-vars
(function).
destructuring-lambda-list-optional-vars
(function).
destructuring-lambda-list-ordinary-vars
(function).
destructuring-lambda-list-p
(function).
destructuring-lambda-list-rest-var
(function).
doc-string
(generic reader).
(setf doc-string)
(generic writer).
ecase-form-p
(function).
ensure-lists
(function).
env-find-block
(function).
env-find-tag
(function).
env-item-info
(function).
environment-env
(reader).
(setf environment-env)
(writer).
environment-global-extensions
(reader).
(setf environment-global-extensions)
(writer).
environment-query-fn
(type).
etypecase-form-p
(function).
eval-when-form-p
(function).
expansion-component
(class).
expansion-component-p
(function).
fbinding-form-p
(function).
finish-loop-parsing
(function).
flatten
(function).
flet-form-p
(function).
form-args
(generic reader).
(setf form-args)
(generic writer).
form-binds
(generic reader).
(setf form-binds)
(generic writer).
form-block
(generic reader).
(setf form-block)
(generic writer).
form-body
(generic reader).
(setf form-body)
(generic writer).
form-body-env
(generic reader).
(setf form-body-env)
(generic writer).
form-catch-tag
(generic reader).
(setf form-catch-tag)
(generic writer).
form-clauses
(generic reader).
(setf form-clauses)
(generic writer).
form-cleanup-forms
(generic reader).
(setf form-cleanup-forms)
(generic writer).
form-condition
(generic reader).
(setf form-condition)
(generic writer).
form-datum
(generic reader).
(setf form-datum)
(generic writer).
form-declarations
(generic reader).
(setf form-declarations)
(generic writer).
form-else
(generic reader).
(setf form-else)
(generic writer).
form-enclosing-block
(generic reader).
(setf form-enclosing-block)
(generic writer).
form-expansion
(generic reader).
(setf form-expansion)
(generic writer).
form-expr
(generic reader).
(setf form-expr)
(generic writer).
form-function
(generic reader).
(setf form-function)
(generic writer).
form-handled-form
(generic reader).
(setf form-handled-form)
(generic writer).
form-lambda-list
(generic reader).
(setf form-lambda-list)
(generic writer).
form-load-time-form
(generic reader).
(setf form-load-time-form)
(generic writer).
form-local
(generic reader).
(setf form-local)
(generic writer).
form-name
(generic reader).
(setf form-name)
(generic writer).
form-operator
(generic reader).
(setf form-operator)
(generic writer).
form-p
(function).
form-places
(generic reader).
(setf form-places)
(generic writer).
form-progn
(generic reader).
(setf form-progn)
(generic writer).
form-protected-form
(generic reader).
(setf form-protected-form)
(generic writer).
form-result
(generic reader).
(setf form-result)
(generic writer).
form-resulting-environment
(generic reader).
(setf form-resulting-environment)
(generic writer).
form-selector
(generic reader).
(setf form-selector)
(generic writer).
form-situations
(generic reader).
(setf form-situations)
(generic writer).
form-source
(generic reader).
(setf form-source)
(generic writer).
form-symbol
(generic reader).
(setf form-symbol)
(generic writer).
form-symbols
(generic reader).
(setf form-symbols)
(generic writer).
form-tag
(generic reader).
(setf form-tag)
(generic writer).
form-tagbody
(generic reader).
(setf form-tagbody)
(generic writer).
form-tags
(generic reader).
(setf form-tags)
(generic writer).
form-test
(generic reader).
(setf form-test)
(generic writer).
form-then
(generic reader).
(setf form-then)
(generic writer).
form-throw-tag
(generic reader).
(setf form-throw-tag)
(generic writer).
form-top
(generic reader).
(setf form-top)
(generic writer).
form-type
(generic reader).
(setf form-type)
(generic writer).
form-type-cast
(generic reader).
(setf form-type-cast)
(generic writer).
form-value
(generic reader).
(setf form-value)
(generic writer).
form-values
(generic reader).
(setf form-values)
(generic writer).
form-values-form
(generic reader).
(setf form-values-form)
(generic writer).
free-variable-ref-p
(function).
ftype-declaration-specifier-form-p
(function).
function-application-p
(function).
function-form-p
(function).
function-name-ref-p
(function).
functional-operator-application-p
(function).
generic-function-lambda-list
(structure).
generic-function-lambda-list-allow-other-keys
(function).
generic-function-lambda-list-auxiliary-vars
(function).
generic-function-lambda-list-keyword-vars
(function).
generic-function-lambda-list-optional-vars
(function).
generic-function-lambda-list-ordinary-vars
(function).
generic-function-lambda-list-p
(function).
generic-function-lambda-list-rest-var
(function).
generic-function-p
(function).
get-implementation-env
(function).
go-form-p
(function).
go-tag-p
(function).
id-declaration-specifier-form-p
(function).
if-form-p
(function).
implementation-env
(function).
implicit-progn-p
(function).
is-class-option-subform
(function).
is-class-slot-subform
(function).
is-clast-element
(function).
is-compound-form
(function).
is-declaration
(function).
is-define-modify-macro-form
(function).
is-form
(function).
is-generic-function
(function).
is-lambda-form
(function).
is-loop-accumulation-keyword
(function).
is-loop-arithmetic-keyword
(function).
is-loop-clause
(function).
is-loop-keyword
(function).
is-loop-subclause
(function).
is-loop-var-subclause
(function).
is-quoted-form
(function).
is-read-only
(generic reader).
(setf is-read-only)
(generic writer).
is-struct-option-subform
(function).
is-struct-slot-subform
(function).
is-type-specifier
(function).
is-type-specifier-form
(function).
labels-form-p
(function).
lambda-application-p
(function).
lambda-definition-form-lambda-list
(generic reader).
(setf lambda-definition-form-lambda-list)
(generic writer).
lambda-form-p
(function).
lambda-list-item
(structure).
lambda-list-item-p
(function).
lambda-list-type
(type).
lambda-list-var
(structure).
lambda-list-var-p
(function).
lambda-list-var-type
(type).
let*-form-p
(function).
let-form-p
(function).
listify
(function).
ll-allow-other-keys
(reader).
ll-auxiliary-vars
(reader).
ll-default-forms
(generic function).
ll-keyword-vars
(reader).
ll-optional-vars
(reader).
ll-ordinary-vars
(reader).
ll-rest-var
(reader).
ll-vars
(generic function).
lli-form
(reader).
lli-item
(reader).
lli-kind
(reader).
lli-name
(function).
llv-form
(function).
llv-item
(function).
llv-kind
(function).
llv-name
(function).
load-time-value-form-p
(function).
local-function-application-p
(function).
local-macro-application-p
(function).
locally-form-p
(function).
loop-clause-name
(generic reader).
loop-clause-subclauses
(generic reader).
loop-clauses
(generic reader).
(setf loop-clauses)
(generic writer).
loop-form-p
(function).
loop-kwd=
(function).
loop-var-of-type-qualifier
(generic reader).
macro-application-p
(function).
macro-lambda-list
(structure).
macro-lambda-list-allow-other-keys
(function).
macro-lambda-list-auxiliary-vars
(function).
macro-lambda-list-body-var
(reader).
macro-lambda-list-env-var
(reader).
macro-lambda-list-keyword-vars
(function).
macro-lambda-list-optional-vars
(function).
macro-lambda-list-ordinary-vars
(function).
macro-lambda-list-p
(function).
macro-lambda-list-rest-var
(function).
macro-lambda-list-whole-var
(reader).
macro-name-ref-p
(function).
macrolet-form-p
(function).
make-class-option-form
(function).
make-define-modify-macro-lambda-list
(function).
make-destructuring-lambda-list
(function).
make-env
(generic function).
make-generic-function-lambda-list
(function).
make-loop-clause
(function).
make-loop-subclause
(function).
make-loop-var-subclause
(function).
make-macro-lambda-list
(function).
make-ordinary-lambda-list
(function).
make-specialized-lambda-list
(function).
make-struct-option-form
(function).
make-struct-slot-form
(function).
mkllitem
(function).
mkllvar
(function).
multiple-value-bind-form-p
(function).
multiple-value-call-form-p
(function).
multiple-value-prog1-form-p
(function).
mvb-form-p
(function).
named-clause-name
(generic function).
named-clause-p
(generic function).
next-form
(macro).
normalize-slot
(function).
ordinary-lambda-list
(structure).
ordinary-lambda-list-allow-other-keys
(function).
ordinary-lambda-list-auxiliary-vars
(function).
ordinary-lambda-list-keyword-vars
(function).
ordinary-lambda-list-optional-vars
(function).
ordinary-lambda-list-ordinary-vars
(function).
ordinary-lambda-list-p
(function).
ordinary-lambda-list-rest-var
(function).
parse-accumulation-clause
(function).
parse-args
(function).
parse-binding-seq
(function).
parse-case-form
(function).
parse-class-option
(generic function).
parse-class-options
(function).
parse-class-slot
(function).
parse-class-slot-option
(generic function).
parse-class-slots
(function).
parse-conditional-clause
(function).
parse-declarations
(function).
parse-dovar-form
(function).
parse-extended-loop
(function).
parse-form-seq
(function).
parse-lambda-form
(function).
parse-lambda-list
(function).
parse-ll
(generic function).
parse-local-function
(function).
parse-local-macro
(function).
parse-loop-compound-forms-clause
(function).
parse-selectable-clauses
(function).
parse-simple-loop
(function).
parse-struct-slot
(function).
parse-struct-slots
(function).
parse-termination-clause
(function).
parsing-environment
(structure).
parsing-environment-blocks
(reader).
(setf parsing-environment-blocks)
(writer).
parsing-environment-enclosing-env
(reader).
(setf parsing-environment-enclosing-env)
(writer).
parsing-environment-env
(function).
(setf parsing-environment-env)
(function).
parsing-environment-global-extensions
(function).
(setf parsing-environment-global-extensions)
(function).
parsing-environment-p
(function).
parsing-environment-tags
(reader).
(setf parsing-environment-tags)
(writer).
pll
(function).
print-element-ast
(function).
prog*-form-p
(function).
prog-form-p
(function).
progn-form-p
(function).
progv-form-p
(function).
quote-form-p
(function).
read-only-p
(generic reader).
(setf read-only-p)
(generic writer).
return-form
(generic reader).
(setf return-form)
(generic writer).
return-from-form-p
(function).
reverse-subclauses
(function).
selection-form
(class).
selection-form-p
(function).
selector-form
(class).
selector-form-selection
(generic reader).
(setf selector-form-selection)
(generic writer).
set-form-p
(function).
setf-form-p
(function).
setq-form-p
(function).
simple-loop-form-p
(function).
special-variable-p
(function).
special-variable-ref-p
(function).
specialized-lambda-list
(structure).
specialized-lambda-list-allow-other-keys
(function).
specialized-lambda-list-auxiliary-vars
(function).
specialized-lambda-list-keyword-vars
(function).
specialized-lambda-list-optional-vars
(function).
specialized-lambda-list-ordinary-vars
(function).
specialized-lambda-list-p
(function).
specialized-lambda-list-rest-var
(function).
start-loop-parsing
(function).
struct-option-subform
(class).
struct-option-subform-arg1
(generic function).
struct-option-subform-args
(generic function).
struct-option-subform-bare-p
(generic function).
struct-option-subform-name
(generic reader).
struct-option-subform-p
(function).
struct-option-subform-spec
(generic reader).
struct-slot-subform
(class).
struct-slot-subform-initform
(generic reader).
struct-slot-subform-name
(generic reader).
struct-slot-subform-other-options
(generic reader).
struct-slot-subform-p
(function).
struct-slot-subform-read-only
(generic reader).
struct-slot-subform-type
(generic reader).
subclauses
(generic reader).
(setf subclauses)
(generic writer).
symbol-macro-p
(function).
symbol-macro-ref-p
(function).
symbol-macrolet-form-p
(function).
symbol-ref-p
(function).
t_lambda-list
(structure).
t_lambda-list-p
(function).
tag-name
(generic reader).
(setf tag-name)
(generic writer).
tagbody-form-p
(function).
tf-declaration-specifier-form
(class).
tf-declaration-specifier-form-p
(function).
the-form-p
(function).
throw-form-p
(function).
type-declaration-specifier-form-p
(function).
type-specifier-form
(class).
type-specifier-form-p
(function).
type-specifier-form-spec
(generic reader).
(setf type-specifier-form-spec)
(generic writer).
typecase-form-p
(function).
unknown-operator-error
(condition).
unknown-operator-name
(generic reader).
unknown-special-operator-error
(condition).
update-global-env
(function).
var-form
(generic reader).
variable-ref-p
(function).
vbinding-form-p
(function).
with-clause-p
(generic function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Create a new environment based on ENV.
The new environment "augmenting" ENV according to the values of the
keyword arguments VARIABLE, SYMBOL-MACRO, FUNCTION, MACRO, TAG, BLOCK,
DECLARE, RESET, and GLOBAL.
The interpretation of the variables is the same of the CLtL2 AUGMENT-ENVIRONMENT version, except for TAG, BLOCK, RESET and GLOBAL.
TAG and BLOCK work similarly to VARIABLE, SYMBOL-MACRO, FUNCTION,
MACRO and DECLARE.
RESET is LW specific but is is unused.
GLOBAL is a boolean, that tells the the function to record the
information about VARIABLE, SYMBOL-MACRO, FUNCTION,
MACRO and DECLARE in the ’gloabl-extensions’ slot of ENV, if this is a
CLAST ENVIRONMENT. This is necessary because the parsing machinery
needs to keep track of non-top-level definitions by the usual ’def*’
forms.
Notes:
The present function is an extension of the CLtL2 AUGMENT-ENVIRONMENT function: it accommodates the handling of "global" definitions and of tags and blocks.
Returns all bound variables present in FORM.
Arguments and Values:
form : a CLAST-ELEMENT.
result : a LIST of SYMBOLS.
Returns all the ’free’ variables present in FORM.
Arguments and Values:
form : a CLAST-ELEMENT.
result : a LIST of SYMBOLS.
Returns all the functions called in FORM.
Arguments and Values:
form : a CLAST-ELEMENT.
result : a LIST of SYMBOLS.
Returns all the macros called in FORM.
Arguments and Values:
form : a CLAST-ELEMENT.
result : a LIST of SYMBOLS.
Returns all the special variables present in FORM.
Arguments and Values:
form : a CLAST-ELEMENT.
result : a LIST of SYMBOLS.
Returns all the symbol-macros present in FORM.
Arguments and Values:
form : a CLAST-ELEMENT.
result : a LIST of SYMBOLS.
Returns all variables present in FORM.
Arguments and Values:
form : a CLAST-ELEMENT.
result : a LIST of SYMBOLS.
Returns a list of ’subforms’ of a given FORM.
The methods of this generic form operate on the different kinds of AST
nodes that are of class FORM. Other Common Lisp objects have NULL
subforms and LISTs are returned as they are.
Arguments and Values:
form : an instance of class FORM or LIST or a Common Lisp object. result : a list of ’subforms’ (or NIL).
loop-clause
)) ¶defstruct-form
)) ¶struct-option-subform
)) ¶struct-slot-subform
)) ¶defclass-form
)) ¶class-option-subform
)) ¶class-slot-subform
)) ¶list
)) ¶simple-loop-form
)) ¶dovar-form
)) ¶def-symbol-ref-form
)) ¶lambda-form
)) ¶defun-form
)) ¶function-definition-form
)) ¶binding-form
)) ¶progn-form
)) ¶block-form
)) ¶tagbody-form
)) ¶declaration-form
)) ¶macro-application
)) ¶application
)) ¶symbol-ref
)) ¶constant-form
)) ¶lexenv
)) ¶parsing-environment
)) ¶environment
)) ¶null
)) ¶Maps the function FUNC over the sub-forms of FORM.
A sequence of type RESULT-TYPE is returned (as per MAP). The mapping is not recursive. Only the ’sequence’ of subforms is mapped over.
loop-clause
) func &key result-type &allow-other-keys) ¶Parses a form in a given ’environment’.
The methods of this generic function return a AST ’node’ (a CLAST-ELEMENT)
and the - possibly modified - ENVIRONMENT.
The methods of PARSE dispatch on ’atomic’ and on ’compound’ (i.e.,
CONS) forms. Atomic forms - numbers, string, arrays, and symbols -
are dealt with directly. Compound forms are dispatched to PARSE-FORM.
Arguments and Values:
form : the form to be parsed.
keys : the collection of key-value pairs passed to the call.
enclosing-form : the form that "contains" the form beling parsed.
environment : the environment in which the form is being parsed; it
defaults to *CL-GLOBAL-ENV*
element : a CLAST-ELEMENT representing the AST node just parsed.
environment1 : the environment resulting from parsing the FORM.
See Also:
*CL-GLOBAL-ENV*
cons
) &rest keys &key environment enclosing-form &allow-other-keys) ¶symbol
) &rest keys &key environment macroexpand enclosing-form is-bare-name &allow-other-keys) ¶array
) &rest keys &key environment macroexpand enclosing-form &allow-other-keys) ¶string
) &rest keys &key environment macroexpand enclosing-form &allow-other-keys) ¶number
) &rest keys &key environment macroexpand enclosing-form &allow-other-keys) ¶comma
) &rest keys &key enclosing-form macroexpand environment &allow-other-keys) ¶(eql declaration)
) d &rest keys &key environment enclosing-form macroexpand) ¶(eql dynamic-extent)
) d &rest keys &key environment enclosing-form macroexpand) ¶(eql special)
) d &rest keys &key environment enclosing-form macroexpand) ¶(eql notinline)
) d &rest keys &key environment enclosing-form macroexpand) ¶(eql inline)
) d &rest keys &key environment enclosing-form macroexpand) ¶(eql optimize)
) d &rest keys &key environment enclosing-form macroexpand) ¶(eql ignorable)
) d &rest keys &key environment enclosing-form macroexpand) ¶(eql ignore)
) d &rest keys &key environment enclosing-form macroexpand) ¶(eql ftype)
) d &rest keys &key environment enclosing-form macroexpand) ¶(eql type)
) d &rest keys &key environment enclosing-form macroexpand) ¶symbol
) d &rest keys &key environment enclosing-form macroexpand) ¶Parses a form in a given ’ENVIRONMENT’ given its ’op’.
The methods of PARSE-FORM descend recursively in a form, by
dispatching on the form ’operator’. Each sub-form is passed,
recursively to PARSE.
Arguments and Values:
form : the form to be parsed.
keys : the collection of key-value pairs passed to the call.
enclosing-form : the form that "contains" the form beling parsed.
environment : the environment in which the form is being parsed; it
defaults to *CL-GLOBAL-ENV*
element : a CLAST-ELEMENT representing the AST node just parsed.
environment1 : the environment resulting from parsing the FORM.
See Also:
*CL-GLOBAL-ENV*, PARSE
(eql loop)
) form &rest keys &key &allow-other-keys) ¶The main entry method for the parsing of LOOP forms.
(eql defclass)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql defstruct)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql define-modify-macro)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql define-compiler-macro)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql defmethod)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql defgeneric)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql defmacro)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql defun)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql defparameter)
) form &rest keys &key enclosing-form macroexpand environment &allow-other-keys) ¶Parsing of DEFPARAMETER forms.
The return values include the augmented environment.
(eql defvar)
) form &rest keys &key enclosing-form macroexpand environment &allow-other-keys) ¶Parsing of DEFVAR forms.
The return values include the augmented environment.
(eql do)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql dotimes)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql dolist)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql setf)
) form &rest keys &key enclosing-form environment &allow-other-keys) ¶(eql setq)
) form &rest keys &key enclosing-form environment &allow-other-keys) ¶(eql the)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql quote)
) form &rest keys &key environment &allow-other-keys) ¶(eql multiple-value-bind)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql macrolet)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql let*)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql let)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql ctypecase)
) form &rest keys &key &allow-other-keys) ¶(eql etypecase)
) form &rest keys &key &allow-other-keys) ¶(eql typecase)
) form &rest keys &key &allow-other-keys) ¶(eql ecase)
) form &rest keys &key &allow-other-keys) ¶(eql ccase)
) form &rest keys &key &allow-other-keys) ¶(eql case)
) form &rest keys &key &allow-other-keys) ¶(eql cond)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql if)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql go)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql lambda)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql function)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql labels)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql flet)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql declaim)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql eval-when)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql prog*)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql prog)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql progv)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql progn)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql declare)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql catch)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql tagbody)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql return-from)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶(eql block)
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶cons
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶symbol
) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys) ¶Parses a single LOOP ’clause’.
The methods of the generic function dispatch on the first argument,
which is EQL-specialized on various LOOP keywords. The FORM is
actually the rmaining LOOP form to be parsed. CLAUSES are the LOOP
clauses parsed so far and ENV is the resulting environment.
The methods return three values
Arguments and Values:
clause-kwd : the LOOP keyword to be dispatched on.
form : the part of the LOOP form to be parsed; (first form) == clause-kwd.
clauses : the clauses parsed so far.
env : the environment to be used while parsing.
keys : a plist of keyword arguments (the next ones)
enclosing-form : the form enclosing the LOOP.
macroexpand : if and how to macroexpand the various (sub)forms.
environment : the environment to be used while parsing (same as env).
parsed-clause : the clause just parsed.
remaining-loop-form : the rest of the LOOP form to be parsed.
new-env : a possibly augmented env.
(eql :thereis)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :never)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :always)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :repeat)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :until)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :while)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :end)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :else)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :then)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :unless)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :when)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :if)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :minimizing)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :minimize)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :maximizing)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :maximize)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :summing)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :sum)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :counting)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :count)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :nconcing)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :nconc)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :appending)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :append)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :collecting)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :collect)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :return)
) form clauses env &rest keys &key enclosing-form macroexpand environment &allow-other-keys) ¶(eql :doing)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :do)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :for)
) form clauses env &rest keys &key enclosing-form macroexpand environment &allow-other-keys) ¶(eql :as)
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :with)
) form clauses env &rest keys &key enclosing-form macroexpand environment &allow-other-keys) ¶(eql :finally)
) form clauses env &rest keys &key enclosing-form macroexpand environment &allow-other-keys) ¶(eql :initially)
) form clauses env &rest keys &key enclosing-form macroexpand environment &allow-other-keys) ¶(eql :named)
) form clauses env &rest keys &key enclosing-form macroexpand environment &allow-other-keys) ¶symbol
) form clauses env &rest keys &key &allow-other-keys) ¶(eql :conc-name)
) conc-name-option struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name) ¶(eql :named)
) named-option struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name) ¶(eql :initial-offset)
) init-offset-option struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name) ¶(eql :type)
) type-option struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name) ¶(eql :include)
) include-option struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name) ¶(eql :print-object)
) printer-option struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name) ¶(eql :print-function)
) printer-option struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name) ¶(eql :predicate)
) predicate-option struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name) ¶(eql :copier)
) copier-option struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name) ¶(eql :constructor)
) cons-option struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name) ¶symbol
) opt struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name) ¶The ’visiting’ engine used to traverse a form.
The WALK generic function methods recursively traverse the tree
corresponding to a form (i.e., CLAST-ELEMENT) using a map/reduce
scheme.
The function MAP-FUN is applied to each (sub)form and their respective subforms are WALKed over. WALK uses MAP-SUBFORMS internally, therefore it generates sequences (of type RESULT-TYPE) as output. Once the traversing of subforms is completed the function REDUCE-FUN is applied, via REDUCE to the resulting sequence.
t_lambda-list
) &rest keys &key result-type environment &allow-other-keys) ¶macro-name-ref
) out) ¶definition-form
) out) ¶constant-form
) out) ¶loop-clause
) stream) ¶quote-form
) out) ¶symbol-macro-ref
) out) ¶variable-ref
) out) ¶special-variable-ref
) out) ¶block-name-ref
) stream) ¶function-name-ref
) out) ¶constant-ref
) out) ¶loop-var-subclause
) stream) ¶free-variable-ref
) out) ¶parsing-environment
) stream) ¶struct-slot-subform
) out) ¶class-slot-subform
) out) ¶type-specifier-form
) stream) ¶The CLAST Environment Structure.
A wrapper around the underlying enviroment data structures.
The APPLICATION Class.
The class representing all ’applications’ in Common Lisp forms.
The ASSIGNMENT-FORM CLass.
The superclass of all ’assignment’ forms.
The BINDING-FORM Class.
The class representing all ’forms’ that bind ’names’.
The BLOCK-FORM Class.
The class of forms that are Common Lisp BLOCKs.
:name
The BLOCK-NAME-REF Class.
The class of references to ’block’ names.
common-lisp
.
:name
The CATCH-FORM Class.
The class of forms that are Common Lisp CATCHes. The slot TAG contains the catch TAG.
:tag
The COND-FORM Class.
A SELECTION-FORM where each ’clause’ is interpreted in the ’cond’ sense.
The CONDITION-CLAUSE-FORM Class.
The CONSTANT-FORM Class.
The class of forms representing ’constants’, e.g., literal numbers.
The CONSTANT-REF Class.
The class of references to ’constants’.
The Declaration Form Class.
The class of all ’declarations’ in Common Lisp.
The DECLARATION-SPECIFIER-FORM Class.
The class of all ’declaration specifiers’ in Common Lisp.
The DEF-SYMBOL-REF-FORM Class.
The superclass of forms defining association to names.
The DEFCLASS-FORM Class.
The DEFVAR-FORM Class.
The DEFGENERIC-FORM Class
The DEFINE-METHOD-COMBINATION-FORM Class.
The DEFINE-SETF-EXPANDER-FORM Class.
The DEFINE-SYMBOL-MACRO-FORM Class.
The DEFINITION-FORM CLass.
The superclass of all ’defining’ forms.
The DEFINITION-LAMBDA-LIST-FORM CLass.
The superclass of all ’defining’ forms that have a ’lambda list’.
:lambda-list
The DEFMETHOD-FORM Class
The DEFPARAMETER-FORM Class.
The DEFSETF-FORM Class.
The DEFSTRUCT-FORM Class.
Instances of the DEFSTRUCT-FORM class are created by parsing (via PARSE) structure definition forms. The parsing of structure definition forms changes the environment, which is returned by PARSE as second value, by adding the declarations of the functions – constructors, copier, predicate – that DEFSTRUCT normally automatically defines.
The DEFUN-FORM Class
The DEFVAR-FORM Class.
:test
:return
The ERROR-CLAUSE-FORM Class.
The EVAL-WHEN-FORM CLass.
:situations
The FBINDING-FORM Class.
The class representing all ’forms’ that bind ’functions’.
The FLET-FORM Class.
The FORM Class.
The top of the FORMs hierarchy.
application
.
assignment-form
.
binding-form
.
block-form
.
bq-comma
.
bq-form
.
catch-form
.
clause-form
.
condition-case-form
.
constant-form
.
declaration-form
.
declaration-specifier-form
.
defclass-subform
.
definition-form
.
defstruct-subform
.
error-clause-form
.
eval-when-form
.
function-form
.
go-form
.
if-form
.
iteration-form
.
load-time-value-form
.
locally-form
.
loop-clause
.
multiple-value-call-form
.
multiple-value-prog1-form
.
progn-form
.
progv-form
.
return-from-form
.
selection-form
.
symbol-ref
.
tagbody-form
.
the-form
.
throw-form
.
type-specifier-form
.
unwind-protect-form
.
common-lisp
.
t
:type
:top
The source form of the ... form.
:source
The FREE-VARIABLE-REF Class.
The class of references to ’variables’ that are ’free’ in a form.
The FTYPE-DECLARATION-SPECIFIER-FORM Class.
The class of all ’ftype declaration specifiers’ in Common Lisp.
(quote ftype)
The FUNCTION-APPLICATION Class.
The class representing all ’regular’ function applications in Common Lisp forms.
The FUNCTION-DEFINITION-FORM CLass.
The FUNCTION-FORM Class.
The instances of this class represent the (FUNCTION <function-name>) forms.
The FUNCTION-NAME-REF Class.
The class of references to ’function’ names.
The Functional Operator Application CLass.
This class represents functional applications where the operator is non-standard with respect to the Common Lisp Standard; i.e., applications where the operator is not a symbol or a lambda expression.
The GO-FORM Class.
The instances of ths class are the forms (GO <tag>).
The GO-TAG Class.
The instances of this represents references to GO tags. I.e., they are essetially SYMBOL-REFs that are found in TAGBODYs and in GO expressions.
common-lisp
.
:tag
The HANDLER-BIND-FORM Class.
The HANDLER-CASE-FORM Class.
The ID-DECLARATION-SPECIFIER-FORM Class.
The class of all ’id declaration specifiers’ in Common Lisp. E.g., OPTIMIZE declarations.
:id
The IF-FORM Class.
Basic conditional IF forms.
The IMPLICIT-PROGN CLass.
A mixin class that is used whenever a form contains an ’implicit progn’.
block-form
.
catch-form
.
clause-form
.
definition-lambda-list-form
.
dovar-form
.
error-clause-form
.
eval-when-form
.
flet-form
.
handler-bind-form
.
labels-form
.
lambda-form
.
let*-form
.
let-form
.
locally-form
.
macrolet-form
.
multiple-value-call-form
.
multiple-value-prog1-form
.
mvb-form
.
progn-form
.
progv-form
.
restart-bind-form
.
simple-loop-form
.
symbol-macrolet-form
.
:body
, :progn
:body-env
The LABELS-FORM Class.
The LAMBDA-APPLICATION Class.
The class representing all anonymous LAMBDA function applications in Common Lisp forms.
The LAMBDA-FORM Class.
The instances of this class represent LAMBDA espressions.
The LET*-FORM Class.
The LET-FORM Class.
The LOAD-TIME-VALUE-FORM CLass.
Representation for LOAD-TIME-VALUE forms.
The LOCALLY-FORM Class.
Representation for LOCALLY forms. Instances of this class contain a list of declarations, accessible via FORMS-DECLARATIONS.
:declarations
The Loop Clause Class.
The class of all the LOOP clause forms.
The LOOP Form Class.
The class that represents all (extended) LOOP forms.
t
:of-type
This slot is read-only.
The MACRO-APPLICATION Class.
The class representing all MACRO applications in Common Lisp forms. The class also inherits the ’expansion’ mixin.
The MACRO-DEFINITION-FORM CLass.
common-lisp
.
t
The MACRO-NAME-REF Class.
The class of references to ’macro’ names.
The MACROLET-FORM Class.
The MULTIPLE-VALUE-CALL-FORM CLass.
Representation for MULTIPLE-VALUE-CALL forms.
:function
The MULTIPLE-VALUE-PROG1-FORM CLass.
Representation for MULTIPLE-VALUE-PROG1 forms.
The MVB-FORM CLass.
Representation for MULTIPLE-VALUE-BINDs forms.
:values-form
The PROG-FORM Class.
See Also:
PROG-FORM
The PROG-FORM Class.
The class of ’prog’ forms. Since it is also a VBINDING-FORM, it also has an associated ’form environment’, accessible via FORM-BODY-ENV.
:body-env
The PROGN-FORM Class.
The instances of this class are (PROGN ...) forms. It assumes IMPLICIT-PROGN but it used for explicit PROGN forms.
The PROGV-FORM Class.
The QUOTE-FORM Class.
The class representing quoted expressions.
The RESTART-BIND-FORM Class.
The RESTART-CASE-FORM Class.
The RETURN-FROM-FORM CLass.
Instances representing RETURN-FROM expressions. THe slots NAME and RESULT represent the syntactic elements of th form, while the ENCLOSING-BLOCK is a link to the actual form where NAME is named.
Notes:
The ENCLOSING-BLOCK slot is currently initialized in a possibly improper way. Do not use.
The SET-FORM Class.
The SETF-FORM Class.
The SET-FORM Class.
An assignment form with a different keyword initializer.
:symbols
The Simple LOOP Form Class.
The class that represents all ’simple’ LOOP forms.
The SPECIAL-VARIABLE-REF Class.
The class of references to ’special variables’.
The SYMBOL-MACRO-REF Class.
The class of references to ’symbol macros’.
The SYMBOL-MACROLET-FORM Class.
The SYMBOL-REF Class.
The class of references to ’names’ (be they variables, functions etc).
The TAGBODY-FORM Class.
The class of instances of ’tagbody’ forms. The slot TAGBODY (accessed via FORM-BODY) contains the list of subforms, including the ’go-tags’ that are parsed specially. The ’go-tags’ are held in the TAGS slot and accessed via the FORM-TAGS accessor.
The THE-FORM Class.
The class of instances of the ’the’ form. The accessors FORM-TYPE-CAST and FORM-EXPR can be used to access the parts of this class instances.
The THROW-FORM Class.
The TYPE-DECLARATION-SPECIFIER-FORM Class.
The class of all ’type declaration specifiers’ in Common Lisp.
(quote type)
The UNWIND-PROTECT-FORM Class
The VARIABLE-REF Class.
The class of references to ’variables’.
The VBINDING-FORM Class.
The class representing all ’forms’ that bind ’variables’.
This variable contains a designator for the ’global environment’.
The designator may be different from the actual implementation’s
global environment designator (although NIL is valid), in order to
avoid clobbering it during the the parsing process.
This variable is special and it is necessary to handle the
situation of definitions (e.g., via DEFUN) done in a non empty lexical
environment.
See also:
Hyperspec 3.1.1.1
The set, as a list, of (known and standard) ’defstruct’ options.
Set (as a vector) of all the LOOP keywords, plus some extra ones.
The semi-standard SQL querying keywords (RECORD, RECORDS, TUPLE and TUPLES) and other ones are included in the set.
A representation of a reference to NIL.
A representation of a reference to T.
Associates the types to vars in a destructuring LOOP declaration.
In LOOP you can have variable iterations of the form:
FOR (v1 v2 (v31 v32 . v3r) v4) OF-TYPE (fixnum fixnum (character . T) zot)
= (foo 42)
This function would take (v1 v2 (v31 v32 . v3r) v4)
and (t1 t2 (t31 t32 . t3r) t4) and it would return a list of
pairs ((t1 v1) (t2 v2) (t31 v31) (t32 v32) (t3r v3r) (t4 v4)).
Examples:
CLAST 5 > (associate-var-types ’(v1 v2 (v31 v32 . v3r) v4) ’(fixnum fixnum (character ugo . T) zot))
((FIXNUM V1) (FIXNUM V2) (CHARACTER V31) (UGO V32) (T V3R) (ZOT V4))
Notes:
This is an internal utility function that does not do any proper error
checking yet.
Return a function that is the composition of several ones.
If no arguments are passed to COMPOSE the result is essentially IDENTITY.
env
.
tags
.
Prints the AST tree rooted at ELEMENT.
Returns a new environment with a new global extension environment.
The new environment is essentially a copy of ENV. The function is
used to properly "set" the global environment while parsing certain
forms that must create subenvironments, e.g., FLET.
The protocol must be carefully followed as there are no programmatic
APIs/macros easing this sort of ’stack-faking’.
This is a destructive function.
Return a string representation of FORM.
class-slot-subform
)) ¶struct-slot-subform
)) ¶quote-form
)) ¶block-name-ref
)) ¶type-specifier-form
)) ¶macro-name-ref
)) ¶function-name-ref
)) ¶symbol-macro-ref
)) ¶special-variable-ref
)) ¶free-variable-ref
)) ¶constant-ref
)) ¶variable-ref
)) ¶constant-form
)) ¶block-form
)) ¶automatically generated reader method
name
.
block-form
)) ¶automatically generated writer method
name
.
class-option-subform
)) ¶automatically generated reader method
name
.
class-option-subform
)) ¶automatically generated reader method
spec
.
class-slot-subform
)) ¶automatically generated reader method
name
.
class-slot-subform
)) ¶automatically generated reader method
(eql &body)
) (ll macro-lambda-list
)) ¶(eql &environment)
) (ll macro-lambda-list
)) ¶(eql &whole)
) (ll macro-lambda-list
)) ¶(eql &aux)
) (ll destructuring-lambda-list
)) ¶(eql &key)
) (ll destructuring-lambda-list
)) ¶(eql &rest)
) (ll destructuring-lambda-list
)) ¶(eql &optional)
) (ll destructuring-lambda-list
)) ¶(eql it.unimib.disco.ma.cl.util.clast::&reqvar)
) (ll destructuring-lambda-list
)) ¶(eql &allow-other-keys)
) (ll t_lambda-list
)) ¶(eql &body)
) (ll t_lambda-list
)) ¶(eql &environment)
) (ll t_lambda-list
)) ¶(eql &whole)
) (ll t_lambda-list
)) ¶(eql &aux)
) (ll t_lambda-list
)) ¶(eql &key)
) (ll t_lambda-list
)) ¶(eql &rest)
) (ll t_lambda-list
)) ¶(eql &optional)
) (ll t_lambda-list
)) ¶(eql it.unimib.disco.ma.cl.util.clast::&reqvar)
) (ll t_lambda-list
)) ¶symbol
) (lli lambda-list-item
)) ¶declaration-form
)) ¶automatically generated reader method
declaration-form
)) ¶automatically generated writer method
declaration-form
)) ¶automatically generated reader method
declaration-form
)) ¶automatically generated writer method
declaration-specifier-form
)) ¶automatically generated reader method
declaration-specifier-form
)) ¶automatically generated writer method
declaration-specifier-form
)) ¶automatically generated reader method
declaration-specifier-form
)) ¶automatically generated writer method
tf-declaration-specifier-form
)) ¶automatically generated reader method
tf-declaration-specifier-form
)) ¶automatically generated writer method
id-declaration-specifier-form
)) ¶tf-declaration-specifier-form
)) ¶automatically generated reader method
tf-declaration-specifier-form
)) ¶automatically generated writer method
defclass-form
)) ¶automatically generated reader method
name
.
defclass-form
)) ¶automatically generated writer method
name
.
defclass-form
)) ¶automatically generated reader method
defclass-form
)) ¶automatically generated writer method
defclass-form
)) ¶automatically generated reader method
defclass-form
)) ¶automatically generated writer method
defclass-form
)) ¶automatically generated reader method
defclass-form
)) ¶automatically generated writer method
defconstant-form
)) ¶automatically generated reader method
defconstant-form
)) ¶automatically generated writer method
defconstant-form
)) ¶automatically generated reader method
name
.
defconstant-form
)) ¶automatically generated writer method
name
.
defconstant-form
)) ¶automatically generated reader method
defconstant-form
)) ¶automatically generated writer method
defgeneric-form
)) ¶automatically generated reader method
defgeneric-form
)) ¶automatically generated writer method
defgeneric-form
)) ¶automatically generated reader method
defmethod-form
)) ¶automatically generated reader method
name
.
defgeneric-form
)) ¶automatically generated reader method
name
.
defmethod-form
)) ¶automatically generated writer method
name
.
defgeneric-form
)) ¶automatically generated writer method
name
.
defgeneric-form
)) ¶automatically generated reader method
define-compiler-macro-form
)) ¶automatically generated reader method
name
.
define-compiler-macro-form
)) ¶automatically generated writer method
name
.
define-method-combination-form
)) ¶automatically generated reader method
name
.
define-method-combination-form
)) ¶automatically generated writer method
name
.
define-modify-macro-form
)) ¶automatically generated reader method
name
.
define-modify-macro-form
)) ¶automatically generated writer method
name
.
define-modify-macro-form
)) ¶automatically generated reader method
fun
.
define-modify-macro-form
)) ¶automatically generated writer method
fun
.
define-modify-macro-form
)) ¶automatically generated reader method
define-setf-expander-form
)) ¶automatically generated reader method
name
.
define-setf-expander-form
)) ¶automatically generated writer method
name
.
define-symbol-macro-form
)) ¶automatically generated reader method
name
.
define-symbol-macro-form
)) ¶automatically generated writer method
name
.
definition-form
)) ¶automatically generated reader method
name
.
definition-form
)) ¶automatically generated writer method
name
.
defmacro-form
)) ¶automatically generated reader method
defmacro-form
)) ¶automatically generated writer method
defmacro-form
)) ¶automatically generated reader method
name
.
defmacro-form
)) ¶automatically generated writer method
name
.
defmethod-form
)) ¶automatically generated reader method
defmethod-form
)) ¶automatically generated writer method
defmethod-form
)) ¶automatically generated reader method
name
.
defmethod-form
)) ¶automatically generated writer method
name
.
defmethod-form
)) ¶automatically generated reader method
defmethod-form
)) ¶automatically generated writer method
defpackage-form
)) ¶automatically generated reader method
name
.
defpackage-form
)) ¶automatically generated writer method
name
.
defparameter-form
)) ¶automatically generated reader method
defparameter-form
)) ¶automatically generated writer method
defparameter-form
)) ¶automatically generated reader method
name
.
defparameter-form
)) ¶automatically generated writer method
name
.
defparameter-form
)) ¶automatically generated reader method
defparameter-form
)) ¶automatically generated writer method
defsetf-form
)) ¶automatically generated reader method
name
.
defsetf-form
)) ¶automatically generated writer method
name
.
defstruct-form
)) ¶automatically generated reader method
name
.
defstruct-form
)) ¶automatically generated writer method
name
.
defstruct-form
)) ¶automatically generated reader method
defstruct-form
)) ¶automatically generated writer method
defstruct-form
)) ¶automatically generated reader method
defstruct-form
)) ¶automatically generated writer method
defun-form
)) ¶automatically generated reader method
defun-form
)) ¶automatically generated writer method
defun-form
)) ¶automatically generated reader method
name
.
defun-form
)) ¶automatically generated writer method
name
.
defvar-form
)) ¶automatically generated reader method
defvar-form
)) ¶automatically generated writer method
defvar-form
)) ¶automatically generated reader method
name
.
defvar-form
)) ¶automatically generated writer method
name
.
defvar-form
)) ¶automatically generated reader method
defvar-form
)) ¶automatically generated writer method
def-symbol-ref-form
)) ¶automatically generated reader method
def-symbol-ref-form
)) ¶automatically generated writer method
error-clause-form
)) ¶automatically generated reader method
lambda-form
)) ¶automatically generated reader method
application
)) ¶automatically generated reader method
args
.
error-clause-form
)) ¶automatically generated writer method
lambda-form
)) ¶automatically generated writer method
application
)) ¶automatically generated writer method
args
.
binding-form
)) ¶automatically generated reader method
binding-form
)) ¶automatically generated writer method
return-from-form
)) ¶automatically generated reader method
return-from-form
)) ¶automatically generated writer method
tagbody-form
)) ¶automatically generated reader method
implicit-progn
)) ¶automatically generated reader method
tagbody-form
)) ¶automatically generated writer method
implicit-progn
)) ¶automatically generated writer method
loop-form
)) ¶automatically generated reader method
prog-form
)) ¶automatically generated reader method
implicit-progn
)) ¶