This is the mexpr Reference Manual, version 0.2.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 07:02:46 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
mexpr
Macro for infix math expressions.
Thayne McCombs <bytecurry.software@gmail.com>
LLPGL
mexpr is a library which contains a macro for
embedding mathematical expressions in lisp code with a more traditional
infix syntax. It also contains a reader macro for said syntax, and a macro
to extend the syntax with additional operators.
0.2.0
alexandria
(system).
cl-syntax
(system).
package.lisp
(file).
mexpr.lisp
(file).
operators.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
mexpr/mexpr.lisp
package.lisp
(file).
mexpr
(system).
defop
(macro).
enable-infix-syntax
(macro).
infix
(macro).
infix-reader
(function).
syntax-error
(condition).
syntax-error-type
(reader method).
*operators*
(special variable).
copy-op-state
(function).
copy-operator
(function).
do-operation
(function).
finalize-operations
(function).
form-head
(type).
get-operator-func
(function).
get-precedence
(function).
handle-end-group
(function).
handle-expr
(function).
make-op-state
(function).
make-operator
(function).
mexpr-impl
(function).
op-state
(structure).
op-state-operands
(reader).
(setf op-state-operands)
(writer).
op-state-operators
(reader).
(setf op-state-operators)
(writer).
op-state-p
(function).
operator
(structure).
operator-func
(reader).
(setf operator-func)
(writer).
operator-p
(function).
operator-precedence
(reader).
pop-operand
(function).
pop-operator
(function).
push-operand
(function).
push-operator
(function).
reduce-state
(function).
Packages are listed by definition order.
bytecurry.mexpr
A library for embedding mathematical expressions in lisp code using traditional infix syntax.
mexpr
alexandria
.
cl-syntax
.
common-lisp
.
defop
(macro).
enable-infix-syntax
(macro).
infix
(macro).
infix-reader
(function).
syntax-error
(condition).
syntax-error-type
(generic reader).
*operators*
(special variable).
copy-op-state
(function).
copy-operator
(function).
do-operation
(function).
finalize-operations
(function).
form-head
(type).
get-operator-func
(function).
get-precedence
(function).
handle-end-group
(function).
handle-expr
(function).
make-op-state
(function).
make-operator
(function).
mexpr-impl
(function).
op-state
(structure).
op-state-operands
(reader).
(setf op-state-operands)
(writer).
op-state-operators
(reader).
(setf op-state-operators)
(writer).
op-state-p
(function).
operator
(structure).
operator-func
(reader).
(setf operator-func)
(writer).
operator-p
(function).
operator-precedence
(reader).
pop-operand
(function).
pop-operator
(function).
push-operand
(function).
push-operator
(function).
reduce-state
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Define a new infix operator with the given name and precedence.
NAME is the symbol which will be used as a binary operator in an infix expression
PRECEDENCE is a positive integer for the precedence of the operator
FUNC is a symbol or lambda form that the operator will translate into during macro-expansion
Enable infix syntax with ’#n’, for example: #n(3 + 4) => 7
Macro to convert an infix expression, into an s-expression.
Reader macro function to read infix expressions.
syntax-error
)) ¶type
.
Hash map of operator symbols to precedence.
Do the operation for the operands on the stack.
Get the symbol or lambda form for the operator.
Get the precedence of an operator.
Convert an infix expression, into an s-expression –implementation.
func
.
Structure for state of the operation stacks.
Struct for information about an operator.
Jump to: | (
C D E F G H I M O P R S |
---|
Jump to: | (
C D E F G H I M O P R S |
---|
Jump to: | *
F O P S T |
---|
Jump to: | *
F O P S T |
---|
Jump to: | B C F M O P S T |
---|
Jump to: | B C F M O P S T |
---|