This is the monkeylib-text-languages Reference Manual, version 1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 07:06:28 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
monkeylib-text-languages
Compiler for text-based languages.
Peter Seibel <peter@gigamonkeys.com>
BSD
1.0
monkeylib-text-output
(system).
com.gigamonkeys.macro-utilities
(system).
packages.lisp
(file).
language.lisp
(file).
file-compiler.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
monkeylib-text-languages/monkeylib-text-languages.asd
monkeylib-text-languages/packages.lisp
monkeylib-text-languages/language.lisp
monkeylib-text-languages/file-compiler.lisp
monkeylib-text-languages/monkeylib-text-languages.asd
monkeylib-text-languages
(system).
monkeylib-text-languages/packages.lisp
monkeylib-text-languages
(system).
monkeylib-text-languages/language.lisp
packages.lisp
(file).
monkeylib-text-languages
(system).
case-preserving-readtable
(function).
comment
(generic function).
compile-special-op-body
(function).
define-language
(macro).
define-language-macro
(macro).
define-macro
(macro).
define-special-operator
(macro).
embeddable-value-form
(generic function).
emit
(function).
emit-for-language
(function).
expand-macro-form
(generic function).
foo-syntax-error
(condition).
fully-expand-macro-form
(function).
identifier
(generic function).
input-package
(reader method).
(setf input-package)
(writer method).
input-readtable
(reader method).
(setf input-readtable)
(writer method).
language
(class).
macro-form-p
(generic function).
macro-symbols
(reader method).
(setf macro-symbols)
(writer method).
output-file-type
(reader method).
(setf output-file-type)
(writer method).
parse-&environment
(function).
print-object
(method).
process
(function).
process-sexp
(generic function).
process-special-form
(generic function).
self-evaluating-p
(function).
sexp->ops
(function).
sexp-form-p
(generic function).
special-form-p
(generic function).
special-operator-symbols
(reader method).
(setf special-operator-symbols)
(writer method).
top-level-environment
(generic function).
cause-of
(reader method).
(setf cause-of)
(writer method).
find-in-plist
(function).
form-of
(reader method).
(setf form-of)
(writer method).
normalize-macro-lambda-list
(function).
monkeylib-text-languages/file-compiler.lisp
packages.lisp
(file).
language.lisp
(file).
monkeylib-text-languages
(system).
finish
(generic function).
generate
(function).
input-to-sexp
(generic function).
output-to-stream
(generic function).
Packages are listed by definition order.
monkeylib-text-languages
com.gigamonkeys.macro-utilities
.
common-lisp
.
monkeylib-text-output
.
case-preserving-readtable
(function).
comment
(generic function).
compile-special-op-body
(function).
define-language
(macro).
define-language-macro
(macro).
define-macro
(macro).
define-special-operator
(macro).
embeddable-value-form
(generic function).
emit
(function).
emit-for-language
(function).
expand-macro-form
(generic function).
foo-syntax-error
(condition).
fully-expand-macro-form
(function).
identifier
(generic function).
input-package
(generic reader).
(setf input-package)
(generic writer).
input-readtable
(generic reader).
(setf input-readtable)
(generic writer).
language
(class).
macro-form-p
(generic function).
macro-symbols
(generic reader).
(setf macro-symbols)
(generic writer).
output-file-type
(generic reader).
(setf output-file-type)
(generic writer).
parse-&environment
(function).
process
(function).
process-sexp
(generic function).
process-special-form
(generic function).
self-evaluating-p
(function).
sexp->ops
(function).
sexp-form-p
(generic function).
special-form-p
(generic function).
special-operator-symbols
(generic reader).
(setf special-operator-symbols)
(generic writer).
top-level-environment
(generic function).
cause-of
(generic reader).
(setf cause-of)
(generic writer).
find-in-plist
(function).
finish
(generic function).
form-of
(generic reader).
(setf form-of)
(generic writer).
generate
(function).
input-to-sexp
(generic function).
normalize-macro-lambda-list
(function).
output-to-stream
(generic function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Code generator generator.
Parse out an optional &environment parameter and return the parameter list without it and the name of the parameter.
Process FORM as an expression in LANGUAGE. The ENVIRONMENT is provided to special forms and to the basic evaluation rule implemented by a method on PROCESS-SEXP.
Return text as a comment.
Return a form that will evaluate to a string that can be embedded in the generated output.
Reasonable default. Languages that need to escape certain characters will need their own specializations of this method.
Extract a symbol that identifies the form.
Is the given form a macro form in language. The
default method probably does what you want–it extracts the form’s
identifier and looks for a macro-symbol on its plist.
language
)) ¶language
)) ¶symbols added to a symbol’s plist to indicate it
has been defined as a macro in LANGUAGE. These will typically be
pushed onto this list in an :after method on initialize-instance
so they are ordered the same as the class precedence list.
The basic evaluation rule for the language,
after special operators and macro forms have been handled.
Is the given form a meaningful non-special, non-macro form in language.
Suitable default for languages in which all forms that are not special or macros have some meaning. Languages that allow embedded code and embedded values will need their own specialization of this method.
Is the given form a special form in language. The
default method probably does what you want–it extracts the form’s
identifier and looks for a special-operator-symbol on its plist.
language
)) ¶language
)) ¶symbols added to a symbol’s plist to indicate it
has been defined as a macro in LANGUAGE. These will typically be
pushed onto this list in an :after method on initialize-instance
so they are ordered the same as the class precedence list.
Environment for evaluating top-level forms.
symbols added to a symbol’s plist to indicate it
has been defined as a macro in LANGUAGE. These will typically be
pushed onto this list in an :after method on initialize-instance
so they are ordered the same as the class precedence list.
symbols added to a symbol’s plist to indicate it
has been defined as a macro in LANGUAGE. These will typically be
pushed onto this list in an :after method on initialize-instance
so they are ordered the same as the class precedence list.
readtable we should use to read the input files in this language.
:input-readtable
package we should use to read the input file.
:input-package
file suffix for generated files.
:output-file-type
Find the first value on an identifier’s plist given a list of symbols. This is used to implement inheritance of special forms
Input can be a sexp, a string, or a stream. Output can be an output stream, a string, a pathname, NIL, or T. The latter two are interpreted as they are by CL:FORMAT, NIL generates a string, T send to *STANDARD-OUTPUT*.
Create a destructuring-lambda list that can parse a whole macro form, including an optional &whole parameter and a parameter to eat up the macro name.
foo-syntax-error
)) ¶foo-syntax-error
)) ¶Close the output stream or return the result as necessary.
foo-syntax-error
)) ¶foo-syntax-error
)) ¶form
.
Convert input to a sexp.
Convert output to a stream.
Jump to: | (
C D E F G I M N O P S T |
---|
Jump to: | (
C D E F G I M N O P S T |
---|
Jump to: | C F I M O S |
---|
Jump to: | C F I M O S |
---|
Jump to: | C F L M P S |
---|
Jump to: | C F L M P S |
---|