The clast Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The clast Reference Manual

This is the clast Reference Manual, generated automatically by Declt version 3.0 "Montgomery Scott" on Fri Jun 26 10:43:47 2020 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

CLAST
=====
Copyright (c) 2014-2020 Marco Antoniotti and Matteo Crespi, all rights reserved.

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.

The library relies on a working implementation of the "environment"
functions from CLtL1, so, at this point, it does not work on every
available implementation.

See the file COPYING for licensing information


A NOTE ON FORKING
-----------------

Of course you are free to fork the project subject to the current
licensing scheme.  However, before you do so, I ask you to consider
plain old "cooperation" by asking me to become a developer.
It helps keeping the entropy level at an acceptable level.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

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


Previous: , Up: Systems   [Contents][Index]

2.1 clast

Author

Marco Antoniotti

License

BSD

Description

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.

Source

clast.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Modules

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


Next: , Previous: , Up: Modules   [Contents][Index]

3.1 clast/utilities

Dependency

clast-package.lisp (file)

Parent

clast (system)

Location

utilities/

Components

Previous: , Up: Modules   [Contents][Index]

3.2 clast/impl-dependent

Dependencies
Parent

clast (system)

Location

impl-dependent/

Component

clast-sbcl.lisp (file)


Next: , Previous: , Up: Top   [Contents][Index]

4 Files

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


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.1 clast.asd

Location

clast.asd

Systems

clast (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.2 clast/clast-package.lisp

Parent

clast (system)

Location

clast-package.lisp

Packages

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


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.3 clast/clast-elements.lisp

Dependency

clast-package.lisp (file)

Parent

clast (system)

Location

clast-elements.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

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

Parent

utilities (module)

Location

utilities/lambda-list-parsing.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.5 clast/utilities/kitchen-sink.lisp

Parent

utilities (module)

Location

utilities/kitchen-sink.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.6 clast/env.lisp

Dependency

clast-package.lisp (file)

Parent

clast (system)

Location

env.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

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

Parent

impl-dependent (module)

Location

impl-dependent/clast-sbcl.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.8 clast/env-queries.lisp

Dependency

impl-dependent (module)

Parent

clast (system)

Location

env-queries.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.9 clast/parse-lambda-lists.lisp

Dependencies
Parent

clast (system)

Location

parse-lambda-lists.lisp

Internal Definitions

parse-lambda-list (function)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.10 clast/parse.lisp

Dependency

parse-lambda-lists.lisp (file)

Parent

clast (system)

Location

parse.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.11 clast/parse-defs.lisp

Dependency

parse.lisp (file)

Parent

clast (system)

Location

parse-defs.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.12 clast/parse-defstruct.lisp

Dependency

parse-defs.lisp (file)

Parent

clast (system)

Location

parse-defstruct.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.13 clast/parse-defclass.lisp

Dependency

parse-defs.lisp (file)

Parent

clast (system)

Location

parse-defclass.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.14 clast/parse-loop.lisp

Dependency

parse.lisp (file)

Parent

clast (system)

Location

parse-loop.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.15 clast/clast-printing.lisp

Dependencies
Parent

clast (system)

Location

clast-printing.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.16 clast/walk.lisp

Dependencies
Parent

clast (system)

Location

walk.lisp

Exported Definitions

Previous: , Up: Lisp files   [Contents][Index]

4.1.17 clast/tools.lisp

Dependency

parse.lisp (file)

Parent

clast (system)

Location

tools.lisp

Internal Definitions

print-element-ast (function)


Next: , Previous: , Up: Top   [Contents][Index]

5 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

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 (file)

Nicknames
Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

6 Definitions

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


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

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 (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.2 Functions

Function: arguments FORM
Package

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

Source

parse.lisp (file)

Function: augment-environment ENV &rest KEYS &key VARIABLE SYMBOL-MACRO FUNCTION MACRO DECLARE
Package

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

Source

clast-sbcl.lisp (file)

Function: block-information BLOCK-NAME &optional ENV
Package

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

Source

clast-sbcl.lisp (file)

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 (file)

Function: declaration-information DECL-NAME &optional ENV
Package

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

Source

clast-sbcl.lisp (file)

Function: enclose LAMBDA-EXPRESSION &optional ENV
Package

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

Source

clast-sbcl.lisp (file)

Function: ensure-parsing-environment &optional ENV
Package

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

Source

clast-sbcl.lisp (file)

Function: environmentp E
Package

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

Source

env.lisp (file)

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 (file)

Function: function-information F &optional ENV
Package

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

Source

clast-sbcl.lisp (file)

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 (file)

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 (file)

Function: operator FORM
Package

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

Source

parse.lisp (file)

Function: parse-macro NAME LAMBDA-LIST BODY &optional ENV
Package

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

Source

clast-sbcl.lisp (file)

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 (file)

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 (file)

Function: tag-information TAG-NAME &optional ENV
Package

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

Source

clast-sbcl.lisp (file)

Function: variable-information VARIABLE &optional ENV
Package

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

Source

clast-sbcl.lisp (file)

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 (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

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 (file)

Methods
Method: clast-element-subforms (LC loop-clause)
Source

parse-loop.lisp (file)

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

parse-defclass.lisp (file)

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

parse-defclass.lisp (file)

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

parse-defclass.lisp (file)

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

parse-defstruct.lisp (file)

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

parse-defstruct.lisp (file)

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

parse-defstruct.lisp (file)

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 (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 (file)

Methods
Method: is-environment (E lexenv)
Source

clast-sbcl.lisp (file)

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

clast-sbcl.lisp (file)

Method: is-environment (EW env-wrapper)
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 (file)

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. element : a CLAST-ELEMENT representing the AST node just parsed. environment1 : the environment resulting from parsing the FORM.

Package

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

Source

parse.lisp (file)

Methods
Method: parse (FORM cons) &rest KEYS &key ENVIRONMENT ENCLOSING-FORM &allow-other-keys
Method: parse (S symbol) &rest KEYS &key ENVIRONMENT MACROEXPAND ENCLOSING-FORM IS-BARE-NAME &allow-other-keys
Method: parse (FORM array) &rest KEYS &key ENVIRONMENT MACROEXPAND ENCLOSING-FORM &allow-other-keys
Method: parse (FORM string) &rest KEYS &key ENVIRONMENT MACROEXPAND ENCLOSING-FORM &allow-other-keys
Method: parse (FORM number) &rest KEYS &key ENVIRONMENT MACROEXPAND ENCLOSING-FORM &allow-other-keys
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 (file)

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. element : a CLAST-ELEMENT representing the AST node just parsed. environment1 : the environment resulting from parsing the FORM.

Package

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

Source

parse.lisp (file)

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 (file)

Method: parse-form (OP (eql defclass)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Source

parse-defclass.lisp (file)

Method: parse-form (OP (eql defstruct)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Source

parse-defstruct.lisp (file)

Method: parse-form (OP (eql define-modify-macro)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Source

parse-defs.lisp (file)

Method: parse-form (OP (eql define-compiler-macro)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Source

parse-defs.lisp (file)

Method: parse-form (OP (eql defmethod)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Source

parse-defs.lisp (file)

Method: parse-form (OP (eql defgeneric)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Source

parse-defs.lisp (file)

Method: parse-form (OP (eql defmacro)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Source

parse-defs.lisp (file)

Method: parse-form (OP (eql defun)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Source

parse-defs.lisp (file)

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 (file)

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 (file)

Method: parse-form (OP (eql do)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql dotimes)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql dolist)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql setf)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT &allow-other-keys
Method: parse-form (OP (eql setq)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT &allow-other-keys
Method: parse-form (OP (eql the)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql quote)) FORM &rest KEYS &key ENVIRONMENT &allow-other-keys
Method: parse-form (OP (eql multiple-value-bind)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql macrolet)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql let*)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql let)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql ctypecase)) FORM &rest KEYS &key &allow-other-keys
Method: parse-form (OP (eql etypecase)) FORM &rest KEYS &key &allow-other-keys
Method: parse-form (OP (eql typecase)) FORM &rest KEYS &key &allow-other-keys
Method: parse-form (OP (eql ecase)) FORM &rest KEYS &key &allow-other-keys
Method: parse-form (OP (eql ccase)) FORM &rest KEYS &key &allow-other-keys
Method: parse-form (OP (eql case)) FORM &rest KEYS &key &allow-other-keys
Method: parse-form (OP (eql cond)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql if)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql go)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql lambda)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql function)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql labels)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql flet)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql declaim)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql eval-when)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql prog*)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql prog)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql progv)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql progn)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql declare)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql catch)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql tagbody)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql return-from)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP (eql block)) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP cons) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
Method: parse-form (OP symbol) FORM &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys
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 (file)

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 &aux REST-FORM NEXT-TOKEN SUBCLAUSE-VARS SUBCLAUSE-VAR-TYPES
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 (file)

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 MAPFUN) (REDUCE REDFUN) &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 (file)

