The clast Reference Manual

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.

Table of Contents


1 Introduction


2 Systems

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


2.1 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.

Author

Marco Antoniotti

License

BSD

Source

clast.asd.

Child Components

3 Modules

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


3.1 clast/utilities

Dependency

clast-package.lisp (file).

Source

clast.asd.

Parent Component

clast (system).

Child Components

3.2 clast/impl-dependent

Dependencies
Source

clast.asd.

Parent Component

clast (system).

Child Component

clast-sbcl.lisp (file).


4 Files

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


4.1 Lisp


4.1.1 clast/clast.asd

Source

clast.asd.

Parent Component

clast (system).

ASDF Systems

clast.


4.1.2 clast/clast-package.lisp

Source

clast.asd.

Parent Component

clast (system).

Packages

it.unimib.disco.ma.cl.util.clast.


4.1.3 clast/clast-elements.lisp

Dependency

clast-package.lisp (file).

Source

clast.asd.

Parent Component

clast (system).

Public Interface
Internals

4.1.4 clast/clast-defclass-elements.lisp

Dependency

clast-elements.lisp (file).

Source

clast.asd.

Parent Component

clast (system).

Public Interface
Internals

4.1.5 clast/clast-defstruct-elements.lisp

Dependency

clast-elements.lisp (file).

Source

clast.asd.

Parent Component

clast (system).

Public Interface
Internals

4.1.6 clast/clast-loop-elements.lisp

Dependency

clast-elements.lisp (file).

Source

clast.asd.

Parent Component

clast (system).

Public Interface
Internals

4.1.7 clast/clast-bq-elements.lisp

Dependency

clast-elements.lisp (file).

Source

clast.asd.

Parent Component

clast (system).

Public Interface
Internals

4.1.8 clast/clast-parse-protocol.lisp

Dependency

clast-package.lisp (file).

Source

clast.asd.

Parent Component

clast (system).

Public Interface
Internals

4.1.9 clast/clast-printing.lisp

Dependencies
Source

clast.asd.

Parent Component

clast (system).

Public Interface
Internals

4.1.10 clast/utilities/lambda-list-parsing.lisp

Source

clast.asd.

Parent Component

utilities (module).

Internals

4.1.11 clast/utilities/kitchen-sink.lisp

Source

clast.asd.

Parent Component

utilities (module).

Internals

4.1.12 clast/env.lisp

Dependency

clast-package.lisp (file).

Source

clast.asd.

Parent Component

clast (system).

Public Interface
Internals

4.1.13 clast/impl-dependent/clast-sbcl.lisp

Source

clast.asd.

Parent Component

impl-dependent (module).

Public Interface
Internals

4.1.14 clast/env-queries.lisp

Dependency

impl-dependent (module).

Source

clast.asd.

Parent Component

clast (system).

Internals

4.1.15 clast/parse-lambda-lists.lisp

Dependencies
Source

clast.asd.

Parent Component

clast (system).

Internals

parse-lambda-list (function).


4.1.16 clast/parse.lisp

Dependencies
Source

clast.asd.

Parent Component

clast (system).

Public Interface
Internals

4.1.17 clast/parse-constants.lisp

Dependency

parse.lisp (file).

Source

clast.asd.

Parent Component

clast (system).

Internals

4.1.18 clast/parse-defs.lisp

Dependency

parse.lisp (file).

Source

clast.asd.

Parent Component

clast (system).

Public Interface

4.1.19 clast/parse-defstruct.lisp

Dependencies
Source

clast.asd.

Parent Component

clast (system).

Public Interface
Internals

4.1.20 clast/parse-defclass.lisp

Dependencies
Source

clast.asd.

Parent Component

clast (system).

Public Interface

parse-form (method).

Internals

4.1.21 clast/parse-loop.lisp

Dependencies
Source

clast.asd.

Parent Component

clast (system).

Public Interface
Internals

4.1.22 clast/walk.lisp

Dependencies
Source

clast.asd.

Parent Component

clast (system).

Public Interface

4.1.23 clast/tools.lisp

Dependency

parse.lisp (file).

Source

clast.asd.

Parent Component

clast (system).

Internals

print-element-ast (function).


5 Packages

Packages are listed by definition order.


5.1 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.

Source

clast-package.lisp.

Nicknames
  • clast
  • cl.util.clast
Use List

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 Macros

Macro: define-declaration (decl-name lambda-list &body forms)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.


6.1.2 Ordinary functions

Function: arguments (form)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse.lisp.

Function: augment-environment (env &rest keys &key variable symbol-macro function macro tag block declare reset global &allow-other-keys)

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.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Function: block-information (block-name &optional env)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Function: bound-variables (form)

Returns all bound variables present in FORM.

Arguments and Values:

form : a CLAST-ELEMENT.
result : a LIST of SYMBOLS.

Package

it.unimib.disco.ma.cl.util.clast.

Source

walk.lisp.

Function: declaration-information (decl-name &optional env)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Function: enclose (lambda-expression &optional env)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Function: ensure-parsing-environment (&optional env)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Function: environment-p (object)
Package

it.unimib.disco.ma.cl.util.clast.

Source

env.lisp.

Function: free-variables (form)

Returns all the ’free’ variables present in FORM.

Arguments and Values:

form : a CLAST-ELEMENT.
result : a LIST of SYMBOLS.

Package

it.unimib.disco.ma.cl.util.clast.

Source

walk.lisp.

Function: function-information (f &optional env)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Function: functions (form)

Returns all the functions called in FORM.

Arguments and Values:

form : a CLAST-ELEMENT.
result : a LIST of SYMBOLS.

Package

it.unimib.disco.ma.cl.util.clast.

Source

walk.lisp.

Function: macros (form)

Returns all the macros called in FORM.

Arguments and Values:

form : a CLAST-ELEMENT.
result : a LIST of SYMBOLS.

Package

it.unimib.disco.ma.cl.util.clast.

Source

walk.lisp.

Function: operator (form)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse.lisp.

Function: parse-macro (name lambda-list body &optional env)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Function: special-variables (form)

Returns all the special variables present in FORM.

Arguments and Values:

form : a CLAST-ELEMENT.
result : a LIST of SYMBOLS.

Package

it.unimib.disco.ma.cl.util.clast.

Source

walk.lisp.

Function: symbol-macros (form)

Returns all the symbol-macros present in FORM.

Arguments and Values:

form : a CLAST-ELEMENT.
result : a LIST of SYMBOLS.

Package

it.unimib.disco.ma.cl.util.clast.

Source

walk.lisp.

Function: tag-information (tag-name &optional env)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Function: variable-information (variable &optional env)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Function: variables (form)

Returns all variables present in FORM.

Arguments and Values:

form : a CLAST-ELEMENT.
result : a LIST of SYMBOLS.

Package

it.unimib.disco.ma.cl.util.clast.

Source

walk.lisp.


6.1.3 Generic functions

Generic Function: clast-element-subforms (form)

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).

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Methods
Method: clast-element-subforms ((bqc bq-comma))
Source

clast-bq-elements.lisp.

Method: clast-element-subforms ((bqf bq-form))
Source

clast-bq-elements.lisp.

Method: clast-element-subforms ((lc loop-clause))
Source

clast-loop-elements.lisp.

Method: clast-element-subforms ((df defstruct-form))
Source

clast-defstruct-elements.lisp.

Method: clast-element-subforms ((sos struct-option-subform))
Source

clast-defstruct-elements.lisp.

Method: clast-element-subforms ((sos struct-slot-subform))
Source

clast-defstruct-elements.lisp.

Method: clast-element-subforms ((df defclass-form))
Source

clast-defclass-elements.lisp.

Method: clast-element-subforms ((sos class-option-subform))
Source

clast-defclass-elements.lisp.

Method: clast-element-subforms ((sos class-slot-subform))
Source

clast-defclass-elements.lisp.

Method: clast-element-subforms (ce)
Method: clast-element-subforms ((ce list))
Method: clast-element-subforms ((slf loop-form))
Method: clast-element-subforms ((slf simple-loop-form))
Method: clast-element-subforms ((df do-form))
Method: clast-element-subforms ((df dovar-form))
Method: clast-element-subforms ((df def-symbol-ref-form))
Method: clast-element-subforms ((lf lambda-form))
Method: clast-element-subforms ((df defun-form))
Method: clast-element-subforms ((fdf function-definition-form))
Method: clast-element-subforms ((f binding-form))
Method: clast-element-subforms ((b progn-form))
Method: clast-element-subforms ((b block-form))
Method: clast-element-subforms ((gf go-form))
Method: clast-element-subforms ((tb tagbody-form))
Method: clast-element-subforms ((d declaration-form))
Method: clast-element-subforms ((l let-form))
Method: clast-element-subforms ((a macro-application))
Method: clast-element-subforms ((a application))
Method: clast-element-subforms ((ce symbol-ref))
Method: clast-element-subforms ((ce constant-form))
Generic Function: is-environment (e)
Package

it.unimib.disco.ma.cl.util.clast.

Source

env.lisp.

Methods
Method: is-environment ((e lexenv))
Source

clast-sbcl.lisp.

Method: is-environment ((e parsing-environment))
Source