Methods
Method: walk (CE form) &rest KEYS &key RESULT-TYPE KEY (MAP MAPFUN) (REDUCE REDFUN) INITIAL-VALUE ENVIRONMENT OP-FIRST &allow-other-keys

Previous: , Up: Exported definitions   [Contents][Index]

6.1.4 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 (file)

Direct superclasses

form (class)

Direct subclasses
Direct methods
Direct slots
Slot: operator
Initargs

:operator

Readers

form-operator (generic function)

Writers

(setf form-operator) (generic function)

Slot: args
Initargs

:arguments

Readers

form-args (generic function)

Writers

(setf form-args) (generic function)

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 (file)

Direct superclasses

form (class)

Direct subclasses
Direct methods
Direct slots
Slot: places
Initargs

:places

Readers

form-places (generic function)

Writers

(setf form-places) (generic function)

Slot: vals
Initargs

:values

Readers

form-values (generic function)

Writers

(setf form-values) (generic function)

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 (file)

Direct superclasses

form (class)

Direct subclasses
Direct methods
Direct slots
Slot: binds
Initargs

:binds

Readers

form-binds (generic function)

Writers

(setf form-binds) (generic function)

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 (file)

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 (file)

Direct superclasses

symbol-ref (class)

Direct methods
Direct slots
Slot: symbol
Initargs

:name

Readers

form-name (generic function)

Writers

(setf form-name) (generic function)

Class: case-form ()
Package

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

Source

clast-elements.lisp (file)

Direct superclasses

selector-form (class)

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 (file)

Direct superclasses
Direct methods
Direct slots
Slot: tag
Initargs

:tag

Readers

form-catch-tag (generic function)

Writers

(setf form-catch-tag) (generic function)

Class: ccase-form ()
Package

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

Source

clast-elements.lisp (file)

Direct superclasses

selector-form (class)

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 (file)

Direct superclasses

selection-form (class)

Class: condition-case-form ()

The CONDITION-CLAUSE-FORM Class.

Package

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

Source

clast-elements.lisp (file)

Direct superclasses

form (class)

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

:handled-form

Readers

form-handled-form (generic function)

Writers

(setf form-handled-form) (generic function)

Slot: clauses
Initargs

:clauses

Readers

form-clauses (generic function)

Writers

(setf form-clauses) (generic function)

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 (file)

Direct superclasses

form (class)

Direct subclasses
Direct methods
Direct slots
Slot: value
Initargs

:value

Readers

form-value (generic function)

Writers

(setf form-value) (generic function)

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 (file)

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 (file)

Direct superclasses

form (class)

Direct subclasses

declaim-form (class)

Direct methods
Direct slots
Slot: decls
Initargs

:declarations

Readers

declaration-form-declarations (generic function)

Writers

(setf declaration-form-declarations) (generic function)

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 (file)

Direct superclasses

form (class)

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 (file)

Direct superclasses

definition-form (class)

Direct subclasses

defvar-form (class)

Direct methods
Direct slots
Slot: value
Initargs

:value

Readers

form-value (generic function)

Writers

(setf form-value) (generic function)

Slot: doc-string
Initargs

:doc-string

Initform

""

Readers

doc-string (generic function)

Writers

(setf doc-string) (generic function)

Class: defclass-form ()

The DEFCLASS-FORM Class.

Package

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

Source

clast-elements.lisp (file)

Direct superclasses

definition-form (class)

Direct methods
Direct slots
Slot: name
Readers

defclass-form-name (generic function)

Writers

(setf defclass-form-name) (generic function)

Slot: superclasses
Initargs

:superclasses

Readers

defclass-form-superclasses (generic function)

Writers

(setf defclass-form-superclasses) (generic function)

Slot: slots
Initargs

:slots

Readers

defclass-form-slots (generic function)

Writers

(setf defclass-form-slots) (generic function)

Slot: options
Initargs

:options

Readers

defclass-form-options (generic function)

Writers

(setf defclass-form-options) (generic function)

Class: defconstant-form ()

The DEFVAR-FORM Class.

Package

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

Source

clast-elements.lisp (file)

Direct superclasses

definition-form (class)

Direct methods
Direct slots
Slot: name
Readers

defconstant-form-name (generic function)

Writers

(setf defconstant-form-name) (generic function)

Slot: value
Initform

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

Readers

defconstant-form-value (generic function)

Writers

(setf defconstant-form-value) (generic function)

Slot: doc-string
Readers

defconstant-form-doc-string (generic function)

Writers

(setf defconstant-form-doc-string) (generic function)

Class: defgeneric-form ()

The DEFGENERIC-FORM Class

Package

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

Source

clast-elements.lisp (file)

Direct superclasses

definition-lambda-list-form (class)

Direct methods
Direct slots
Slot: name
Readers

defgeneric-form-name (generic function)

Writers

(setf defgeneric-form-name) (generic function)

Slot: lambda-list
Readers

defgeneric-form-lambda-list (generic function)

Writers

(setf defgeneric-form-lambda-list) (generic function)

Slot: options
Type

list

Initargs

:options

Readers

defgeneric-form-options (generic function)

Slot: methods
Type

list

Initargs

:methods

Readers

defgeneric-form-methods (generic function)

Class: define-compiler-macro-form ()
Package

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

Source

clast-elements.lisp (file)

Direct superclasses

defmacro-form (class)

Direct methods
Direct slots
Slot: name
Readers

define-compiler-macro-form-name (generic function)

Writers

(setf define-compiler-macro-form-name) (generic function)

Class: define-method-combination-form ()

The DEFINE-METHOD-COMBINATION-FORM Class.

Package

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

Source

clast-elements.lisp (file)

Direct superclasses

definition-form (class)

Direct methods
Direct slots
Slot: name
Readers

define-method-combination-form-name (generic function)

Writers

(setf define-method-combination-form-name) (generic function)

Class: define-setf-expander-form ()

The DEFINE-SETF-EXPANDER-FORM Class.

Package

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

Source

clast-elements.lisp (file)

Direct superclasses

definition-form (class)

Direct methods
Direct slots
Slot: name
Readers

define-setf-expander-form-name (generic function)

Writers

(setf define-setf-expander-form-name) (generic function)

Class: define-symbol-macro-form ()

The DEFINE-SYMBOL-MACRO-FORM Class.

Package

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

Source

clast-elements.lisp (file)

Direct superclasses

definition-form (class)

Direct methods
Direct slots
Slot: name
Readers

define-symbol-macro-form-name (generic function)

Writers

(setf define-symbol-macro-form-name) (generic function)

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 (file)

Direct superclasses

form (class)

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 (file)

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

:lambda-list

Readers

lambda-definition-form-lambda-list (generic function)

Writers

(setf lambda-definition-form-lambda-list) (generic function)

Class: defmethod-form ()

The DEFMETHOD-FORM Class

Package

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

Source

clast-elements.lisp (file)

Direct superclasses

definition-code-form (class)

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

defmethod-form-lambda-list (generic function)

Writers

(setf defmethod-form-lambda-list) (generic function)

Slot: qualifiers
Initargs

:qualifiers

Readers

defmethod-form-qualifiers (generic function)

Writers

(setf defmethod-form-qualifiers) (generic function)

Class: defparameter-form ()

The DEFPARAMETER-FORM Class.

Package

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

Source

clast-elements.lisp (file)

Direct superclasses

defvar-form (class)

Direct methods
Direct slots
Slot: name
Readers

defparameter-form-name (generic function)

Writers

(setf defparameter-form-name) (generic function)

Slot: value
Initform

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

Readers

defparameter-form-value (generic function)

Writers

(setf defparameter-form-value) (generic function)

Slot: doc-string
Readers

defparameter-form-doc-string (generic function)

Writers

(setf defparameter-form-doc-string) (generic function)

Class: defsetf-form ()

The DEFSETF-FORM Class.

Package

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

Source

clast-elements.lisp (file)

Direct superclasses

definition-form (class)

Direct methods
Direct slots
Slot: name
Readers

defsetf-form-name (generic function)

Writers

(setf defsetf-form-name) (generic function)

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 (file)

Direct superclasses

definition-form (class)

Direct methods
Direct slots
Slot: name
Readers

defstruct-form-name (generic function)

Writers

(setf defstruct-form-name) (generic function)

Slot: options
Initargs

:options

Readers

defstruct-form-options (generic function)

Writers

(setf defstruct-form-options) (generic function)

Slot: slots
Initargs

:slots

Readers

defstruct-form-slots (generic function)

Writers

(setf defstruct-form-slots) (generic function)

Class: defun-form ()

The DEFUN-FORM Class

Package

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

Source

clast-elements.lisp (file)

Direct superclasses

definition-code-form (class)

Direct methods
Direct slots
Slot: name
Readers

defun-form-name (generic function)

Writers

(setf defun-form-name) (generic function)

Slot: lambda-list
Readers

defun-form-lambda-list (generic function)

Writers

(setf defun-form-lambda-list) (generic function)

Class: defvar-form ()

The DEFVAR-FORM Class.

Package

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

Source

clast-elements.lisp (file)

Direct superclasses

def-symbol-ref-form (class)

Direct subclasses

defparameter-form (class)

Direct methods
Direct slots
Slot: name
Readers

defvar-form-name (generic function)

Writers

(setf defvar-form-name) (generic function)

Slot: value
Readers

defvar-form-value (generic function)

Writers

(setf defvar-form-value) (generic function)

Slot: doc-string
Readers

defvar-form-doc-string (generic function)