clast-sbcl.lisp.

Method: is-environment ((ew environment))
Method: is-environment ((ew null))
Method: is-environment (ew)
Generic Function: map-subforms (form func &key result-type &allow-other-keys)

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.

Package

it.unimib.disco.ma.cl.util.clast.

Source

walk.lisp.

Methods
Method: map-subforms ((ce loop-clause) func &key result-type &allow-other-keys)
Method: map-subforms ((ce let*-form) func &key result-type &allow-other-keys)
Method: map-subforms ((ce let-form) func &key result-type &allow-other-keys)
Method: map-subforms ((ce form) func &key result-type &allow-other-keys)
Generic Function: parse (form &rest keys &key enclosing-form macroexpand environment is-bare-name &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*

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-parse-protocol.lisp.

Methods
Method: parse ((form cons) &rest keys &key environment enclosing-form &allow-other-keys)
Source

parse.lisp.

Method: parse ((s symbol) &rest keys &key environment macroexpand enclosing-form is-bare-name &allow-other-keys)
Source

parse.lisp.

Method: parse ((form array) &rest keys &key environment macroexpand enclosing-form &allow-other-keys)
Source

parse.lisp.

Method: parse ((form string) &rest keys &key environment macroexpand enclosing-form &allow-other-keys)
Source

parse.lisp.

Method: parse ((form number) &rest keys &key environment macroexpand enclosing-form &allow-other-keys)
Source

parse.lisp.

Method: parse ((form comma) &rest keys &key enclosing-form macroexpand environment &allow-other-keys)
Source

clast-sbcl.lisp.

Generic Function: parse-declaration (decl-identifier declaration &rest keys &key environment enclosing-form macroexpand)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse.lisp.

Methods
Method: parse-declaration ((di (eql declaration)) d &rest keys &key environment enclosing-form macroexpand)
Method: parse-declaration ((di (eql dynamic-extent)) d &rest keys &key environment enclosing-form macroexpand)
Method: parse-declaration ((di (eql special)) d &rest keys &key environment enclosing-form macroexpand)
Method: parse-declaration ((di (eql notinline)) d &rest keys &key environment enclosing-form macroexpand)
Method: parse-declaration ((di (eql inline)) d &rest keys &key environment enclosing-form macroexpand)
Method: parse-declaration ((di (eql optimize)) d &rest keys &key environment enclosing-form macroexpand)
Method: parse-declaration ((di (eql ignorable)) d &rest keys &key environment enclosing-form macroexpand)
Method: parse-declaration ((di (eql ignore)) d &rest keys &key environment enclosing-form macroexpand)
Method: parse-declaration ((di (eql ftype)) d &rest keys &key environment enclosing-form macroexpand)
Method: parse-declaration ((di (eql type)) d &rest keys &key environment enclosing-form macroexpand)
Method: parse-declaration ((di symbol) d &rest keys &key environment enclosing-form macroexpand)
Generic Function: parse-form (op form &rest keys &key enclosing-form macroexpand environment &allow-other-keys)

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

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-parse-protocol.lisp.

Methods
Method: parse-form ((op (eql loop)) form &rest keys &key &allow-other-keys)

The main entry method for the parsing of LOOP forms.

Source

parse-loop.lisp.

Method: parse-form ((op (eql defclass)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse-defclass.lisp.

Method: parse-form ((op (eql defstruct)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse-defstruct.lisp.

Method: parse-form ((op (eql define-modify-macro)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse-defs.lisp.

Method: parse-form ((op (eql define-compiler-macro)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse-defs.lisp.

Method: parse-form ((op (eql defmethod)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse-defs.lisp.

Method: parse-form ((op (eql defgeneric)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse-defs.lisp.

Method: parse-form ((op (eql defmacro)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse-defs.lisp.

Method: parse-form ((op (eql defun)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse-defs.lisp.

Method: parse-form ((op (eql defparameter)) form &rest keys &key enclosing-form macroexpand environment &allow-other-keys)

Parsing of DEFPARAMETER forms.

The return values include the augmented environment.

Source

parse-defs.lisp.

Method: parse-form ((op (eql defvar)) form &rest keys &key enclosing-form macroexpand environment &allow-other-keys)

Parsing of DEFVAR forms.

The return values include the augmented environment.

Source

parse-defs.lisp.

Method: parse-form ((op (eql do)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql dotimes)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql dolist)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql setf)) form &rest keys &key enclosing-form environment &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql setq)) form &rest keys &key enclosing-form environment &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql the)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql quote)) form &rest keys &key environment &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql multiple-value-bind)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql macrolet)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql let*)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql let)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql ctypecase)) form &rest keys &key &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql etypecase)) form &rest keys &key &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql typecase)) form &rest keys &key &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql ecase)) form &rest keys &key &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql ccase)) form &rest keys &key &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql case)) form &rest keys &key &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql cond)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql if)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql go)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql lambda)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql function)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql labels)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql flet)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql declaim)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql eval-when)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql prog*)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql prog)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql progv)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql progn)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql declare)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql catch)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql tagbody)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql return-from)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op (eql block)) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op cons) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Method: parse-form ((op symbol) form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Source

parse.lisp.

Generic Function: parse-loop-clause (clause-kwd form clauses env &rest keys &key enclosing-form macroexpand environment &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.

Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-loop.lisp.

Methods
Method: parse-loop-clause ((loop-kwd (eql :thereis)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :never)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :always)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :repeat)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :until)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :while)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :end)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :else)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :then)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :unless)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :when)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :if)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :minimizing)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :minimize)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :maximizing)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :maximize)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :summing)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :sum)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :counting)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :count)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :nconcing)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :nconc)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :appending)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :append)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :collecting)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :collect)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :return)) form clauses env &rest keys &key enclosing-form macroexpand environment &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :doing)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :do)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :for)) form clauses env &rest keys &key enclosing-form macroexpand environment &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :as)) form clauses env &rest keys &key &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :with)) form clauses env &rest keys &key enclosing-form macroexpand environment &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :finally)) form clauses env &rest keys &key enclosing-form macroexpand environment &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :initially)) form clauses env &rest keys &key enclosing-form macroexpand environment &allow-other-keys)
Method: parse-loop-clause ((loop-kwd (eql :named)) form clauses env &rest keys &key enclosing-form macroexpand environment &allow-other-keys)
Method: parse-loop-clause ((clause-kwd symbol) form clauses env &rest keys &key &allow-other-keys)
Generic Function: parse-struct-option (opt-name opt struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-defstruct.lisp.

Methods
Method: parse-struct-option ((named-kwd (eql :conc-name)) conc-name-option struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name)
Method: parse-struct-option ((named-kwd (eql :named)) named-option struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name)
Method: parse-struct-option ((initial-offset-kwd (eql :initial-offset)) init-offset-option struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name)
Method: parse-struct-option ((type-kwd (eql :type)) type-option struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name)
Method: parse-struct-option ((include-kwd (eql :include)) include-option struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name)
Method: parse-struct-option ((printer-opt-kwd (eql :print-object)) printer-option struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name)
Method: parse-struct-option ((printer-opt-kwd (eql :print-function)) printer-option struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name)
Method: parse-struct-option ((predicate-kwd (eql :predicate)) predicate-option struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name)
Method: parse-struct-option ((copier-kwd (eql :copier)) copier-option struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name)
Method: parse-struct-option ((cons-kwd (eql :constructor)) cons-option struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name)
Method: parse-struct-option ((opt-name symbol) opt struct-name env parsed-slots &key default-constructor-name default-copier-name default-predicate-name)
Generic Function: walk (clast-element &rest keys &key key result-type map-fun reduce-fun initial-value environment op-first map reduce &allow-other-keys)

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.

Package

it.unimib.disco.ma.cl.util.clast.

Source

walk.lisp.

Methods
Method: walk (ce &rest keys &key result-type environment &allow-other-keys)
Method: walk ((ce t_lambda-list) &rest keys &key result-type environment &allow-other-keys)
Method: walk ((ce form) &rest keys &key result-type key map reduce initial-value environment op-first &allow-other-keys)

6.1.4 Standalone methods

Method: print-object ((vr macro-name-ref) out)
Source

clast-printing.lisp.

Method: print-object ((df definition-form) out)
Source

clast-printing.lisp.

Method: print-object ((cf constant-form) out)
Source

clast-printing.lisp.

Method: print-object ((lc loop-clause) stream)
Source

clast-loop-elements.lisp.

Method: print-object ((qf quote-form) out)
Source

clast-printing.lisp.

Method: print-object ((vr symbol-macro-ref) out)
Source

clast-printing.lisp.

Method: print-object ((gt go-tag) stream)
Source

clast-printing.lisp.

Method: print-object ((vr variable-ref) out)
Source

clast-printing.lisp.

Method: print-object ((f form) out)
Source

clast-printing.lisp.

Method: print-object ((vr special-variable-ref) out)
Source

clast-printing.lisp.

Method: print-object ((bn block-name-ref) stream)
Source

clast-printing.lisp.

Method: print-object ((vr function-name-ref) out)
Source

clast-printing.lisp.

Method: print-object ((vr constant-ref) out)
Source

clast-printing.lisp.

Method: print-object ((lvc loop-var-subclause) stream)
Source

clast-loop-elements.lisp.

Method: print-object ((vr free-variable-ref) out)
Source

clast-printing.lisp.

Method: print-object ((pe parsing-environment) stream)
Source

clast-sbcl.lisp.

Method: print-object ((sss struct-slot-subform) out)
Source

clast-printing.lisp.

Method: print-object ((dss class-slot-subform) out)
Source

clast-printing.lisp.

Method: print-object ((tsf type-specifier-form) stream)
Source

clast-printing.lisp.


6.1.5 Structures

Structure: environment

The CLAST Environment Structure.

A wrapper around the underlying enviroment data structures.

Package

it.unimib.disco.ma.cl.util.clast.

Source

env.lisp.

Direct superclasses

structure-object.

Direct subclasses

parsing-environment.

Direct methods
Direct slots
Slot: env
Readers

environment-env.

Writers

(setf environment-env).

Slot: global-extensions
Readers

environment-global-extensions.

Writers

(setf environment-global-extensions).


6.1.6 Classes

Class: application

The APPLICATION Class.

The class representing all ’applications’ in Common Lisp forms.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

form.

Direct subclasses
Direct methods
Direct slots
Slot: operator
Initargs

:operator

Readers

form-operator.

Writers

(setf form-operator).

Slot: args
Initargs

:arguments

Readers

form-args.

Writers

(setf form-args).

Class: assignment-form

The ASSIGNMENT-FORM CLass.

The superclass of all ’assignment’ forms.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

form.

Direct subclasses
Direct methods
Direct slots
Slot: places
Initargs

:places

Readers

form-places.

Writers

(setf form-places).

Slot: vals
Initargs

:values

Readers

form-values.

Writers

(setf form-values).

Class: binding-form

The BINDING-FORM Class.

The class representing all ’forms’ that bind ’names’.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

form.

Direct subclasses
Direct methods
Direct slots
Slot: binds
Initargs

:binds

Readers

form-binds.

Writers

(setf form-binds).

Class: block-form

The BLOCK-FORM Class.

The class of forms that are Common Lisp BLOCKs.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: name
Initargs

:name

Readers
Writers
Class: block-name-ref

The BLOCK-NAME-REF Class.

The class of references to ’block’ names.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

symbol-ref.

Direct methods
Direct slots
Slot: symbol
Package

common-lisp.

Initargs

:name

Readers

form-name.

Writers

(setf form-name).

Class: case-form
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

selector-form.

Class: catch-form

The CATCH-FORM Class.

The class of forms that are Common Lisp CATCHes. The slot TAG contains the catch TAG.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: tag
Initargs

:tag

Readers

form-catch-tag.

Writers

(setf form-catch-tag).

Class: ccase-form
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

selector-form.

Class: cond-form

The COND-FORM Class.

A SELECTION-FORM where each ’clause’ is interpreted in the ’cond’ sense.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

selection-form.

Class: condition-case-form

The CONDITION-CLAUSE-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

form.

Direct subclasses
Direct methods
Direct slots
Slot: handled-form
Initargs

:handled-form

Readers

form-handled-form.

Writers

(setf form-handled-form).

Slot: clauses
Initargs

:clauses

Readers

form-clauses.

Writers

(setf form-clauses).

Class: constant-form

The CONSTANT-FORM Class.

The class of forms representing ’constants’, e.g., literal numbers.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

form.

Direct subclasses
Direct methods
Direct slots
Slot: value
Initargs

:value

Readers

form-value.

Writers

(setf form-value).

Class: constant-ref

The CONSTANT-REF Class.

The class of references to ’constants’.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Direct methods
Class: declaration-form

The Declaration Form Class.

The class of all ’declarations’ in Common Lisp.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

form.

Direct subclasses

declaim-form.

Direct methods
Direct slots
Slot: decls
Initargs

:declarations

Readers

declaration-form-declarations.

Writers

(setf declaration-form-declarations).

Slot: new-env
Initargs

:resulting-environment

Readers
Writers
Class: declaration-specifier-form

The DECLARATION-SPECIFIER-FORM Class.

The class of all ’declaration specifiers’ in Common Lisp.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

form.

Direct subclasses
Direct methods
Direct slots
Slot: identifier
Readers
Writers
Class: def-symbol-ref-form

The DEF-SYMBOL-REF-FORM Class.

The superclass of forms defining association to names.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

definition-form.

Direct subclasses

defvar-form.

Direct methods
Direct slots
Slot: value
Initargs

:value

Readers

form-value.

Writers

(setf form-value).

Slot: doc-string
Initform

""

Initargs

:doc-string

Readers

doc-string.

Writers

(setf doc-string).

Class: defclass-form

The DEFCLASS-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

definition-form.

Direct methods
Direct slots
Slot: name
Readers

defclass-form-name.

Writers

(setf defclass-form-name).

Slot: superclasses
Initargs

:superclasses

Readers

defclass-form-superclasses.

Writers

(setf defclass-form-superclasses).

Slot: slots
Initargs

:slots

Readers

defclass-form-slots.

Writers

(setf defclass-form-slots).

Slot: options
Initargs

:options

Readers

defclass-form-options.

Writers

(setf defclass-form-options).

Class: defconstant-form

The DEFVAR-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

definition-form.

Direct methods
Direct slots
Slot: name
Readers

defconstant-form-name.

Writers

(setf defconstant-form-name).

Slot: value
Initform

(error "no initial value provided to defconstant.")

Readers

defconstant-form-value.

Writers

(setf defconstant-form-value).

Slot: doc-string
Readers

defconstant-form-doc-string.

Writers

(setf defconstant-form-doc-string).

Class: defgeneric-form

The DEFGENERIC-FORM Class

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

definition-lambda-list-form.

Direct methods
Direct slots
Slot: name
Readers

defgeneric-form-name.

Writers

(setf defgeneric-form-name).

Slot: lambda-list
Readers

defgeneric-form-lambda-list.

Writers

(setf defgeneric-form-lambda-list).

Slot: options
Type

list

Initargs

:options

Readers

defgeneric-form-options.

Writers

This slot is read-only.

Slot: methods
Type

list

Initargs

:methods

Readers

defgeneric-form-methods.

Writers

This slot is read-only.

Class: define-compiler-macro-form
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

defmacro-form.

Direct methods
Direct slots
Slot: name
Readers

define-compiler-macro-form-name.

Writers

(setf define-compiler-macro-form-name).

Class: define-method-combination-form

The DEFINE-METHOD-COMBINATION-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

definition-form.

Direct methods
Direct slots
Slot: name
Readers

define-method-combination-form-name.

Writers

(setf define-method-combination-form-name).

Class: define-setf-expander-form

The DEFINE-SETF-EXPANDER-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

definition-form.

Direct methods
Direct slots
Slot: name
Readers

define-setf-expander-form-name.

Writers

(setf define-setf-expander-form-name).

Class: define-symbol-macro-form

The DEFINE-SYMBOL-MACRO-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

definition-form.

Direct methods
Direct slots
Slot: name
Readers

define-symbol-macro-form-name.

Writers

(setf define-symbol-macro-form-name).

Class: definition-form

The DEFINITION-FORM CLass.

The superclass of all ’defining’ forms.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

form.

Direct subclasses
Direct methods
Direct slots
Slot: name
Initargs

:name

Readers
Writers
Class: definition-lambda-list-form

The DEFINITION-LAMBDA-LIST-FORM CLass.

The superclass of all ’defining’ forms that have a ’lambda list’.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Direct subclasses
Direct methods
Direct slots
Slot: lambda-list
Initargs

:lambda-list

Readers

lambda-definition-form-lambda-list.

Writers

(setf lambda-definition-form-lambda-list).

Class: defmethod-form

The DEFMETHOD-FORM Class

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

definition-code-form.

Direct methods
Direct slots
Slot: name
Readers
Writers
Slot: lambda-list
Readers

defmethod-form-lambda-list.

Writers

(setf defmethod-form-lambda-list).

Slot: qualifiers
Initargs

:qualifiers

Readers

defmethod-form-qualifiers.

Writers

(setf defmethod-form-qualifiers).

Class: defparameter-form

The DEFPARAMETER-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

defvar-form.

Direct methods
Direct slots
Slot: name
Readers

defparameter-form-name.

Writers

(setf defparameter-form-name).

Slot: value
Initform

(error "no initial value provided to defparameter.")

Readers

defparameter-form-value.

Writers

(setf defparameter-form-value).

Slot: doc-string
Readers

defparameter-form-doc-string.

Writers

(setf defparameter-form-doc-string).

Class: defsetf-form

The DEFSETF-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

definition-form.

Direct methods
Direct slots
Slot: name
Readers

defsetf-form-name.

Writers

(setf defsetf-form-name).

Class: defstruct-form

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.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

definition-form.

Direct methods
Direct slots
Slot: name
Readers

defstruct-form-name.

Writers

(setf defstruct-form-name).

Slot: options
Initargs

:options

Readers

defstruct-form-options.

Writers

(setf defstruct-form-options).

Slot: slots
Initargs

:slots

Readers

defstruct-form-slots.

Writers

(setf defstruct-form-slots).

Class: defun-form

The DEFUN-FORM Class

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

definition-code-form.

Direct methods
Direct slots
Slot: name
Readers

defun-form-name.

Writers

(setf defun-form-name).

Slot: lambda-list
Readers

defun-form-lambda-list.

Writers

(setf defun-form-lambda-list).

Class: defvar-form

The DEFVAR-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

def-symbol-ref-form.

Direct subclasses

defparameter-form.

Direct methods
Direct slots
Slot: name
Readers

defvar-form-name.

Writers

(setf defvar-form-name).

Slot: value
Readers

defvar-form-value.

Writers

(setf defvar-form-value).

Slot: doc-string
Readers

defvar-form-doc-string.

Writers

(setf defvar-form-doc-string).

Class: do*-form
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

do-loop-form.

Class: do-form
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

do-loop-form.

Direct methods

clast-element-subforms.

Class: do-loop-form
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

dovar-form.

Direct subclasses
Direct methods
Direct slots
Slot: test
Initargs

:test

Readers

form-test.

Writers

(setf form-test).

Class: dolist-form
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

dovar-form.

Class: dotimes-form
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

dovar-form.

Class: dovar-form
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Direct subclasses
Direct methods
Direct slots
Slot: return-form
Initargs

:return

Readers

return-form.

Writers

(setf return-form).

Class: ecase-form
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

selector-form.

Class: error-clause-form

The ERROR-CLAUSE-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: datum
Initargs

:datum

Readers

form-datum.

Writers

(setf form-datum).

Slot: lambda-list
Initargs

:args, :lambda-list

Readers
Writers
Class: etypecase-form
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

selector-form.

Class: eval-when-form

The EVAL-WHEN-FORM CLass.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: situations
Initargs

:situations

Readers

form-situations.

Writers

(setf form-situations).

Class: fbinding-form

The FBINDING-FORM Class.

The class representing all ’forms’ that bind ’functions’.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

binding-form.

Direct subclasses
Class: flet-form

The FLET-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Class: form

The FORM Class.

The top of the FORMs hierarchy.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

clast-element.

Direct subclasses
Direct methods
Direct slots
Slot: type
Package

common-lisp.

Initform

t

Initargs

:type

Readers

form-type.

Writers

(setf form-type).

Slot: top
Initargs

:top

Readers

form-top.

Writers

(setf form-top).

Slot: source

The source form of the ... form.

Initargs

:source

Readers

form-source.

Writers

(setf form-source).

Class: free-variable-ref

The FREE-VARIABLE-REF Class.

The class of references to ’variables’ that are ’free’ in a form.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

variable-ref.

Direct methods
Class: ftype-declaration-specifier-form

The FTYPE-DECLARATION-SPECIFIER-FORM Class.

The class of all ’ftype declaration specifiers’ in Common Lisp.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

tf-declaration-specifier-form.

Direct slots
Slot: identifier
Initform

(quote ftype)

Class: function-application

The FUNCTION-APPLICATION Class.

The class representing all ’regular’ function applications in Common Lisp forms.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

application.

Direct subclasses
Class: function-definition-form

The FUNCTION-DEFINITION-FORM CLass.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

lambda-form.

Direct subclasses

macro-definition-form.

Direct methods

clast-element-subforms.

Class: function-form

The FUNCTION-FORM Class.

The instances of this class represent the (FUNCTION <function-name>) forms.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

form.

Direct subclasses

lambda-form.

Direct methods
Direct slots
Slot: funct
Initargs

:name, :function

Readers

form-function.

Writers

(setf form-function).

Slot: type
Package

common-lisp.

Initform

(quote function)

Class: function-name-ref

The FUNCTION-NAME-REF Class.

The class of references to ’function’ names.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

symbol-ref.

Direct methods
Class: functional-operator-application

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.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

function-application.

Class: go-form

The GO-FORM Class.

The instances of ths class are the forms (GO <tag>).

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

form.

Direct methods
Direct slots
Slot: name
Initargs

:tag, :name

Readers
Writers
Slot: enclosing-tagbody
Initargs

:enclosing-tagbody

Readers

form-tagbody.

Writers

(setf form-tagbody).

Class: 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.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

symbol-ref.

Direct methods
Direct slots
Slot: symbol
Package

common-lisp.

Initargs

:tag

Readers

tag-name.

Writers

(setf tag-name).

Class: handler-bind-form

The HANDLER-BIND-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Class: handler-case-form

The HANDLER-CASE-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

condition-case-form.

Class: id-declaration-specifier-form

The ID-DECLARATION-SPECIFIER-FORM Class.

The class of all ’id declaration specifiers’ in Common Lisp. E.g., OPTIMIZE declarations.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

declaration-specifier-form.

Direct methods

declaration-type-spec-symbols.

Direct slots
Slot: identifier
Initargs

:id

Class: if-form

The IF-FORM Class.

Basic conditional IF forms.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

form.

Direct methods
Direct slots
Slot: condition
Package

common-lisp.

Initargs

:condition

Readers

form-condition.

Writers

(setf form-condition).

Slot: then
Initargs

:then

Readers

form-then.

Writers

(setf form-then).

Slot: else
Initargs

:else

Readers

form-else.

Writers

(setf form-else).

Class: implicit-progn

The IMPLICIT-PROGN CLass.

A mixin class that is used whenever a form contains an ’implicit progn’.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

clast-element.

Direct subclasses
Direct methods
Direct slots
Slot: iprogn-forms
Initargs

:body, :progn

Readers
Writers
Slot: body-env
Initargs

:body-env

Readers

form-body-env.

Writers

(setf form-body-env).

Class: iteration-form
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

form.

Direct subclasses
Class: labels-form

The LABELS-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Class: lambda-application

The LAMBDA-APPLICATION Class.

The class representing all anonymous LAMBDA function applications in Common Lisp forms.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

function-application.

Class: lambda-form

The LAMBDA-FORM Class.

The instances of this class represent LAMBDA espressions.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Direct subclasses

function-definition-form.

Direct methods
Direct slots
Slot: lambda-list
Initargs

:lambda-list, :args

Readers
Writers
Slot: funct
Initform

(quote lambda)

Class: let*-form

The LET*-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Direct methods

map-subforms.

Class: let-form

The LET-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Direct methods
Class: load-time-value-form

The LOAD-TIME-VALUE-FORM CLass.

Representation for LOAD-TIME-VALUE forms.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

form.

Direct methods
Direct slots
Slot: ltv-form
Initargs

:load-time-form

Readers

form-load-time-form.

Writers

(setf form-load-time-form).

Slot: read-only
Initargs

:is-read-only, :read-only-p

Readers
Writers
Class: local-function-application
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

function-application.

Class: local-macro-application
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

macro-application.

Class: locally-form

The LOCALLY-FORM Class.

Representation for LOCALLY forms. Instances of this class contain a list of declarations, accessible via FORMS-DECLARATIONS.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: decls
Initargs

:declarations

Readers

form-declarations.

Writers

(setf form-declarations).

Class: loop-clause

The Loop Clause Class.

The class of all the LOOP clause forms.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-loop-elements.lisp.

Direct superclasses

form.

Direct subclasses

loop-subclause.

Direct methods
Direct slots
Slot: name
Type

(or symbol string)

Initargs

:name

Readers
Writers

This slot is read-only.

Slot: subclauses
Type

list

Initargs

:subclauses

Readers
Writers

(setf subclauses).

Class: loop-form

The LOOP Form Class.

The class that represents all (extended) LOOP forms.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: clauses
Initargs

:loop-clauses

Readers

loop-clauses.

Writers

(setf loop-clauses).

Slot: body-env
Initargs

:body-env

Readers

form-body-env.

Writers

(setf form-body-env).

Class: loop-subclause
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-loop-elements.lisp.

Direct superclasses

loop-clause.

Direct subclasses

loop-var-subclause.

Class: loop-var-subclause
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-loop-elements.lisp.

Direct superclasses

loop-subclause.

Direct methods
Direct slots
Slot: name
Type

(or symbol cons)

Initargs

:var

Readers

var-form.

Writers

This slot is read-only.

Slot: of-type
Initform

t

Initargs

:of-type

Readers

loop-var-of-type-qualifier.

Writers

This slot is read-only.

Class: macro-application

The MACRO-APPLICATION Class.

The class representing all MACRO applications in Common Lisp forms. The class also inherits the ’expansion’ mixin.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Direct subclasses

local-macro-application.

Direct methods

clast-element-subforms.

Class: macro-definition-form

The MACRO-DEFINITION-FORM CLass.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

function-definition-form.

Direct slots
Slot: type
Package

common-lisp.

Initform

t

Class: macro-name-ref

The MACRO-NAME-REF Class.

The class of references to ’macro’ names.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

symbol-ref.

Direct methods
Class: macrolet-form

The MACROLET-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Class: multiple-value-call-form

The MULTIPLE-VALUE-CALL-FORM CLass.

Representation for MULTIPLE-VALUE-CALL forms.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: funct
Initargs

:function

Readers

form-function.

Writers

(setf form-function).

Class: multiple-value-prog1-form

The MULTIPLE-VALUE-PROG1-FORM CLass.

Representation for MULTIPLE-VALUE-PROG1 forms.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Class: mvb-form

The MVB-FORM CLass.

Representation for MULTIPLE-VALUE-BINDs forms.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: values-form
Initargs

:values-form

Readers

form-values-form.

Writers

(setf form-values-form).

Class: prog*-form

The PROG-FORM Class.

See Also:

PROG-FORM

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

prog-form.

Class: 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.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Direct subclasses

prog*-form.

Direct methods
Direct slots
Slot: body-env
Initargs

:body-env

Readers

form-body-env.

Writers

(setf form-body-env).

Class: progn-form

The PROGN-FORM Class.

The instances of this class are (PROGN ...) forms. It assumes IMPLICIT-PROGN but it used for explicit PROGN forms.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Direct methods

clast-element-subforms.

Class: progv-form

The PROGV-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: symbols
Initargs

:symbols

Readers

form-symbols.

Writers

(setf form-symbols).

Slot: vals
Initargs

:values

Readers

form-values.

Writers

(setf form-values).

Class: quote-form

The QUOTE-FORM Class.

The class representing quoted expressions.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

constant-form.

Direct methods
Class: restart-bind-form

The RESTART-BIND-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Class: restart-case-form

The RESTART-CASE-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

condition-case-form.

Class: return-from-form

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.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

form.

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

form-name.

Writers

(setf form-name).

Slot: result
Initargs

:result

Readers

form-result.

Writers

(setf form-result).

Slot: enclosing-block
Initargs

:block

Readers
Writers
Class: set-form

The SET-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

assignment-form.

Class: setf-form

The SETF-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

assignment-form.

Class: setq-form

The SET-FORM Class.

An assignment form with a different keyword initializer.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

assignment-form.

Direct slots
Slot: places
Initargs

:symbols

Class: simple-loop-form

The Simple LOOP Form Class.

The class that represents all ’simple’ LOOP forms.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Direct methods

clast-element-subforms.

Class: special-variable-ref

The SPECIAL-VARIABLE-REF Class.

The class of references to ’special variables’.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

variable-ref.

Direct methods
Class: symbol-macro-ref

The SYMBOL-MACRO-REF Class.

The class of references to ’symbol macros’.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Direct methods
Class: symbol-macrolet-form

The SYMBOL-MACROLET-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses
Class: symbol-ref

The SYMBOL-REF Class.

The class of references to ’names’ (be they variables, functions etc).

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

form.

Direct subclasses
Direct methods
Direct slots
Slot: symbol
Package

common-lisp.

Initargs

:symbol

Readers

form-symbol.

Writers

(setf form-symbol).

Slot: local
Initargs

:local

Readers

form-local.

Writers

(setf form-local).

Class: tagbody-form

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.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

form.

Direct subclasses

prog-form.

Direct methods
Direct slots
Slot: tagbody
Package

common-lisp.

Initargs

:body

Readers

form-body.

Writers

(setf form-body).

Slot: tags
Initargs

:tags

Readers

form-tags.

Writers

(setf form-tags).

Class: the-form

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.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

form.

Direct methods
Direct slots
Slot: type-cast
Initargs

:type

Readers

form-type-cast.

Writers

(setf form-type-cast).

Slot: form
Initargs

:expr

Readers

form-expr.

Writers

(setf form-expr).

Class: throw-form

The THROW-FORM Class.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

form.

Direct methods
Direct slots
Slot: tag
Initargs

:tag

Readers

form-throw-tag.

Writers

(setf form-throw-tag).

Slot: result
Initargs

:result

Readers

form-result.

Writers

(setf form-result).

Class: type-declaration-specifier-form

The TYPE-DECLARATION-SPECIFIER-FORM Class.

The class of all ’type declaration specifiers’ in Common Lisp.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

tf-declaration-specifier-form.

Direct slots
Slot: identifier
Initform

(quote type)

Class: typecase-form
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

selector-form.

Class: unwind-protect-form

The UNWIND-PROTECT-FORM Class

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

form.

Direct methods
Direct slots
Slot: protected-form
Initargs

:protected-form

Readers

form-protected-form.

Writers

(setf form-protected-form).

Slot: cleanup-forms
Initargs

:cleanup-forms

Readers

form-cleanup-forms.

Writers

(setf form-cleanup-forms).

Class: variable-ref

The VARIABLE-REF Class.

The class of references to ’variables’.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

symbol-ref.

Direct subclasses
Direct methods
Class: vbinding-form

The VBINDING-FORM Class.

The class representing all ’forms’ that bind ’variables’.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Direct superclasses

binding-form.

Direct subclasses

6.2 Internals


6.2.1 Special variables

Special Variable: *cl-global-env*

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

Package

it.unimib.disco.ma.cl.util.clast.

Source

env.lisp.

Special Variable: *clast-print-length*
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-printing.lisp.

Special Variable: *clast-print-level*
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-printing.lisp.

Special Variable: *comma-kind*
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Special Variable: *defstruct-options*

The set, as a list, of (known and standard) ’defstruct’ options.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-defstruct-elements.lisp.

Special Variable: *loop-accumulation-clause-keywords*
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-loop-elements.lisp.

Special Variable: *loop-arithmetic-clause-keywords*
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-loop-elements.lisp.

Special Variable: *loop-keywords*

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.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-loop-elements.lisp.

Special Variable: *sbcl-parsing-env*
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Special Variable: +lambda-list-var-type-keywords+
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Special Variable: +nil-constant-ref+

A representation of a reference to NIL.

Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-constants.lisp.

Special Variable: +t-constant-ref+

A representation of a reference to T.

Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-constants.lisp.


6.2.2 Macros

Macro: advance (forms-place &optional n)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-loop.lisp.

Macro: def-parse-self-evaluating-method (self-evaluating-type)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse.lisp.

Macro: next-form (forms-place &optional next-token)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-loop.lisp.


6.2.3 Ordinary functions

Function: %make-environment (&optional env global-extensions)
Package

it.unimib.disco.ma.cl.util.clast.

Source

env.lisp.

Function: %make-parsing-environment (&optional env global-extensions enclosing-env)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Function: add-function-to-env (env fname args-decl return-type)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-defstruct.lisp.

Function: application-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: as-loop-kwd (kwd)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-loop-elements.lisp.

Function: assignment-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: associate-var-types (var-tree type-decls-tree)

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.

Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-loop.lisp.

Function: augment-global-environment (env &rest keys &key variable symbol-macro function macro declare)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Function: binding-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: block-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: block-name-ref-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: bq-comma-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-bq-elements.lisp.

Function: bq-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-bq-elements.lisp.

Function: build-cons-key-arglist (parsed-slots)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-defstruct.lisp.

Function: build-cons-key-arglist-types (parsed-slots)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-defstruct.lisp.

Function: build-constant-reference (v kind local-p decls &optional enclosing-form environment)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse.lisp.

Function: build-variable-reference (v kind local-p decls &optional enclosing-form environment)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse.lisp.

Function: case-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: catch-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: ccase-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: class-option-subform-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-defclass-elements.lisp.

Function: class-slot-subform-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-defclass-elements.lisp.

Function: collect-accumulation-vars (loop-form &optional acc-vars)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-loop.lisp.

Function: compose (&optional f1 &rest funs)

Return a function that is the composition of several ones.

If no arguments are passed to COMPOSE the result is essentially IDENTITY.

Package

it.unimib.disco.ma.cl.util.clast.

Source

kitchen-sink.lisp.

Function: compose2 (f g)
Package

it.unimib.disco.ma.cl.util.clast.

Source

kitchen-sink.lisp.

Function: cond-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: constant-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: constant-or-keyword-p (s &optional env)
Package

it.unimib.disco.ma.cl.util.clast.

Source

env-queries.lisp.

Function: constant-ref-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: continue-loop-parsing (loop-forms clauses env keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-loop.lisp.

Function: copy-define-modify-macro-lambda-list (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: copy-destructuring-lambda-list (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: copy-environment (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

env.lisp.

Function: copy-generic-function-lambda-list (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: copy-lambda-list-item (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: copy-lambda-list-var (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: copy-macro-lambda-list (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: copy-ordinary-lambda-list (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: copy-parsing-environment (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Function: copy-specialized-lambda-list (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: count-lambda-list-vars (ll)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: declaration-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: declaration-specifier-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: default-structure-fname (prefix fname &optional package)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-defstruct.lisp.

Function: define-modify-macro-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: define-modify-macro-lambda-list-allow-other-keys (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: define-modify-macro-lambda-list-auxiliary-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: define-modify-macro-lambda-list-keyword-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: define-modify-macro-lambda-list-optional-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: define-modify-macro-lambda-list-ordinary-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: define-modify-macro-lambda-list-p (object)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: define-modify-macro-lambda-list-rest-var (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: definition-code-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: definition-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: definition-lambda-list-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: destructuring-lambda-list-allow-other-keys (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: destructuring-lambda-list-auxiliary-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: destructuring-lambda-list-keyword-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: destructuring-lambda-list-optional-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: destructuring-lambda-list-ordinary-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: destructuring-lambda-list-p (object)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: destructuring-lambda-list-rest-var (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: ecase-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: ensure-lists (l)
Package

it.unimib.disco.ma.cl.util.clast.

Source

kitchen-sink.lisp.

Function: env-find-block (b-name env)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Function: env-find-tag (t-name env)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Function: env-item-info (accessor item env)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Reader: environment-env (instance)
Writer: (setf environment-env) (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

env.lisp.

Target Slot

env.

Reader: environment-global-extensions (instance)
Writer: (setf environment-global-extensions) (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

env.lisp.

Target Slot

global-extensions.

Function: etypecase-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: eval-when-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: expansion-component-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: fbinding-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: finish-loop-parsing (clauses env keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-loop.lisp.

Function: flatten (l)
Package

it.unimib.disco.ma.cl.util.clast.

Source

kitchen-sink.lisp.

Function: flet-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: free-variable-ref-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: ftype-declaration-specifier-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: function-application-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: function-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: function-name-ref-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: functional-operator-application-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: generic-function-lambda-list-allow-other-keys (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: generic-function-lambda-list-auxiliary-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: generic-function-lambda-list-keyword-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: generic-function-lambda-list-optional-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: generic-function-lambda-list-ordinary-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: generic-function-lambda-list-p (object)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: generic-function-lambda-list-rest-var (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: generic-function-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

kitchen-sink.lisp.

Function: get-implementation-env (env)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Function: go-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: go-tag-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: id-declaration-specifier-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: if-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: implementation-env (ew)
Package

it.unimib.disco.ma.cl.util.clast.

Source

env.lisp.

Function: implicit-progn-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: is-class-option-subform (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-defclass-elements.lisp.

Function: is-class-slot-subform (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-defclass-elements.lisp.

Function: is-clast-element (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: is-compound-form (form)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse.lisp.

Function: is-declaration (form)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse.lisp.

Function: is-define-modify-macro-form (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: is-form (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: is-generic-function (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

kitchen-sink.lisp.

Function: is-lambda-form (form)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse.lisp.

Function: is-loop-accumulation-keyword (form)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-loop-elements.lisp.

Function: is-loop-arithmetic-keyword (form)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-loop-elements.lisp.

Function: is-loop-clause (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-loop-elements.lisp.

Function: is-loop-keyword (form)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-loop-elements.lisp.

Function: is-loop-subclause (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-loop-elements.lisp.

Function: is-loop-var-subclause (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-loop-elements.lisp.

Function: is-quoted-form (form)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse.lisp.

Function: is-struct-option-subform (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-defstruct-elements.lisp.

Function: is-struct-slot-subform (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-defstruct-elements.lisp.

Function: is-type-specifier (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-loop.lisp.

Function: is-type-specifier-form (form)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: labels-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: lambda-application-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: lambda-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: lambda-list-item-p (object)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: lambda-list-var-p (object)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: let*-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: let-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: listify (l)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse.lisp.

Reader: ll-allow-other-keys (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Target Slot

allow-other-keys.

Reader: ll-auxiliary-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Target Slot

auxiliary-vars.

Reader: ll-keyword-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Target Slot

keyword-vars.

Reader: ll-optional-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Target Slot

optional-vars.

Reader: ll-ordinary-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Target Slot

ordinary-vars.

Reader: ll-rest-var (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Target Slot

rest-var.

Reader: lli-form (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Target Slot

form.

Reader: lli-item (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Target Slot

item.

Reader: lli-kind (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Target Slot

kind.

Function: lli-name (lli)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: llv-form (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: llv-item (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: llv-kind (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: llv-name (lli)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: load-time-value-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: local-function-application-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: local-macro-application-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: locally-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: loop-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: loop-kwd= (loop-kwd kwd)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-loop-elements.lisp.

Function: macro-application-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: macro-lambda-list-allow-other-keys (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: macro-lambda-list-auxiliary-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Reader: macro-lambda-list-body-var (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Target Slot

body-var.

Reader: macro-lambda-list-env-var (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Target Slot

env-var.

Function: macro-lambda-list-keyword-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: macro-lambda-list-optional-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: macro-lambda-list-ordinary-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: macro-lambda-list-p (object)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: macro-lambda-list-rest-var (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Reader: macro-lambda-list-whole-var (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Target Slot

whole-var.

Function: macro-name-ref-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: macrolet-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: make-class-option-form (option-name &rest spec)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-defclass-elements.lisp.

Function: make-define-modify-macro-lambda-list (&optional ordinary-vars optional-vars rest-var)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: make-destructuring-lambda-list (&optional ordinary-vars optional-vars rest-var keyword-vars allow-other-keys auxiliary-vars)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: make-generic-function-lambda-list (&optional ordinary-vars optional-vars rest-var keyword-vars allow-other-keys auxiliary-vars)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: make-loop-clause (clause-name subclauses &optional source top)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-loop-elements.lisp.

Function: make-loop-subclause (clause-name subclauses &optional source top)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-loop-elements.lisp.

Function: make-loop-var-subclause (name of-type subclauses &optional top source)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-loop-elements.lisp.

Function: make-macro-lambda-list (&optional whole-var env-var ordinary-vars optional-vars rest-var body-var keyword-vars allow-other-keys auxiliary-vars)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: make-ordinary-lambda-list (&optional ordinary-vars optional-vars rest-var keyword-vars allow-other-keys auxiliary-vars)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: make-specialized-lambda-list (&optional ordinary-vars optional-vars rest-var keyword-vars allow-other-keys auxiliary-vars)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: make-struct-option-form (option-name &rest spec)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-defstruct-elements.lisp.

Function: make-struct-slot-form (slot-name initform &rest keys &key type read-only &allow-other-keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-defstruct-elements.lisp.

Function: mkllitem (item kind &optional form)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: mkllvar (item kind &optional form)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: multiple-value-bind-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: multiple-value-call-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: multiple-value-prog1-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: mvb-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: normalize-slot (slot)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-defstruct.lisp.

Function: ordinary-lambda-list-allow-other-keys (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: ordinary-lambda-list-auxiliary-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: ordinary-lambda-list-keyword-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: ordinary-lambda-list-optional-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: ordinary-lambda-list-ordinary-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: ordinary-lambda-list-p (object)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: ordinary-lambda-list-rest-var (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: parse-accumulation-clause (acc-kwd form clauses env keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-loop.lisp.

Function: parse-args (args &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse.lisp.

Function: parse-binding-seq (bindings &rest keys &key environment enclosing-form macroexpand &allow-other-keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse.lisp.

Function: parse-case-form (case-form-class form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse.lisp.

Function: parse-class-options (class-name options env keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-defclass.lisp.

Function: parse-class-slot (class-name class-form slot env keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-defclass.lisp.

Function: parse-class-slots (class-name class-form slots env keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-defclass.lisp.

Function: parse-conditional-clause (cond-kwd cond-form clauses env keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-loop.lisp.

Function: parse-declarations (decls env enclosing-form macroexpand)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse.lisp.

Function: parse-dovar-form (dovar-kwd dovar-class form &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse.lisp.

Function: parse-extended-loop (loop-form &rest keys &key enclosing-form macroexpand environment &allow-other-keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-loop.lisp.

Function: parse-form-seq (forms &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse.lisp.

Function: parse-lambda-form (lf &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse.lisp.

Function: parse-lambda-list (ll-type lambda-list &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-lambda-lists.lisp.

Function: parse-local-function (f &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse.lisp.

Function: parse-local-macro (m &rest keys &key enclosing-form environment macroexpand &allow-other-keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse.lisp.

Function: parse-loop-compound-forms-clause (cfc-kwd form clauses env keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-loop.lisp.

Function: parse-selectable-clauses (sel-clause-forms sel-clauses env keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-loop.lisp.

Function: parse-simple-loop (loop-form &rest keys &key enclosing-form macroexpand environment &allow-other-keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-loop.lisp.

Function: parse-struct-slot (struct-name slot env keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-defstruct.lisp.

Function: parse-struct-slots (struct-name conc-name slots env keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-defstruct.lisp.

Function: parse-termination-clause (term-kwd form clauses env keys)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-loop.lisp.

Reader: parsing-environment-blocks (instance)
Writer: (setf parsing-environment-blocks) (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Target Slot

blocks.

Reader: parsing-environment-enclosing-env (instance)
Writer: (setf parsing-environment-enclosing-env) (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Target Slot

enclosing-env.

Function: parsing-environment-env (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Function: (setf parsing-environment-env) (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Function: parsing-environment-global-extensions (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Function: (setf parsing-environment-global-extensions) (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Function: parsing-environment-p (object)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Reader: parsing-environment-tags (instance)
Writer: (setf parsing-environment-tags) (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Target Slot

tags.

Function: pll (ll-type ll &optional recur)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: print-element-ast (element &optional out level)

Prints the AST tree rooted at ELEMENT.

Package

it.unimib.disco.ma.cl.util.clast.

Source

tools.lisp.

Function: prog*-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: prog-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: progn-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: progv-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: quote-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: return-from-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: reverse-subclauses (lc)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-loop-elements.lisp.

Function: selection-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: set-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: setf-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: setq-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: simple-loop-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: special-variable-p (v &optional env)
Package

it.unimib.disco.ma.cl.util.clast.

Source

env-queries.lisp.

Function: special-variable-ref-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: specialized-lambda-list-allow-other-keys (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: specialized-lambda-list-auxiliary-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: specialized-lambda-list-keyword-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: specialized-lambda-list-optional-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: specialized-lambda-list-ordinary-vars (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: specialized-lambda-list-p (object)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: specialized-lambda-list-rest-var (instance)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: start-loop-parsing (loop-form env keys clauses)
Package

it.unimib.disco.ma.cl.util.clast.

Source

parse-loop.lisp.

Function: struct-option-subform-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-defstruct-elements.lisp.

Function: struct-slot-subform-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-defstruct-elements.lisp.

Function: symbol-macro-p (s &optional env)
Package

it.unimib.disco.ma.cl.util.clast.

Source

env-queries.lisp.

Function: symbol-macro-ref-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: symbol-macrolet-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: symbol-ref-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: t_lambda-list-p (object)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Function: tagbody-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: tf-declaration-specifier-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: the-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: throw-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: type-declaration-specifier-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: type-specifier-form-p (form)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: typecase-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: update-global-env (env global-env)

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.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-sbcl.lisp.

Function: variable-ref-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.

Function: vbinding-form-p (x)
Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-elements.lisp.


6.2.4 Generic functions

Generic Function: as-string (form)

Return a string representation of FORM.

Package

it.unimib.disco.ma.cl.util.clast.

Source

clast-printing.lisp.

Methods
Method: as-string ((dss class-slot-subform))
Method: as-string ((sss struct-slot-subform))
Method: as-string ((qf quote-form))
Method: as-string ((gt go-tag))
Method: as-string ((bn block-name-ref))
Method: as-string ((tsf type-specifier-form))
Method: as-string ((vr macro-name-ref))
Method: as-string ((vr function-name-ref))
Method: as-string ((vr symbol-macro-ref))
Method: as-string ((vr special-variable-ref))
Method: as-string ((vr free-variable-ref))
Method: as-string ((vr constant-ref))
Method: as-string ((vr variable-ref))
Method: as-string ((cf constant-form))
Method: as-string ((f form))
Generic Reader: block-name (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: block-name ((block-form block-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

name.

Generic Writer: (setf block-name) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf block-name) ((block-form block-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

name.

Generic Reader: bq-comma-expr (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: bq-comma-expr ((bq-comma bq-comma))

automatically generated reader method

Source

clast-bq-elements.lisp.

Target Slot

expr.

Generic Reader: bq-comma-kind (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: bq-comma-kind ((bq-comma bq-comma))

automatically generated reader method

Source

clast-bq-elements.lisp.

Target Slot

kind.

Generic Reader: bq-form-expr (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: bq-form-expr ((bq-form bq-form))

automatically generated reader method

Source

clast-bq-elements.lisp.

Target Slot

expr.

Generic Reader: class-option-subform-name (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: class-option-subform-name ((class-option-subform class-option-subform))

automatically generated reader method

Source

clast-defclass-elements.lisp.

Target Slot

name.

Generic Reader: class-option-subform-spec (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: class-option-subform-spec ((class-option-subform class-option-subform))

automatically generated reader method

Source

clast-defclass-elements.lisp.

Target Slot

spec.

Generic Reader: class-slot-subform-name (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: class-slot-subform-name ((class-slot-subform class-slot-subform))

automatically generated reader method

Source

clast-defclass-elements.lisp.

Target Slot

name.

Generic Reader: class-slot-subform-options (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: class-slot-subform-options ((class-slot-subform class-slot-subform))

automatically generated reader method

Source

clast-defclass-elements.lisp.

Target Slot

options.

Generic Function: count-ll-vars (kind lambda-list)
Package

it.unimib.disco.ma.cl.util.clast.

Source

lambda-list-parsing.lisp.

Methods
Method: count-ll-vars ((kind (eql &body)) (ll macro-lambda-list))
Method: count-ll-vars ((kind (eql &environment)) (ll macro-lambda-list))
Method: count-ll-vars ((kind (eql &whole)) (ll macro-lambda-list))
Method: count-ll-vars ((kind (eql &aux)) (ll destructuring-lambda-list))
Method: count-ll-vars ((kind (eql &key)) (ll destructuring-lambda-list))
Method: count-ll-vars ((kind (eql &rest)) (ll destructuring-lambda-list))
Method: count-ll-vars ((kind (eql &optional)) (ll destructuring-lambda-list))
Method: count-ll-vars ((kind (eql it.unimib.disco.ma.cl.util.clast::&reqvar)) (ll destructuring-lambda-list))
Method: count-ll-vars ((kind (eql &allow-other-keys)) (ll t_lambda-list))
Method: count-ll-vars ((kind (eql &body)) (ll t_lambda-list))
Method: count-ll-vars ((kind (eql &environment)) (ll t_lambda-list))
Method: count-ll-vars ((kind (eql &whole)) (ll t_lambda-list))
Method: count-ll-vars ((kind (eql &aux)) (ll t_lambda-list))
Method: count-ll-vars ((kind (eql &key)) (ll t_lambda-list))
Method: count-ll-vars ((kind (eql &rest)) (ll t_lambda-list))
Method: count-ll-vars ((kind (eql &optional)) (ll t_lambda-list))
Method: count-ll-vars ((kind (eql it.unimib.disco.ma.cl.util.clast::&reqvar)) (ll t_lambda-list))
Method: count-ll-vars ((kind symbol) (lli lambda-list-item))
Generic Reader: declaration-form-declarations (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: declaration-form-declarations ((declaration-form declaration-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

decls.

Generic Writer: (setf declaration-form-declarations) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf declaration-form-declarations) ((declaration-form declaration-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

decls.

Generic Reader: declaration-form-resulting-environment (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: declaration-form-resulting-environment ((declaration-form declaration-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

new-env.

Generic Writer: (setf declaration-form-resulting-environment) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf declaration-form-resulting-environment) ((declaration-form declaration-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

new-env.

Generic Reader: declaration-specifier-form-identifier (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: declaration-specifier-form-identifier ((declaration-specifier-form declaration-specifier-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

identifier.

Generic Writer: (setf declaration-specifier-form-identifier) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf declaration-specifier-form-identifier) ((declaration-specifier-form declaration-specifier-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

identifier.

Generic Reader: declaration-specifier-identifier (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: declaration-specifier-identifier ((declaration-specifier-form declaration-specifier-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

identifier.

Generic Writer: (setf declaration-specifier-identifier) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf declaration-specifier-identifier) ((declaration-specifier-form declaration-specifier-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

identifier.

Generic Reader: declaration-type-spec (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: declaration-type-spec ((tf-declaration-specifier-form tf-declaration-specifier-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

type-spec.

Generic Writer: (setf declaration-type-spec) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf declaration-type-spec) ((tf-declaration-specifier-form tf-declaration-specifier-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

type-spec.

Generic Function: declaration-type-spec-symbols (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Method: declaration-type-spec-symbols ((idd id-declaration-specifier-form))
Source

clast-elements.lisp.

Reader Method: declaration-type-spec-symbols ((tf-declaration-specifier-form tf-declaration-specifier-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

symbol-refs.

Generic Writer: (setf declaration-type-spec-symbols) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf declaration-type-spec-symbols) ((tf-declaration-specifier-form tf-declaration-specifier-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

symbol-refs.

Generic Reader: defclass-form-name (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defclass-form-name ((defclass-form defclass-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

name.

Generic Writer: (setf defclass-form-name) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defclass-form-name) ((defclass-form defclass-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

name.

Generic Reader: defclass-form-options (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defclass-form-options ((defclass-form defclass-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

options.

Generic Writer: (setf defclass-form-options) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defclass-form-options) ((defclass-form defclass-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

options.

Generic Reader: defclass-form-slots (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defclass-form-slots ((defclass-form defclass-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

slots.

Generic Writer: (setf defclass-form-slots) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defclass-form-slots) ((defclass-form defclass-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

slots.

Generic Reader: defclass-form-superclasses (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defclass-form-superclasses ((defclass-form defclass-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

superclasses.

Generic Writer: (setf defclass-form-superclasses) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defclass-form-superclasses) ((defclass-form defclass-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

superclasses.

Generic Reader: defconstant-form-doc-string (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defconstant-form-doc-string ((defconstant-form defconstant-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

doc-string.

Generic Writer: (setf defconstant-form-doc-string) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defconstant-form-doc-string) ((defconstant-form defconstant-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

doc-string.

Generic Reader: defconstant-form-name (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defconstant-form-name ((defconstant-form defconstant-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

name.

Generic Writer: (setf defconstant-form-name) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defconstant-form-name) ((defconstant-form defconstant-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

name.

Generic Reader: defconstant-form-value (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defconstant-form-value ((defconstant-form defconstant-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

value.

Generic Writer: (setf defconstant-form-value) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defconstant-form-value) ((defconstant-form defconstant-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

value.

Generic Reader: defgeneric-form-lambda-list (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defgeneric-form-lambda-list ((defgeneric-form defgeneric-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

lambda-list.

Generic Writer: (setf defgeneric-form-lambda-list) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defgeneric-form-lambda-list) ((defgeneric-form defgeneric-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

lambda-list.

Generic Reader: defgeneric-form-methods (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defgeneric-form-methods ((defgeneric-form defgeneric-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

methods.

Generic Reader: defgeneric-form-name (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defgeneric-form-name ((defmethod-form defmethod-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

name.

Reader Method: defgeneric-form-name ((defgeneric-form defgeneric-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

name.

Generic Writer: (setf defgeneric-form-name) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defgeneric-form-name) ((defmethod-form defmethod-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

name.

Writer Method: (setf defgeneric-form-name) ((defgeneric-form defgeneric-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

name.

Generic Reader: defgeneric-form-options (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defgeneric-form-options ((defgeneric-form defgeneric-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

options.

Generic Reader: define-compiler-macro-form-name (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: define-compiler-macro-form-name ((define-compiler-macro-form define-compiler-macro-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

name.

Generic Writer: (setf define-compiler-macro-form-name) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf define-compiler-macro-form-name) ((define-compiler-macro-form define-compiler-macro-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

name.

Generic Reader: define-method-combination-form-name (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: define-method-combination-form-name ((define-method-combination-form define-method-combination-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

name.

Generic Writer: (setf define-method-combination-form-name) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf define-method-combination-form-name) ((define-method-combination-form define-method-combination-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

name.

Generic Reader: define-modify-macro-form-name (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: define-modify-macro-form-name ((define-modify-macro-form define-modify-macro-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

name.

Generic Writer: (setf define-modify-macro-form-name) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf define-modify-macro-form-name) ((define-modify-macro-form define-modify-macro-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

name.

Generic Reader: define-modify-macro-function (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: define-modify-macro-function ((define-modify-macro-form define-modify-macro-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

fun.

Generic Writer: (setf define-modify-macro-function) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf define-modify-macro-function) ((define-modify-macro-form define-modify-macro-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

fun.

Generic Reader: define-modify-macro-function-docstring (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: define-modify-macro-function-docstring ((define-modify-macro-form define-modify-macro-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

docstring.

Generic Reader: define-setf-expander-form-name (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: define-setf-expander-form-name ((define-setf-expander-form define-setf-expander-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

name.

Generic Writer: (setf define-setf-expander-form-name) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf define-setf-expander-form-name) ((define-setf-expander-form define-setf-expander-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

name.

Generic Reader: define-symbol-macro-form-name (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: define-symbol-macro-form-name ((define-symbol-macro-form define-symbol-macro-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

name.

Generic Writer: (setf define-symbol-macro-form-name) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf define-symbol-macro-form-name) ((define-symbol-macro-form define-symbol-macro-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

name.

Generic Reader: definition-form-name (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: definition-form-name ((definition-form definition-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

name.

Generic Writer: (setf definition-form-name) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf definition-form-name) ((definition-form definition-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

name.

Generic Reader: defmacro-form-lambda-list (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defmacro-form-lambda-list ((defmacro-form defmacro-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

lambda-list.

Generic Writer: (setf defmacro-form-lambda-list) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defmacro-form-lambda-list) ((defmacro-form defmacro-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

lambda-list.

Generic Reader: defmacro-form-name (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defmacro-form-name ((defmacro-form defmacro-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

name.

Generic Writer: (setf defmacro-form-name) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defmacro-form-name) ((defmacro-form defmacro-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

name.

Generic Reader: defmethod-form-lambda-list (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defmethod-form-lambda-list ((defmethod-form defmethod-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

lambda-list.

Generic Writer: (setf defmethod-form-lambda-list) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defmethod-form-lambda-list) ((defmethod-form defmethod-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

lambda-list.

Generic Reader: defmethod-form-name (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defmethod-form-name ((defmethod-form defmethod-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

name.

Generic Writer: (setf defmethod-form-name) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defmethod-form-name) ((defmethod-form defmethod-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

name.

Generic Reader: defmethod-form-qualifiers (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defmethod-form-qualifiers ((defmethod-form defmethod-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

qualifiers.

Generic Writer: (setf defmethod-form-qualifiers) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defmethod-form-qualifiers) ((defmethod-form defmethod-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

qualifiers.

Generic Reader: defpackage-form-name (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defpackage-form-name ((defpackage-form defpackage-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

name.

Generic Writer: (setf defpackage-form-name) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defpackage-form-name) ((defpackage-form defpackage-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

name.

Generic Reader: defparameter-form-doc-string (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defparameter-form-doc-string ((defparameter-form defparameter-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

doc-string.

Generic Writer: (setf defparameter-form-doc-string) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defparameter-form-doc-string) ((defparameter-form defparameter-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

doc-string.

Generic Reader: defparameter-form-name (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defparameter-form-name ((defparameter-form defparameter-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

name.

Generic Writer: (setf defparameter-form-name) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defparameter-form-name) ((defparameter-form defparameter-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

name.

Generic Reader: defparameter-form-value (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defparameter-form-value ((defparameter-form defparameter-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

value.

Generic Writer: (setf defparameter-form-value) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defparameter-form-value) ((defparameter-form defparameter-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

value.

Generic Reader: defsetf-form-name (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defsetf-form-name ((defsetf-form defsetf-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

name.

Generic Writer: (setf defsetf-form-name) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defsetf-form-name) ((defsetf-form defsetf-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

name.

Generic Reader: defstruct-form-name (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defstruct-form-name ((defstruct-form defstruct-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

name.

Generic Writer: (setf defstruct-form-name) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defstruct-form-name) ((defstruct-form defstruct-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

name.

Generic Reader: defstruct-form-options (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defstruct-form-options ((defstruct-form defstruct-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

options.

Generic Writer: (setf defstruct-form-options) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defstruct-form-options) ((defstruct-form defstruct-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

options.

Generic Reader: defstruct-form-slots (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defstruct-form-slots ((defstruct-form defstruct-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

slots.

Generic Writer: (setf defstruct-form-slots) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defstruct-form-slots) ((defstruct-form defstruct-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

slots.

Generic Reader: defun-form-lambda-list (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defun-form-lambda-list ((defun-form defun-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

lambda-list.

Generic Writer: (setf defun-form-lambda-list) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defun-form-lambda-list) ((defun-form defun-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

lambda-list.

Generic Reader: defun-form-name (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defun-form-name ((defun-form defun-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

name.

Generic Writer: (setf defun-form-name) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defun-form-name) ((defun-form defun-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

name.

Generic Reader: defvar-form-doc-string (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defvar-form-doc-string ((defvar-form defvar-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

doc-string.

Generic Writer: (setf defvar-form-doc-string) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defvar-form-doc-string) ((defvar-form defvar-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

doc-string.

Generic Reader: defvar-form-name (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defvar-form-name ((defvar-form defvar-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

name.

Generic Writer: (setf defvar-form-name) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defvar-form-name) ((defvar-form defvar-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

name.

Generic Reader: defvar-form-value (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: defvar-form-value ((defvar-form defvar-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

value.

Generic Writer: (setf defvar-form-value) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf defvar-form-value) ((defvar-form defvar-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

value.

Generic Reader: doc-string (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: doc-string ((def-symbol-ref-form def-symbol-ref-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

doc-string.

Generic Writer: (setf doc-string) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf doc-string) ((def-symbol-ref-form def-symbol-ref-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

doc-string.

Generic Reader: form-args (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: form-args ((error-clause-form error-clause-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

lambda-list.

Reader Method: form-args ((lambda-form lambda-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

lambda-list.

Reader Method: form-args ((application application))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

args.

Generic Writer: (setf form-args) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf form-args) ((error-clause-form error-clause-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

lambda-list.

Writer Method: (setf form-args) ((lambda-form lambda-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

lambda-list.

Writer Method: (setf form-args) ((application application))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

args.

Generic Reader: form-binds (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: form-binds ((binding-form binding-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

binds.

Generic Writer: (setf form-binds) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf form-binds) ((binding-form binding-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

binds.

Generic Reader: form-block (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: form-block ((return-from-form return-from-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

enclosing-block.

Generic Writer: (setf form-block) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf form-block) ((return-from-form return-from-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

enclosing-block.

Generic Reader: form-body (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: form-body ((tagbody-form tagbody-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

tagbody.

Reader Method: form-body ((implicit-progn implicit-progn))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

iprogn-forms.

Generic Writer: (setf form-body) (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Writer Method: (setf form-body) ((tagbody-form tagbody-form))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

tagbody.

Writer Method: (setf form-body) ((implicit-progn implicit-progn))

automatically generated writer method

Source

clast-elements.lisp.

Target Slot

iprogn-forms.

Generic Reader: form-body-env (object)
Package

it.unimib.disco.ma.cl.util.clast.

Methods
Reader Method: form-body-env ((loop-form loop-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

body-env.

Reader Method: form-body-env ((prog-form prog-form))

automatically generated reader method

Source

clast-elements.lisp.

Target Slot

body-env.

Reader Method: form-body-env ((implicit-progn implicit-progn))