Writers

(setf defvar-form-doc-string) (generic function)

Class: do*-form ()
Package

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

Source

clast-elements.lisp (file)

Direct superclasses

do-loop-form (class)

Class: do-form ()
Package

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

Source

clast-elements.lisp (file)

Direct superclasses

do-loop-form (class)

Direct methods

clast-element-subforms (method)

Class: do-loop-form ()
Package

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

Source

clast-elements.lisp (file)

Direct superclasses

dovar-form (class)

Direct subclasses
Direct methods
Direct slots
Slot: test
Initargs

:test

Readers

form-test (generic function)

Writers

(setf form-test) (generic function)

Class: dolist-form ()
Package

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

Source

clast-elements.lisp (file)

Direct superclasses

dovar-form (class)

Class: dotimes-form ()
Package

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

Source

clast-elements.lisp (file)

Direct superclasses

dovar-form (class)

Class: dovar-form ()
Package

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

Source

clast-elements.lisp (file)

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

:return

Readers

return-form (generic function)

Writers

(setf return-form) (generic function)

Class: ecase-form ()
Package

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

Source

clast-elements.lisp (file)

Direct superclasses

selector-form (class)

Class: error-clause-form ()

The ERROR-CLAUSE-FORM Class.

Package

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

Source

clast-elements.lisp (file)

Direct superclasses
Direct methods
Direct slots
Slot: datum
Initargs

:datum

Readers

form-datum (generic function)

Writers

(setf form-datum) (generic function)

Slot: lambda-list
Initargs

:args, :lambda-list

Readers
Writers
Class: etypecase-form ()
Package

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

Source

clast-elements.lisp (file)

Direct superclasses

selector-form (class)

Class: eval-when-form ()

The EVAL-WHEN-FORM CLass.

Package

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

Source

clast-elements.lisp (file)

Direct superclasses
Direct methods
Direct slots
Slot: situations
Initargs

:situations

Readers

form-situations (generic function)

Writers

(setf form-situations) (generic function)

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 (file)

Direct superclasses

binding-form (class)

Direct subclasses
Class: flet-form ()

The FLET-FORM Class.

Package

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

Source

clast-elements.lisp (file)

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 (file)

Direct superclasses

clast-element (class)

Direct subclasses
Direct methods
Direct slots
Slot: type
Initargs

:type

Initform

t

Readers

form-type (generic function)

Writers

(setf form-type) (generic function)

Slot: top
Initargs

:top

Readers

form-top (generic function)

Writers

(setf form-top) (generic function)

Slot: source
Initargs

:source

Readers

form-source (generic function)

Writers

(setf form-source) (generic function)

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 (file)

Direct superclasses

variable-ref (class)

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 (file)

Direct superclasses

tf-declaration-specifier-form (class)

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 (file)

Direct superclasses

application (class)

Direct subclasses
Class: function-definition-form ()

The FUNCTION-DEFINITION-FORM CLass.

Package

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

Source

clast-elements.lisp (file)

Direct superclasses

lambda-form (class)

Direct subclasses

macro-definition-form (class)

Direct methods

clast-element-subforms (method)

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 (file)

Direct superclasses

form (class)

Direct subclasses

lambda-form (class)

Direct methods
Direct slots
Slot: funct
Initargs

:name, :function

Readers

form-function (generic function)

Writers

(setf form-function) (generic function)

Slot: type
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 (file)

Direct superclasses

symbol-ref (class)

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 (file)

Direct superclasses

function-application (class)

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 (file)

Direct superclasses

form (class)

Direct methods
Direct slots
Slot: name
Initargs

:tag, :name

Readers
Writers
Slot: enclosing-tagbody
Initargs

:enclosing-tagbody

Readers

form-tagbody (generic function)

Writers

(setf form-tagbody) (generic function)

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 (file)

Direct superclasses

symbol-ref (class)

Direct methods
Direct slots
Slot: symbol
Initargs

:tag

Readers

tag-name (generic function)

Writers

(setf tag-name) (generic function)

Class: handler-bind-form ()

The HANDLER-BIND-FORM Class.

Package

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

Source

clast-elements.lisp (file)

Direct superclasses
Class: handler-case-form ()

The HANDLER-CASE-FORM Class.

Package

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

Source

clast-elements.lisp (file)

Direct superclasses

condition-case-form (class)

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 (file)

Direct superclasses

declaration-specifier-form (class)

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 (file)

Direct superclasses

form (class)

Direct methods
Direct slots
Slot: condition
Initargs

:condition

Readers

form-condition (generic function)

Writers

(setf form-condition) (generic function)

Slot: then
Initargs

:then

Readers

form-then (generic function)

Writers

(setf form-then) (generic function)

Slot: else
Initargs

:else

Readers

form-else (generic function)

Writers

(setf form-else) (generic function)

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 (file)

Direct superclasses

clast-element (class)

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

:body, :progn

Readers
Writers
Slot: body-env
Initargs

:body-env

Readers

form-body-env (generic function)

Writers

(setf form-body-env) (generic function)

Class: iteration-form ()
Package

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

Source

clast-elements.lisp (file)

Direct superclasses

form (class)

Direct subclasses
Class: labels-form ()

The LABELS-FORM Class.

Package

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

Source

clast-elements.lisp (file)

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 (file)

Direct superclasses

function-application (class)

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 (file)

Direct superclasses
Direct subclasses

function-definition-form (class)

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 (file)

Direct superclasses
Direct methods

map-subforms (method)

Class: let-form ()

The LET-FORM Class.

Package

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

Source

clast-elements.lisp (file)

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 (file)

Direct superclasses

form (class)

Direct methods
Direct slots
Slot: ltv-form
Initargs

:load-time-form

Readers

form-load-time-form (generic function)

Writers

(setf form-load-time-form) (generic function)

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 (file)

Direct superclasses

function-application (class)

Class: local-macro-application ()
Package

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

Source

clast-elements.lisp (file)

Direct superclasses

macro-application (class)

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 (file)

Direct superclasses
Direct methods
Direct slots
Slot: decls
Initargs

:declarations

Readers

form-declarations (generic function)

Writers

(setf form-declarations) (generic function)

Class: loop-clause ()

The Loop Clause Class.

The class of all the LOOP clause forms.

Package

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

Source

parse-loop.lisp (file)

Direct superclasses

form (class)

Direct subclasses

loop-subclause (class)

Direct methods
Direct slots
Slot: name
Type

(or symbol string)

Initargs

:name

Readers
Slot: subclauses
Type

list

Initargs

:subclauses

Readers
Writers

(setf subclauses) (generic function)

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 (file)

Direct superclasses
Direct methods
Direct slots
Slot: clauses
Initargs

:loop-clauses

Readers

loop-clauses (generic function)

Writers

(setf loop-clauses) (generic function)

Slot: body-env
Initargs

:body-env

Readers

form-body-env (generic function)

Writers

(setf form-body-env) (generic function)

Class: loop-subclause ()
Package

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

Source

parse-loop.lisp (file)

Direct superclasses

loop-clause (class)

Direct subclasses

loop-var-subclause (class)

Class: loop-var-subclause ()
Package

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

Source

parse-loop.lisp (file)

Direct superclasses

loop-subclause (class)

Direct methods
Direct slots
Slot: name
Type

(or symbol cons)

Initargs

:var

Readers

var-form (generic function)

Slot: of-type
Initargs

:of-type

Initform

t

Readers

loop-var-of-type-qualifier (generic function)

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 (file)

Direct superclasses
Direct subclasses

local-macro-application (class)

Direct methods

clast-element-subforms (method)

Class: macro-definition-form ()

The MACRO-DEFINITION-FORM CLass.

Package

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

Source

clast-elements.lisp (file)

Direct superclasses

function-definition-form (class)

Direct slots
Slot: type
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 (file)

Direct superclasses

symbol-ref (class)

Direct methods
Class: macrolet-form ()

The MACROLET-FORM Class.

Package

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

Source

clast-elements.lisp (file)

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 (file)

Direct superclasses
Direct methods
Direct slots
Slot: funct
Initargs

:function

Readers

form-function (generic function)

Writers

(setf form-function) (generic 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 (file)

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 (file)

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

:values-form

Readers

form-values-form (generic function)

Writers

(setf form-values-form) (generic function)

Class: prog*-form ()

The PROG-FORM Class.

See Also:

PROG-FORM

Package

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

Source

clast-elements.lisp (file)

Direct superclasses

prog-form (class)

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 (file)

Direct superclasses
Direct subclasses

prog*-form (class)

Direct methods
Direct slots
Slot: body-env
Initargs

:body-env

Readers

form-body-env (generic function)

Writers

(setf form-body-env) (generic function)

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 (file)

Direct superclasses
Direct methods

clast-element-subforms (method)

Class: progv-form ()

The PROGV-FORM Class.

Package

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

Source

clast-elements.lisp (file)

Direct superclasses
Direct methods
Direct slots
Slot: symbols
Initargs

:symbols

Readers

form-symbols (generic function)

Writers

(setf form-symbols) (generic function)

Slot: vals
Initargs

:values

Readers

form-values (generic function)

Writers

(setf form-values) (generic function)

Class: quote-form ()

The QUOTE-FORM Class.

The class representing quoted expressions.

Package

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

Source

clast-elements.lisp (file)

Direct superclasses

constant-form (class)

Direct methods
Class: restart-bind-form ()

The RESTART-BIND-FORM Class.

Package

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

Source

clast-elements.lisp (file)

Direct superclasses
Class: restart-case-form ()

The RESTART-CASE-FORM Class.

Package

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

Source

clast-elements.lisp (file)

Direct superclasses

condition-case-form (class)

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 (file)

Direct superclasses

form (class)

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

form-name (generic function)

Writers

(setf form-name) (generic function)

Slot: result
Initargs

:result

Readers

form-result (generic function)

Writers

(setf form-result) (generic function)

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 (file)

Direct superclasses

assignment-form (class)

Class: setf-form ()

The SETF-FORM Class.

Package

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

Source

clast-elements.lisp (file)

Direct superclasses

assignment-form (class)

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 (file)

Direct superclasses

assignment-form (class)

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 (file)

Direct superclasses
Direct methods

clast-element-subforms (method)

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 (file)

Direct superclasses

variable-ref (class)

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 (file)

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 (file)

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 (file)

Direct superclasses

form (class)

Direct subclasses
Direct methods
Direct slots
Slot: symbol
Initargs

:symbol

Readers

form-symbol (generic function)

Writers

(setf form-symbol) (generic function)

Slot: local
Initargs

:local

Readers

form-local (generic function)

Writers

(setf form-local) (generic function)

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 (file)

Direct superclasses

form (class)

Direct subclasses

prog-form (class)

Direct methods
Direct slots
Slot: tagbody
Initargs

:body

Readers

form-body (generic function)

Writers

(setf form-body) (generic function)

Slot: tags
Initargs

:tags

Readers

form-tags (generic function)

Writers

(setf form-tags) (generic function)

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 (file)

Direct superclasses

form (class)

Direct methods
Direct slots
Slot: type-cast
Initargs

:type

Readers

form-type-cast (generic function)

Writers

(setf form-type-cast) (generic function)

Slot: form
Initargs

:expr

Readers

form-expr (generic function)

Writers

(setf form-expr) (generic function)

Class: throw-form ()

The THROW-FORM Class.

Package

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

Source

clast-elements.lisp (file)

Direct superclasses

form (class)

Direct methods
Direct slots
Slot: tag
Initargs

:tag

Readers

form-throw-tag (generic function)

Writers

(setf form-throw-tag) (generic function)

Slot: result
Initargs

:result

Readers

form-result (generic function)

Writers

(setf form-result) (generic function)

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 (file)

Direct superclasses

tf-declaration-specifier-form (class)

Direct slots
Slot: identifier
Initform

(quote type)

Class: typecase-form ()
Package

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

Source

clast-elements.lisp (file)

Direct superclasses

selector-form (class)

Class: unwind-protect-form ()

The UNWIND-PROTECT-FORM Class

Package

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

Source

clast-elements.lisp (file)

Direct superclasses

form (class)

Direct methods
Direct slots
Slot: protected-form
Initargs

:protected-form

Readers

form-protected-form (generic function)

Writers

(setf form-protected-form) (generic function)

Slot: cleanup-forms
Initargs

:cleanup-forms

Readers

form-cleanup-forms (generic function)

Writers

(setf form-cleanup-forms) (generic function)

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 (file)

Direct superclasses

symbol-ref (class)

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 (file)

Direct superclasses

binding-form (class)

Direct subclasses

Previous: , Up: Definitions   [Contents][Index]

6.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

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 (file)

Special Variable: *clast-print-length*
Package

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

Source

clast-printing.lisp (file)

Special Variable: *clast-print-level*
Package

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

Source

clast-printing.lisp (file)

Special Variable: *defstruct-options*
Package

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

Source

parse-defstruct.lisp (file)

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

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

Source

parse-loop.lisp (file)

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

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

Source

parse-loop.lisp (file)

Special Variable: *loop-keywords*

Set 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

parse-loop.lisp (file)

Special Variable: *sbcl-parsing-env*
Package

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

Source

clast-sbcl.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.2 Macros

Macro: advance FORMS-PLACE &optional N
Package

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

Source

parse-loop.lisp (file)

Macro: def-parse-self-evaluating-method SELF-EVALUATING-TYPE
Package

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

Source

parse.lisp (file)

Macro: next-form FORMS-PLACE &optional NEXT-TOKEN
Package

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

Source

parse-loop.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.3 Functions

Function: %env-wrapper-environment INSTANCE
Function: (setf %env-wrapper-environment) VALUE INSTANCE
Package

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

Source

env.lisp (file)

Function: %make-env-wrapper &optional ENVIRONMENT
Package

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

Source

env.lisp (file)

Function: %make-parsing-environment &optional ENVIRONMENT ENCLOSING-ENV
Package

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

Source

clast-sbcl.lisp (file)

Function: add-function-to-env ENV FNAME ARGS-DECL RETURN-TYPE
Package

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

Source

parse-defstruct.lisp (file)

Function: application-p X
Package

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

Source

clast-elements.lisp (file)

Function: as-loop-kwd KWD
Package

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

Source

parse-loop.lisp (file)

Function: assignment-form-p X
Package

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

Source

clast-elements.lisp (file)

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 (file)

Function: binding-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: block-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: block-name-ref-p X
Package

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

Source

clast-elements.lisp (file)

Function: build-cons-key-arglist PARSED-SLOTS
Package

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

Source

parse-defstruct.lisp (file)

Function: build-cons-key-arglist-types PARSED-SLOTS
Package

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

Source

parse-defstruct.lisp (file)

Function: build-constant-reference V KIND LOCAL-P DECLS &optional ENCLOSING-FORM ENVIRONMENT
Package

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

Source

parse.lisp (file)

Function: build-variable-reference V KIND LOCAL-P DECLS &optional ENCLOSING-FORM ENVIRONMENT
Package

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

Source

parse.lisp (file)

Function: case-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: catch-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: ccase-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: class-option-subform-p X
Package

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

Source

parse-defclass.lisp (file)

Function: class-slot-subform-p X
Package

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

Source

parse-defclass.lisp (file)

Function: collect-accumulation-vars LOOP-FORM &optional ACC-VARS
Package

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

Source

parse-loop.lisp (file)

Function: cond-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: constant-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: constant-or-keyword-p S ENV
Package

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

Source

env-queries.lisp (file)

Function: constant-ref-p X
Package

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

Source

clast-elements.lisp (file)

Function: continue-loop-parsing LOOP-FORMS CLAUSES ENV KEYS
Package

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

Source

parse-loop.lisp (file)

Function: copy-define-modify-macro-lambda-list INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: copy-destructuring-lambda-list INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: copy-env-wrapper INSTANCE
Package

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

Source

env.lisp (file)

Function: copy-generic-function-lambda-list INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: copy-lambda-list-item INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: copy-lambda-list-var INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: copy-macro-lambda-list INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: copy-ordinary-lambda-list INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: copy-parsing-environment INSTANCE
Package

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

Source

clast-sbcl.lisp (file)

Function: copy-specialized-lambda-list INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: declaration-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: declaration-specifier-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: default-structure-fname STRUCT-NAME &rest NAMES
Package

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

Source

parse-defstruct.lisp (file)

Function: define-modify-macro-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: define-modify-macro-lambda-list-allow-other-keys INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: define-modify-macro-lambda-list-auxiliary-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: define-modify-macro-lambda-list-keyword-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: define-modify-macro-lambda-list-optional-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: define-modify-macro-lambda-list-ordinary-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: define-modify-macro-lambda-list-p OBJECT
Package

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

Source

lambda-list-parsing.lisp (file)

Function: define-modify-macro-lambda-list-rest-var INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: definition-code-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: definition-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: definition-lambda-list-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: destructuring-lambda-list-allow-other-keys INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: destructuring-lambda-list-auxiliary-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: destructuring-lambda-list-keyword-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: destructuring-lambda-list-optional-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: destructuring-lambda-list-ordinary-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: destructuring-lambda-list-p OBJECT
Package

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

Source

lambda-list-parsing.lisp (file)

Function: destructuring-lambda-list-rest-var INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: ecase-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: ensure-lists L
Package

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

Source

kitchen-sink.lisp (file)

Function: env-find-block B-NAME ENV
Package

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

Source

clast-sbcl.lisp (file)

Function: env-find-tag T-NAME ENV
Package

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

Source

clast-sbcl.lisp (file)

Function: env-wrapper-p OBJECT
Package

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

Source

env.lisp (file)

Function: etypecase-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: eval-when-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: expansion-component-p X
Package

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

Source

clast-elements.lisp (file)

Function: fbinding-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: finish-loop-parsing CLAUSES ENV KEYS
Package

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

Source

parse-loop.lisp (file)

Function: flatten L
Package

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

Source

kitchen-sink.lisp (file)

Function: flet-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: form-p X
Package

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

Source

clast-elements.lisp (file)

Function: free-variable-ref-p X
Package

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

Source

clast-elements.lisp (file)

Function: ftype-declaration-specifier-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: function-application-p X
Package

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

Source

clast-elements.lisp (file)

Function: function-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: function-name-ref-p X
Package

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

Source

clast-elements.lisp (file)

Function: functional-operator-application-p X
Package

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

Source

clast-elements.lisp (file)

Function: generic-function-lambda-list-allow-other-keys INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: generic-function-lambda-list-auxiliary-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: generic-function-lambda-list-keyword-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: generic-function-lambda-list-optional-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: generic-function-lambda-list-ordinary-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: generic-function-lambda-list-p OBJECT
Package

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

Source

lambda-list-parsing.lisp (file)

Function: generic-function-lambda-list-rest-var INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: generic-function-p X
Package

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

Source

kitchen-sink.lisp (file)

Function: get-implementation-env ENV
Package

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

Source

clast-sbcl.lisp (file)

Function: go-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: go-tag-p X
Package

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

Source

clast-elements.lisp (file)

Function: id-declaration-specifier-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: if-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: implementation-env EW
Package

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

Source

env.lisp (file)

Function: implicit-progn-p X
Package

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

Source

clast-elements.lisp (file)

Function: is-class-option-subform X
Package

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

Source

parse-defclass.lisp (file)

Function: is-class-slot-subform X
Package

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

Source

parse-defclass.lisp (file)

Function: is-clast-element X
Package

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

Source

clast-elements.lisp (file)

Function: is-compound-form FORM
Package

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

Source

parse.lisp (file)

Function: is-declaration FORM
Package

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

Source

parse.lisp (file)

Function: is-define-modify-macro-form X
Package

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

Source

clast-elements.lisp (file)

Function: is-form X
Package

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

Source

clast-elements.lisp (file)

Function: is-generic-function X
Package

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

Source

kitchen-sink.lisp (file)

Function: is-lambda-form FORM
Package

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

Source

parse.lisp (file)

Function: is-loop-accumulation-keyword FORM
Package

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

Source

parse-loop.lisp (file)

Function: is-loop-arithmetic-keyword FORM
Package

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

Source

parse-loop.lisp (file)

Function: is-loop-clause X
Package

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

Source

parse-loop.lisp (file)

Function: is-loop-keyword FORM
Package

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

Source

parse-loop.lisp (file)

Function: is-loop-subclause X
Package

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

Source

parse-loop.lisp (file)

Function: is-loop-var-subclause X
Package

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

Source

parse-loop.lisp (file)

Function: is-quoted-form FORM
Package

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

Source

parse.lisp (file)

Function: is-struct-option-subform X
Package

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

Source

parse-defstruct.lisp (file)

Function: is-struct-slot-subform X
Package

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

Source

parse-defstruct.lisp (file)

Function: is-type-specifier X
Package

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

Source

parse-loop.lisp (file)

Function: is-type-specifier-form FORM
Package

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

Source

clast-elements.lisp (file)

Function: labels-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: lambda-application-p X
Package

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

Source

clast-elements.lisp (file)

Function: lambda-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: lambda-list-item-p OBJECT
Package

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

Source

lambda-list-parsing.lisp (file)

Function: lambda-list-var-p OBJECT
Package

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

Source

lambda-list-parsing.lisp (file)

Function: let*-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: let-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: listify L
Package

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

Source

parse.lisp (file)

Function: ll-allow-other-keys INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: ll-auxiliary-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: ll-keyword-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: ll-optional-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: ll-ordinary-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: ll-rest-var INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: lli-form INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: lli-item INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: lli-kind INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: lli-name LLI
Package

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

Source

lambda-list-parsing.lisp (file)

Function: llv-form INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: llv-item INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: llv-kind INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: llv-name LLI
Package

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

Source

lambda-list-parsing.lisp (file)

Function: load-time-value-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: local-function-application-p X
Package

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

Source

clast-elements.lisp (file)

Function: local-macro-application-p X
Package

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

Source

clast-elements.lisp (file)

Function: locally-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: loop-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: loop-kwd= LOOP-KWD KWD
Package

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

Source

parse-loop.lisp (file)

Function: macro-application-p X
Package

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

Source

clast-elements.lisp (file)

Function: macro-lambda-list-allow-other-keys INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: macro-lambda-list-auxiliary-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: macro-lambda-list-body-var INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: macro-lambda-list-env-var INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: macro-lambda-list-keyword-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: macro-lambda-list-optional-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: macro-lambda-list-ordinary-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: macro-lambda-list-p OBJECT
Package

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

Source

lambda-list-parsing.lisp (file)

Function: macro-lambda-list-rest-var INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: macro-lambda-list-whole-var INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: macro-name-ref-p X
Package

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

Source

clast-elements.lisp (file)

Function: macrolet-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: make-class-option-form OPTION-NAME &rest SPEC
Package

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

Source

parse-defclass.lisp (file)

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 (file)

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 (file)

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 (file)

Function: make-loop-clause CLAUSE-NAME SUBCLAUSES &optional SOURCE TOP
Package

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

Source

parse-loop.lisp (file)

Function: make-loop-subclause CLAUSE-NAME SUBCLAUSES &optional SOURCE TOP
Package

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

Source

parse-loop.lisp (file)

Function: make-loop-var-subclause NAME OF-TYPE SUBCLAUSES &optional TOP SOURCE
Package

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

Source

parse-loop.lisp (file)

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 (file)

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 (file)

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 (file)

Function: make-struct-option-form OPTION-NAME &rest SPEC
Package

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

Source

parse-defstruct.lisp (file)

Function: make-struct-slot-form SLOT-NAME &optional INITFORM &rest KEYS &key TYPE READ-ONLY &allow-other-keys
Package

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

Source

parse-defstruct.lisp (file)

Function: mkllitem ITEM KIND &optional FORM
Package

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

Source

lambda-list-parsing.lisp (file)

Function: mkllvar ITEM KIND &optional FORM
Package

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

Source

lambda-list-parsing.lisp (file)

Function: multiple-value-bind-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: multiple-value-call-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: multiple-value-prog1-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: mvb-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: ordinary-lambda-list-allow-other-keys INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: ordinary-lambda-list-auxiliary-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: ordinary-lambda-list-keyword-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: ordinary-lambda-list-optional-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: ordinary-lambda-list-ordinary-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: ordinary-lambda-list-p OBJECT
Package

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

Source

lambda-list-parsing.lisp (file)

Function: ordinary-lambda-list-rest-var INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: parse-accumulation-clause ACC-KWD FORM CLAUSES ENV KEYS
Package

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

Source

parse-loop.lisp (file)

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 (file)

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 (file)

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 (file)

Function: parse-class-options CLASS-NAME OPTIONS ENV KEYS &aux PARSED-CLASS-OPTIONS NEW-ENV
Package

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

Source

parse-defclass.lisp (file)

Function: parse-class-slot CLASS-NAME CLASS-FORM SLOT ENV KEYS &aux PARSED-SLOT-OPTIONS NEW-ENV
Package

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

Source

parse-defclass.lisp (file)

Function: parse-class-slots CLASS-NAME CLASS-FORM SLOTS ENV KEYS
Package

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

Source

parse-defclass.lisp (file)

Function: parse-conditional-clause COND-KWD COND-FORM CLAUSES ENV KEYS
Package

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

Source

parse-loop.lisp (file)

Function: parse-declarations DECLS ENV ENCLOSING-FORM MACROEXPAND
Package

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

Source

parse.lisp (file)

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 (file)

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 (file)

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 (file)

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 (file)

Function: parse-lambda-list LL-TYPE LAMBDA-LIST &rest KEYS &key ENCLOSING-FORM ENVIRONMENT MACROEXPAND &allow-other-keys &aux PARSED-LL LL-VARS LL-DEFAULT-FORMS
Package

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

Source

parse-lambda-lists.lisp (file)

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 (file)

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 (file)

Function: parse-loop-compound-forms-clause CFC-KWD FORM CLAUSES ENV KEYS
Package

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

Source

parse-loop.lisp (file)

Function: parse-selectable-clauses SEL-CLAUSE-FORMS SEL-CLAUSES ENV KEYS
Package

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

Source

parse-loop.lisp (file)

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 (file)

Function: parse-struct-slot STRUCT-NAME SLOT ENV KEYS
Package

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

Source

parse-defstruct.lisp (file)

Function: parse-struct-slots STRUCT-NAME CONC-NAME SLOTS ENV KEYS
Package

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

Source

parse-defstruct.lisp (file)

Function: parse-termination-clause TERM-KWD FORM CLAUSES ENV KEYS
Package

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

Source

parse-loop.lisp (file)

Function: parsing-environment-blocks INSTANCE
Function: (setf parsing-environment-blocks) VALUE INSTANCE
Package

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

Source

clast-sbcl.lisp (file)

Function: parsing-environment-enclosing-env INSTANCE
Function: (setf parsing-environment-enclosing-env) VALUE INSTANCE
Package

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

Source

clast-sbcl.lisp (file)

Function: parsing-environment-environment INSTANCE
Function: (setf parsing-environment-environment) VALUE INSTANCE
Package

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

Source

clast-sbcl.lisp (file)

Function: parsing-environment-p OBJECT
Package

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

Source

clast-sbcl.lisp (file)

Function: parsing-environment-tags INSTANCE
Function: (setf parsing-environment-tags) VALUE INSTANCE
Package

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

Source

clast-sbcl.lisp (file)

Function: pll LL-TYPE LL &optional RECUR
Package

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

Source

lambda-list-parsing.lisp (file)

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 (file)

Function: prog*-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: prog-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: progn-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: progv-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: quote-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: return-from-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: reverse-subclauses LC
Package

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

Source

parse-loop.lisp (file)

Function: selection-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: set-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: setf-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: setq-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: simple-loop-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: special-variable-p V ENV
Package

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

Source

env-queries.lisp (file)

Function: special-variable-ref-p X
Package

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

Source

clast-elements.lisp (file)

Function: specialized-lambda-list-allow-other-keys INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: specialized-lambda-list-auxiliary-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: specialized-lambda-list-keyword-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: specialized-lambda-list-optional-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: specialized-lambda-list-ordinary-vars INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: specialized-lambda-list-p OBJECT
Package

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

Source

lambda-list-parsing.lisp (file)

Function: specialized-lambda-list-rest-var INSTANCE
Package

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

Source

lambda-list-parsing.lisp (file)

Function: start-loop-parsing LOOP-FORM ENV KEYS CLAUSES &aux LOOP-KWD
Package

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

Source

parse-loop.lisp (file)

Function: struct-option-subform-p X
Package

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

Source

parse-defstruct.lisp (file)

Function: struct-slot-subform-p X
Package

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

Source

parse-defstruct.lisp (file)

Function: symbol-macro-p S ENV
Package

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

Source

env-queries.lisp (file)

Function: symbol-macro-ref-p X
Package

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

Source

clast-elements.lisp (file)

Function: symbol-macrolet-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: symbol-ref-p X
Package

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

Source

clast-elements.lisp (file)

Function: t_lambda-list-p OBJECT
Package

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

Source

lambda-list-parsing.lisp (file)

Function: tagbody-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: tf-declaration-specifier-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: the-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: throw-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: type-declaration-specifier-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: type-specifier-form-p FORM
Package

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

Source

clast-elements.lisp (file)

Function: typecase-form-p X
Package

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

Source

clast-elements.lisp (file)

Function: variable-ref-p X
Package

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

Source

clast-elements.lisp (file)

Function: vbinding-form-p X
Package

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

Source

clast-elements.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.4 Generic functions

Generic Function: as-string FORM
Package

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

Source

clast-printing.lisp (file)

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 Function: block-name OBJECT
Generic Function: (setf block-name) NEW-VALUE OBJECT
Package

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

Methods
Method: block-name (BLOCK-FORM block-form)

automatically generated reader method

Source

clast-elements.lisp (file)

Method: (setf block-name) NEW-VALUE (BLOCK-FORM block-form)

automatically generated writer method

Source

clast-elements.lisp (file)

Generic Function: class-option-subform-name OBJECT
Package

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

Methods
Method: class-option-subform-name (CLASS-OPTION-SUBFORM class-option-subform)

automatically generated reader method

Source

parse-defclass.lisp (file)

Generic Function: class-option-subform-spec OBJECT
Package

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

Methods
Method: class-option-subform-spec (CLASS-OPTION-SUBFORM class-option-subform)

automatically generated reader method

Source