This is the with-c-syntax Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 08 19:57:16 2024 GMT+0.
with-c-syntax/with-c-syntax.asd
with-c-syntax/package.lisp
with-c-syntax/src/package.lisp
with-c-syntax/src/util.lisp
with-c-syntax/src/condition.lisp
with-c-syntax/src/physical-source.lisp
with-c-syntax/src/case-aware-find-symbol.lisp
with-c-syntax/src/pp-number.lisp
with-c-syntax/src/reader.lisp
with-c-syntax/src/struct.lisp
with-c-syntax/src/typedef.lisp
with-c-syntax/src/pseudo-pointer.lisp
with-c-syntax/src/lexer.lisp
with-c-syntax/src/compiler.lisp
with-c-syntax/src/preprocessor.lisp
with-c-syntax/src/predefined-macro.lisp
with-c-syntax/src/with-c-syntax.lisp
with-c-syntax/libc/package.lisp
with-c-syntax/libc/util.lisp
with-c-syntax/libc/assert.lisp
with-c-syntax/libc/ctype.lisp
with-c-syntax/libc/errno.lisp
with-c-syntax/libc/fenv.lisp
with-c-syntax/libc/float.lisp
with-c-syntax/libc/iso646.lisp
with-c-syntax/libc/limits.lisp
with-c-syntax/libc/math.lisp
with-c-syntax/libc/stdarg.lisp
with-c-syntax/libc/stddef.lisp
with-c-syntax/libc/string.lisp
with-c-syntax.preprocessor-directive.upcased
with-c-syntax.libc
with-c-syntax.syntax
with-c-syntax.preprocess-operator.upcased
with-c-syntax.core
with-c-syntax.pragma-name.upcased
with-c-syntax.predefined-macro
with-c-syntax.pragma-name
with-c-syntax
with-c-syntax.syntax.upcased
with-c-syntax.libc-implementation
with-c-syntax.punctuator
with-c-syntax.preprocessor-directive
with-c-syntax.preprocess-operator
The main system appears first, followed by any subsystem dependency.
with-c-syntax
with-c-syntax is a fun package which introduces the C language syntax into Common Lisp.
YOKOTA Yuki <y2q.actionman@gmail.com>
WTFPL
alexandria
(system).
yacc
(system).
named-readtables
(system).
cl-ppcre
(system).
trivial-gray-streams
(system).
asdf
(system).
split-sequence
(system).
float-features
(system).
floating-point-contractions
(system).
package.lisp
(file).
src
(module).
libc
(module).
include
(module).
Modules are listed depth-first from the system components tree.
with-c-syntax/src
package.lisp
(file).
with-c-syntax
(system).
package.lisp
(file).
util.lisp
(file).
condition.lisp
(file).
physical-source.lisp
(file).
case-aware-find-symbol.lisp
(file).
pp-number.lisp
(file).
reader.lisp
(file).
struct.lisp
(file).
typedef.lisp
(file).
pseudo-pointer.lisp
(file).
lexer.lisp
(file).
compiler.lisp
(file).
preprocessor.lisp
(file).
predefined-macro.lisp
(file).
with-c-syntax.lisp
(file).
with-c-syntax/libc
src
(module).
with-c-syntax
(system).
package.lisp
(file).
util.lisp
(file).
assert.lisp
(file).
ctype.lisp
(file).
errno.lisp
(file).
fenv.lisp
(file).
float.lisp
(file).
iso646.lisp
(file).
limits.lisp
(file).
math.lisp
(file).
stdarg.lisp
(file).
stddef.lisp
(file).
string.lisp
(file).
with-c-syntax/include
libc
(module).
with-c-syntax
(system).
Files are sorted by type and then listed depth-first from the systems components trees.
with-c-syntax/with-c-syntax.asd
with-c-syntax/package.lisp
with-c-syntax/src/package.lisp
with-c-syntax/src/util.lisp
with-c-syntax/src/condition.lisp
with-c-syntax/src/physical-source.lisp
with-c-syntax/src/case-aware-find-symbol.lisp
with-c-syntax/src/pp-number.lisp
with-c-syntax/src/reader.lisp
with-c-syntax/src/struct.lisp
with-c-syntax/src/typedef.lisp
with-c-syntax/src/pseudo-pointer.lisp
with-c-syntax/src/lexer.lisp
with-c-syntax/src/compiler.lisp
with-c-syntax/src/preprocessor.lisp
with-c-syntax/src/predefined-macro.lisp
with-c-syntax/src/with-c-syntax.lisp
with-c-syntax/libc/package.lisp
with-c-syntax/libc/util.lisp
with-c-syntax/libc/assert.lisp
with-c-syntax/libc/ctype.lisp
with-c-syntax/libc/errno.lisp
with-c-syntax/libc/fenv.lisp
with-c-syntax/libc/float.lisp
with-c-syntax/libc/iso646.lisp
with-c-syntax/libc/limits.lisp
with-c-syntax/libc/math.lisp
with-c-syntax/libc/stdarg.lisp
with-c-syntax/libc/stddef.lisp
with-c-syntax/libc/string.lisp
with-c-syntax/src/util.lisp
package.lisp
(file).
src
(module).
+bel-character+
(constant).
+nul-character+
(constant).
+vertical-tab-character+
(constant).
c-whitespace-p
(function).
_-symbol-p
(function).
add-to-tail
(function).
ashf
(macro).
collect-_-symbol-in-lambda-list
(function).
cond-let
(macro).
dimension-list-max-dimensions
(function).
divf
(macro).
lambda-ignoring-_
(macro).
logandf
(macro).
logiorf
(macro).
logxorf
(macro).
make-dimension-list
(function).
make-dimension-list-load-form
(function).
make-reduced-dimension-array
(function).
modf
(macro).
mulf
(macro).
mv-cond-let
(macro).
nest
(macro).
not-eql
(function).
nreconc-to
(function).
nreconcf
(macro).
post-incf
(macro).
push-right
(macro).
ref-dimension-list
(function).
(setf ref-dimension-list)
(function).
revappend-to
(function).
revappendf
(macro).
reverse-ash
(function).
reverse-ashf
(macro).
split-list-at
(function).
split-to-consecutive-parts
(function).
take-consecutive-part
(function).
terminating-char-p
(function).
with-c-syntax/src/condition.lisp
package.lisp
(file).
src
(module).
with-c-syntax-error
(condition).
with-c-syntax-style-warning
(condition).
with-c-syntax-warning
(condition).
compile-error
(condition).
lexer-error
(condition).
lexer-error-token
(reader method).
preprocess-error
(condition).
preprocess-if-expression-parse-error
(condition).
preprocess-include-file-error
(condition).
pseudo-pointer-dangling-error
(condition).
pseudo-pointer-error
(condition).
pseudo-pointer-error-offset
(reader method).
pseudo-pointer-error-pointee
(reader method).
pseudo-pointer-error-pointer
(reader method).
pseudo-pointer-null-dereference-error
(condition).
pseudo-pointer-type-error
(condition).
pseudo-pointer-write-error
(condition).
runtime-error
(condition).
with-c-syntax-parse-error
(condition).
with-c-syntax-reader-error
(condition).
with-c-syntax-style-warning-message
(reader method).
with-c-syntax/src/physical-source.lisp
condition.lisp
(file).
src
(module).
(setf stream-file-position)
(method).
stream-file-position
(method).
stream-peek-char
(method).
stream-read-char
(method).
stream-unread-char
(method).
*with-c-syntax-reader-process-backslash-newline*
(special variable).
*with-c-syntax-reader-process-trigraph*
(special variable).
adjust-newline-gap
(generic function).
count-physical-source-buffered-char
(method).
find-trigraph-character-by-last-character
(function).
physical-source-input-stream
(class).
physical-source-input-stream-newline-gap
(reader method).
(setf physical-source-input-stream-newline-gap)
(writer method).
translation-early-phase
(method).
with-c-syntax/src/case-aware-find-symbol.lisp
condition.lisp
(file).
src
(module).
define-case-aware-find-symbol
(macro).
define-case-aware-token-p-function
(macro).
find-c-terminal
(function).
find-pp-operator-name
(function).
find-pragma-name
(function).
find-preprocessor-directive
(function).
pp-defined-operator-p
(function).
pp-once-pragma-p
(function).
pp-pragma-directive-p
(function).
pp-pragma-operator-p
(function).
pp-stdc-pragma-p
(function).
pp-with-c-syntax-pragma-p
(function).
with-c-syntax/src/pp-number.lisp
condition.lisp
(file).
src
(module).
make-load-form
(method).
parse-preprocessing-number
(function).
preprocessing-number
(structure).
preprocessing-number-p
(function).
preprocessing-number-string
(reader).
(setf preprocessing-number-string)
(writer).
copy-preprocessing-number
(function).
find-lisp-type-by-c-floating-suffix
(function).
find-numeric-literal-type
(function).
make-preprocessing-number
(function).
parse-decimal-floating-constant
(function).
parse-hexadecimal-floating-constant
(function).
parse-integer-constant
(function).
parse-integer-suffix
(function).
preprocessing-number-parse-result
(reader).
(setf preprocessing-number-parse-result)
(writer).
read-preprocessing-number
(function).
read-preprocessing-number-from-string
(function).
with-c-syntax/src/reader.lisp
physical-source.lisp
(file).
case-aware-find-symbol.lisp
(file).
pp-number.lisp
(file).
src
(module).
*previous-readtable*
(special variable).
*with-c-syntax-reader-case*
(special variable).
*with-c-syntax-reader-level*
(special variable).
+newline-marker+
(constant).
+whitespace-marker+
(constant).
*second-unread-char*
(special variable).
+wcs-end-marker+
(constant).
+with-c-syntax-default-reader-level+
(constant).
define-c-syntax-reader-for-each-case-mode
(macro).
define-find-c-readtable-name-methods
(macro).
delete-whitespace-marker
(function).
find-c-readtable
(function).
find-c-readtable-name
(generic function).
get-c-readtable-level
(function).
parse-in-with-c-syntax-readtable-parameter-token
(function).
parse-in-with-c-syntax-readtable-parameters
(function).
process-reader-pragma
(function).
read-%
(function).
read-0x-numeric-literal
(function).
read-<
(function).
read-after-unread
(function).
read-colon
(function).
read-dot
(function).
read-double-quote
(function).
read-escaped-char
(function).
read-in-c-syntax
(function).
read-in-previous-readtable
(function).
read-l
(function).
read-lonely-single-symbol
(function).
read-minus
(function).
read-numeric-escape
(function).
read-plus-like-symbol
(function).
read-preprocessing-token
(function).
read-right-curly-bracket
(function).
read-sharp
(function).
read-sharp-as-dispatching-macro
(function).
read-shift
(function).
read-single-character-symbol
(function).
read-single-or-compound-assign
(function).
read-single-quote
(function).
read-slash
(function).
read-slash-comment
(function).
read-solely-bar
(function).
read-universal-character-name
(function).
remove-whitespace-marker
(function).
skip-c-whitespace
(function).
tokenize-source
(function).
with-c-syntax/src/struct.lisp
package.lisp
(file).
src
(module).
add-struct-spec
(function).
find-struct-spec
(function).
make-load-form
(method).
make-struct
(function).
remove-struct-spec
(function).
struct
(class).
struct-member
(function).
(setf struct-member)
(function).
*struct-specs*
(special variable).
copy-struct-spec
(function).
make-struct-spec
(function).
struct-member-index
(function).
struct-member-index-table
(reader method).
struct-member-vector
(reader method).
(setf struct-member-vector)
(writer method).
struct-spec
(structure).
struct-spec-defined-in-this-unit
(reader).
(setf struct-spec-defined-in-this-unit)
(writer).
struct-spec-member-defs
(reader).
(setf struct-spec-member-defs)
(writer).
struct-spec-p
(function).
struct-spec-struct-name
(reader).
(setf struct-spec-struct-name)
(writer).
struct-spec-union-p
(reader).
(setf struct-spec-union-p)
(writer).
with-c-syntax/src/typedef.lisp
package.lisp
(file).
src
(module).
add-typedef
(function).
find-typedef
(function).
remove-typedef
(function).
*typedef-names*
(special variable).
with-c-syntax/src/pseudo-pointer.lisp
util.lisp
(file).
condition.lisp
(file).
src
(module).
invalidate-all-pseudo-pointers
(function).
make-pseudo-pointer
(function).
pseudo-pointer
(type).
pseudo-pointer-dereference
(function).
(setf pseudo-pointer-dereference)
(function).
pseudo-pointer-invalidate
(function).
pseudo-pointer-pointable-p
(function).
with-pseudo-pointer-scope
(macro).
%make-pp-to-place
(function).
*next-pseudo-pointer*
(special variable).
*pseudo-pointee-table*
(special variable).
+pseudo-pointer-mask+
(constant).
+pseudo-pointer-safebit+
(constant).
copy-pseudo-pointer-to-place
(function).
make-pseudo-pointer-to-place
(macro).
pseudo-pointer-extract
(function).
pseudo-pointer-to-place
(structure).
pseudo-pointer-to-place-lambda
(reader).
(setf pseudo-pointer-to-place-lambda)
(writer).
pseudo-pointer-to-place-p
(function).
valid-pseudo-pointer
(type).
with-c-syntax/src/lexer.lisp
util.lisp
(file).
pp-number.lisp
(file).
reader.lisp
(file).
typedef.lisp
(file).
src
(module).
*with-c-syntax-preprocessor-process-digraph*
(special variable).
find-digraph-replacement
(function).
find-punctuator
(function).
list-lexer
(function).
pp-if-expression-lexer
(function).
with-c-syntax/src/compiler.lisp
lexer.lisp
(file).
struct.lisp
(file).
typedef.lisp
(file).
pseudo-pointer.lisp
(file).
src
(module).
enum
(type).
get-variadic-arguments
(macro).
make-load-form
(method).
make-load-form
(method).
make-load-form
(method).
make-load-form
(method).
make-load-form
(method).
make-load-form
(method).
make-load-form
(method).
make-load-form
(method).
%expand-translation-unit-splitter-key
(function).
%make-param-decl
(function).
*c-parser*
(special variable).
*function-pointer-ids*
(special variable).
*return-last-statement*
(special variable).
*wcs-expanding-environment*
(special variable).
+numeric-type-symbols+
(constant).
+numeric-types-alist+
(constant).
array-dimension-combine
(function).
c-type-to-lisp-type-declaration-hack
(function).
compute-function-return-type
(function).
concatenate-comma-list
(function).
copy-decl-specs
(function).
copy-enum-spec
(function).
copy-enumerator
(function).
copy-function-definition
(function).
copy-init-declarator
(function).
copy-lisp-type-declaration-table
(function).
copy-param-decl
(function).
copy-spec-qualifier-list
(function).
copy-stat
(function).
copy-struct-declarator
(function).
copy-struct-or-union-spec
(function).
decl-specs
(structure).
decl-specs-enum-bindings
(reader).
(setf decl-specs-enum-bindings)
(writer).
decl-specs-lisp-type
(reader).
(setf decl-specs-lisp-type)
(writer).
decl-specs-p
(function).
decl-specs-qualifier
(reader).
(setf decl-specs-qualifier)
(writer).
decl-specs-storage-class
(reader).
(setf decl-specs-storage-class)
(writer).
decl-specs-struct-spec
(reader).
(setf decl-specs-struct-spec)
(writer).
decl-specs-tag
(reader).
(setf decl-specs-tag)
(writer).
decl-specs-type-spec
(reader).
(setf decl-specs-type-spec)
(writer).
decl-specs-typedef-init-decl
(reader).
(setf decl-specs-typedef-init-decl)
(writer).
delete-symbols-from-function-pointer-ids
(function).
enum-spec
(structure).
enum-spec-enumerator-list
(reader).
(setf enum-spec-enumerator-list)
(writer).
enum-spec-id
(reader).
(setf enum-spec-id)
(writer).
enum-spec-p
(function).
enumerator
(structure).
enumerator-declarator
(function).
(setf enumerator-declarator)
(function).
enumerator-function-pointer-p
(function).
(setf enumerator-function-pointer-p)
(function).
enumerator-initializer
(function).
(setf enumerator-initializer)
(function).
enumerator-lisp-initform
(function).
(setf enumerator-lisp-initform)
(function).
enumerator-lisp-name
(function).
(setf enumerator-lisp-name)
(function).
enumerator-lisp-type
(function).
(setf enumerator-lisp-type)
(function).
enumerator-p
(function).
error-lisp-subscript
(function).
expand-compound-stat-into-stat
(function).
expand-declarator-bindings
(function).
expand-declarator-to-nest-macro-elements
(function).
expand-global-function-definition-to-nest-macro-element
(function).
expand-if-statement-into-stat
(function).
expand-init-declarator-init
(function).
expand-init-decls
(function).
expand-lisp-with-stat-into-stat
(function).
expand-loop-into-stat
(function).
expand-statement-expression
(function).
expand-static-function-definition-to-nest-macro-element
(function).
expand-switch-into-stat
(function).
expand-toplevel-const-exp
(function).
expand-toplevel-stat
(function).
expand-translation-unit
(function).
finalize-decl-specs
(function).
finalize-enum-spec
(function).
finalize-init-declarator
(function).
finalize-numeric-type-spec
(function).
finalize-struct-or-union-spec
(function).
finalize-type-spec
(function).
function-definition
(structure).
function-definition-func-args
(reader).
(setf function-definition-func-args)
(writer).
function-definition-func-body
(reader).
(setf function-definition-func-body)
(writer).
function-definition-func-name
(reader).
(setf function-definition-func-name)
(writer).
function-definition-lisp-type
(reader).
(setf function-definition-lisp-type)
(writer).
function-definition-p
(function).
function-definition-storage-class
(reader).
(setf function-definition-storage-class)
(writer).
function-parameter-void-p
(function).
generate-lisp-type-declarations
(function).
init-declarator
(structure).
init-declarator-declarator
(reader).
(setf init-declarator-declarator)
(writer).
init-declarator-function-pointer-p
(reader).
(setf init-declarator-function-pointer-p)
(writer).
init-declarator-initializer
(reader).
(setf init-declarator-initializer)
(writer).
init-declarator-lisp-initform
(reader).
(setf init-declarator-lisp-initform)
(writer).
init-declarator-lisp-name
(reader).
(setf init-declarator-lisp-name)
(writer).
init-declarator-lisp-type
(reader).
(setf init-declarator-lisp-type)
(writer).
init-declarator-p
(function).
lisp-subscript
(function).
(setf lisp-subscript)
(function).
lisp-type-declaration-table
(structure).
lisp-type-declaration-table-p
(function).
lisp-type-declaration-table-table
(reader).
(setf lisp-type-declaration-table-table)
(writer).
lispify-address-of
(function).
lispify-binary
(function).
lispify-cast
(function).
lispify-funcall
(function).
lispify-function-definition
(function).
lispify-offsetof
(function).
lispify-type-name
(function).
lispify-unary
(function).
make-decl-specs
(function).
make-enum-spec
(function).
make-enumerator
(function).
make-function-definition
(function).
make-init-declarator
(function).
make-lisp-type-declaration-table
(function).
make-param-decl
(function).
make-spec-qualifier-list
(function).
make-stat
(function).
make-stat-unresolved-break
(function).
make-stat-unresolved-continue
(function).
make-struct-declarator
(function).
make-struct-or-union-spec
(function).
merge-lisp-type-declaration-table
(function).
merge-stat
(function).
param-decl
(structure).
param-decl-decl-specs
(reader).
(setf param-decl-decl-specs)
(writer).
param-decl-init-declarator
(reader).
(setf param-decl-init-declarator)
(writer).
param-decl-p
(function).
parse-function-parameter-list
(function).
push-case-label
(function).
push-lisp-type-declaration-table
(function).
rewrite-break-statements
(function).
rewrite-continue-statements
(function).
setup-init-list
(function).
spec-qualifier-list
(structure).
spec-qualifier-list-enum-bindings
(function).
(setf spec-qualifier-list-enum-bindings)
(function).
spec-qualifier-list-lisp-type
(function).
(setf spec-qualifier-list-lisp-type)
(function).
spec-qualifier-list-p
(function).
spec-qualifier-list-qualifier
(function).
(setf spec-qualifier-list-qualifier)
(function).
spec-qualifier-list-storage-class
(function).
(setf spec-qualifier-list-storage-class)
(function).
spec-qualifier-list-struct-spec
(function).
(setf spec-qualifier-list-struct-spec)
(function).
spec-qualifier-list-tag
(function).
(setf spec-qualifier-list-tag)
(function).
spec-qualifier-list-type-spec
(function).
(setf spec-qualifier-list-type-spec)
(function).
spec-qualifier-list-typedef-init-decl
(function).
(setf spec-qualifier-list-typedef-init-decl)
(function).
stat
(structure).
stat-break-statements
(reader).
(setf stat-break-statements)
(writer).
stat-case-label-list
(reader).
(setf stat-case-label-list)
(writer).
stat-code
(reader).
(setf stat-code)
(writer).
stat-continue-statements
(reader).
(setf stat-continue-statements)
(writer).
stat-declarations
(reader).
(setf stat-declarations)
(writer).
stat-p
(function).
struct-declarator
(structure).
struct-declarator-bits
(reader).
(setf struct-declarator-bits)
(writer).
struct-declarator-declarator
(function).
(setf struct-declarator-declarator)
(function).
struct-declarator-function-pointer-p
(function).
(setf struct-declarator-function-pointer-p)
(function).
struct-declarator-initializer
(function).
(setf struct-declarator-initializer)
(function).
struct-declarator-lisp-initform
(function).
(setf struct-declarator-lisp-initform)
(function).
struct-declarator-lisp-name
(function).
(setf struct-declarator-lisp-name)
(function).
struct-declarator-lisp-type
(function).
(setf struct-declarator-lisp-type)
(function).
struct-declarator-p
(function).
struct-or-union-spec
(structure).
struct-or-union-spec-id
(reader).
(setf struct-or-union-spec-id)
(writer).
struct-or-union-spec-p
(function).
struct-or-union-spec-struct-decl-list
(reader).
(setf struct-or-union-spec-struct-decl-list)
(writer).
struct-or-union-spec-type
(reader).
(setf struct-or-union-spec-type)
(writer).
with-c-compilation-unit
(macro).
with-c-syntax-char
(type).
with-c-syntax/src/preprocessor.lisp
util.lisp
(file).
condition.lisp
(file).
pp-number.lisp
(file).
reader.lisp
(file).
case-aware-find-symbol.lisp
(file).
lexer.lisp
(file).
compiler.lisp
(file).
src
(module).
*with-c-syntax-find-include-file-function-list*
(special variable).
find-asdf-system-relative-file
(function).
initialize-instance
(method).
initialize-instance
(method).
initialize-instance
(method).
initialize-instance
(method).
preprocessor
(function).
print-object
(method).
print-object
(method).
print-object
(method).
+placemaker-token+
(constant).
add-local-preprocessor-macro
(function).
begin-if-section
(function).
check-and-pop-pp-directive-token-1
(macro).
check-in-if-section
(function).
check-no-preprocessor-token
(function).
check-replacement-list-equal
(generic function).
check-valid-macro-redefinition
(generic function).
collect-function-like-macro-identifier-list
(function).
collect-one-macro-argument
(function).
collect-preprocessor-macro-arguments
(function).
concatenate-token
(generic function).
copy-pp-macro-argument
(function).
delete-consecutive-whitespace-marker
(function).
draw-preprocessor-directive-line-tokens
(function).
earmuff-lengthes
(function).
eval-if-expression
(function).
expand-concatenate-operator
(function).
expand-defined-operator
(function).
expand-each-preprocessor-macro-in-list
(function).
expand-function-like-macro
(function).
expand-macro-argument
(function).
expand-macro-replacement-list
(function).
expand-object-like-macro
(function).
expand-predefined-macro
(function).
expand-preprocessor-macro
(function).
expand-stringify-operator
(function).
find-include-<header>-file
(function).
find-include-header-file
(function).
find-operator-on-prefix
(function).
find-operator-on-suffix
(function).
find-with-c-syntax-default-include-file
(function).
function-like-macro
(class).
function-like-macro-identifier-list
(reader method).
function-like-macro-invocation-p
(function).
function-like-macro-variadicp
(reader method).
if-section
(class).
if-section-add-group
(method).
if-section-processed-p
(method).
incompleted-macro-arguments-error
(condition).
intern-conc-pp-number
(function).
macro-control-marker-p
(function).
macro-definition
(class).
macro-definition-name
(reader method).
macro-definition-replacement-list
(reader method).
macro-scoping-marker-p
(function).
make-macro-arguments-alist
(function).
make-pp-macro-argument
(function).
object-like-macro
(class).
parse-header-name
(function).
parse-line-arguments
(function).
pop-include-state
(method).
pop-last-preprocessor-directive-token
(macro).
pop-next-newline
(macro).
pop-preprocessor-directive-token
(macro).
pp-macro-argument
(structure).
pp-macro-argument-macro-alist
(reader).
(setf pp-macro-argument-macro-alist)
(writer).
pp-macro-argument-p
(function).
pp-macro-argument-token-list
(reader).
(setf pp-macro-argument-token-list)
(writer).
pp-macro-argument-token-list-expansion
(reader).
(setf pp-macro-argument-token-list-expansion)
(writer).
pp-state-file-pathname
(reader method).
(setf pp-state-file-pathname)
(writer method).
pp-state-if-section-skip-reason
(reader method).
(setf pp-state-if-section-skip-reason)
(writer method).
pp-state-if-section-stack
(reader method).
(setf pp-state-if-section-stack)
(writer method).
pp-state-include-stack
(reader method).
(setf pp-state-include-stack)
(writer method).
pp-state-line-number
(reader method).
(setf pp-state-line-number)
(writer method).
pp-state-macro-alist
(reader method).
(setf pp-state-macro-alist)
(writer method).
pp-state-result-list
(reader method).
(setf pp-state-result-list)
(writer method).
pp-state-token-list
(reader method).
(setf pp-state-token-list)
(writer method).
pp-state-tokens-in-line
(reader method).
(setf pp-state-tokens-in-line)
(writer method).
preprocessor-loop
(function).
preprocessor-loop-at-directive-p
(function).
preprocessor-loop-concatenate-string
(function).
preprocessor-loop-do-directives
(function).
preprocessor-loop-do-pragma-operator
(function).
preprocessor-macro-exists-p
(function).
preprocessor-state
(class).
preprocessor-token-exists-p
(function).
preprocessor-try-split
(function).
process-preprocessing-directive
(generic function).
process-stdc-pragma
(function).
process-with-c-syntax-pragma
(function).
push-include-state
(method).
raise-no-preprocessor-token-error
(function).
remove-local-preprocessor-macro
(function).
replacement-list-equal
(function).
saved-include-state
(class).
saved-include-state-if-section-stack
(reader method).
saved-include-state-package
(reader method).
saved-include-state-readtable
(reader method).
split-concatenate-operator-left-operand
(function).
split-concatenate-operator-right-operand
(function).
stringification-separator-required-p
(generic function).
stringify-conced-integer
(function).
token-equal-p
(function).
tokenize-included-source-file
(function).
va-args-identifier-p
(function).
whitespace-like-token-p
(function).
with-preprocessor-state-slots
(macro).
with-c-syntax/src/predefined-macro.lisp
preprocessor.lisp
(file).
src
(module).
__date__
(function).
__file__
(function).
__line__
(function).
__stdc__
(constant).
__stdc_hosted__
(constant).
__stdc_mb_might_neq_wc__
(constant).
__stdc_version__
(constant).
__time__
(function).
+pp-date-month-name+
(constant).
with-c-syntax/src/with-c-syntax.lisp
preprocessor.lisp
(file).
compiler.lisp
(file).
src
(module).
with-c-syntax
(macro).
expand-c-syntax
(function).
with-c-syntax/libc/util.lisp
package.lisp
(file).
libc
(module).
with-c-syntax/libc/assert.lisp
with-c-syntax/libc/ctype.lisp
with-c-syntax/libc/errno.lisp
util.lisp
(file).
libc
(module).
define-errno-symbol
(macro).
find-errno-symbol
(function).
with-c-syntax/libc/fenv.lisp
util.lisp
(file).
float.lisp
(file).
libc
(module).
fe_all_except
(constant).
fe_divbyzero
(constant).
fe_invalid
(constant).
fe_overflow
(constant).
fe_underflow
(constant).
feclearexcept
(function).
fegetexceptflag
(function).
fegetround
(function).
feraiseexcept
(function).
fesetexceptflag
(function).
fetestexcept
(function).
*fexcept-register*
(special variable).
assign-wcs-fexcept
(function).
copy-wcs-fexcept
(function).
make-wcs-fexcept
(function).
test-wcs-fexcept-flags
(function).
wcs-fexcept
(structure).
wcs-fexcept-flags
(reader).
(setf wcs-fexcept-flags)
(writer).
wcs-fexcept-p
(function).
with-c-syntax/libc/float.lisp
util.lisp
(file).
libc
(module).
dbl_dig
(constant).
dbl_epsilon
(constant).
dbl_mant_dig
(constant).
dbl_max
(constant).
dbl_max_10_exp
(constant).
dbl_max_exp
(constant).
dbl_min
(constant).
dbl_min_10_exp
(constant).
dbl_min_exp
(constant).
decimal_dig
(constant).
flt_dig
(constant).
flt_epsilon
(constant).
flt_eval_method
(constant).
flt_mant_dig
(constant).
flt_max
(constant).
flt_max_10_exp
(constant).
flt_max_exp
(constant).
flt_min
(constant).
flt_min_10_exp
(constant).
flt_min_exp
(constant).
flt_radix
(constant).
flt_rounds
(constant).
ldbl_dig
(constant).
ldbl_epsilon
(constant).
ldbl_mant_dig
(constant).
ldbl_max
(constant).
ldbl_max_10_exp
(constant).
ldbl_max_exp
(constant).
ldbl_min
(constant).
ldbl_min_10_exp
(constant).
ldbl_min_exp
(constant).
mantissa-radix-change
(function).
with-c-syntax/libc/iso646.lisp
with-c-syntax/libc/limits.lisp
util.lisp
(file).
libc
(module).
char_bit
(constant).
char_max
(constant).
char_min
(constant).
int_max
(constant).
int_min
(constant).
llong_max
(constant).
llong_min
(constant).
long_max
(constant).
long_min
(constant).
mb_len_max
(constant).
schar_max
(constant).
schar_min
(constant).
shrt_max
(constant).
shrt_min
(constant).
uchar_max
(constant).
uint_max
(constant).
ullong_max
(constant).
ulong_max
(constant).
ushrt_max
(constant).
signed-byte-max
(function).
signed-byte-min
(function).
unsigned-byte-max
(function).
with-c-syntax/libc/math.lisp
util.lisp
(file).
errno.lisp
(file).
fenv.lisp
(file).
float.lisp
(file).
libc
(module).
acos
(function).
acosh
(function).
asin
(function).
asinh
(function).
atan
(function).
atan2
(function).
atanh
(function).
cbrt
(function).
ceil
(function).
copysign
(function).
cos
(function).
cosh
(function).
exp
(function).
exp2
(function).
expm1
(function).
fabs
(function).
fdim
(function).
floor
(function).
fmax
(function).
fmin
(function).
fmod
(function).
fp_ilogb0
(constant).
fp_ilogbnan
(constant).
fp_infinite
(constant).
fp_nan
(constant).
fp_normal
(constant).
fp_subnormal
(constant).
fp_zero
(constant).
fpclassify
(function).
frexp*
(function).
huge_val
(constant).
huge_valf
(constant).
huge_vall
(constant).
hypot
(function).
ilogb
(function).
infinity
(constant).
isfinite
(function).
isgreater
(function).
isgreaterequal
(function).
isinf
(function).
isless
(function).
islessequal
(function).
islessgreater
(function).
isnan
(function).
isnormal
(function).
isunordered
(compiler macro).
isunordered
(function).
ldexp
(function).
lerp
(function).
llround
(function).
log
(function).
log10
(function).
log1p
(function).
log2
(function).
logb
(function).
lround
(function).
math_errexcept
(constant).
math_errhandling
(constant).
math_errno
(constant).
modf*
(function).
nan
(special variable).
nan
(function).
nextafter
(function).
nexttoward
(function).
pow
(function).
remainder
(function).
remquo*
(function).
round
(function).
scalbln
(function).
scalbn
(function).
signbit
(function).
sin
(function).
sinh
(function).
sqrt
(function).
tan
(function).
tanh
(function).
trunc
(function).
call-with-wcs-math-error-handler
(function).
check-nextafter-result
(function).
check-wcs-math-result
(function).
float-subnormal-p
(function).
pow-result-significantly-complex-p
(function).
step-double-float-minus
(function).
step-double-float-plus
(function).
wcs-raise-fe-exception
(function).
with-fmax-fmin-parameter-check
(macro).
with-log-error-handling
(macro).
with-mod-family-error-handling
(macro).
with-nearest-int-error-handling
(macro).
with-wcs-math-error-handling
(macro).
with-c-syntax/libc/stdarg.lisp
with-c-syntax/libc/stddef.lisp
with-c-syntax/libc/string.lisp
util.lisp
(file).
libc
(module).
memchr
(function).
memcmp
(function).
memcpy
(function).
memmove
(function).
memset
(function).
strcat
(function).
strchr
(function).
strcmp
(function).
strcpy
(function).
strcspn
(function).
strlen
(function).
strncat
(function).
strncmp
(function).
strncpy
(function).
strpbrk
(function).
strrchr
(function).
strspn
(function).
strstr
(function).
strtok
(function).
*strtok-target*
(special variable).
make-trimed-vector
(function).
make-trimed-vectorf
(macro).
resize-string
(function).
resize-stringf
(macro).
strchr*
(function).
strcmp*
(function).
strcspn*
(function).
strspn*
(function).
Packages are listed by definition order.
with-c-syntax.preprocessor-directive.upcased
with-c-syntax.libc
with-c-syntax.syntax
with-c-syntax.preprocess-operator.upcased
with-c-syntax.core
with-c-syntax.pragma-name.upcased
with-c-syntax.predefined-macro
with-c-syntax.pragma-name
with-c-syntax
with-c-syntax.syntax.upcased
with-c-syntax.libc-implementation
with-c-syntax.punctuator
with-c-syntax.preprocessor-directive
with-c-syntax.preprocess-operator
with-c-syntax.libc
with-c-syntax libc package.
acos
(function).
acosh
(function).
asin
(function).
asinh
(function).
assert
(macro).
atan
(function).
atan2
(function).
atanh
(function).
cbrt
(function).
ceil
(function).
char_bit
(constant).
char_max
(constant).
char_min
(constant).
copysign
(function).
cos
(function).
cosh
(function).
dbl_dig
(constant).
dbl_epsilon
(constant).
dbl_mant_dig
(constant).
dbl_max
(constant).
dbl_max_10_exp
(constant).
dbl_max_exp
(constant).
dbl_min
(constant).
dbl_min_10_exp
(constant).
dbl_min_exp
(constant).
decimal_dig
(constant).
edom
(special variable).
eilseq
(special variable).
erange
(special variable).
errno
(special variable).
exp
(function).
exp2
(function).
expm1
(function).
fabs
(function).
fdim
(function).
fe_all_except
(constant).
fe_divbyzero
(constant).
fe_invalid
(constant).
fe_overflow
(constant).
fe_underflow
(constant).
feclearexcept
(function).
fegetexceptflag
(function).
fegetround
(function).
feraiseexcept
(function).
fesetexceptflag
(function).
fetestexcept
(function).
floor
(function).
flt_dig
(constant).
flt_epsilon
(constant).
flt_eval_method
(constant).
flt_mant_dig
(constant).
flt_max
(constant).
flt_max_10_exp
(constant).
flt_max_exp
(constant).
flt_min
(constant).
flt_min_10_exp
(constant).
flt_min_exp
(constant).
flt_radix
(constant).
flt_rounds
(constant).
fmax
(function).
fmin
(function).
fmod
(function).
fp_ilogb0
(constant).
fp_ilogbnan
(constant).
fp_infinite
(constant).
fp_nan
(constant).
fp_normal
(constant).
fp_subnormal
(constant).
fp_zero
(constant).
fpclassify
(function).
frexp*
(function).
huge_val
(constant).
huge_valf
(constant).
huge_vall
(constant).
hypot
(function).
ilogb
(function).
infinity
(constant).
int_max
(constant).
int_min
(constant).
isalnum
(function).
isalpha
(function).
isblank
(function).
iscntrl
(function).
isdigit
(function).
isfinite
(function).
isgraph
(function).
isgreater
(function).
isgreaterequal
(function).
isinf
(function).
isless
(function).
islessequal
(function).
islessgreater
(function).
islower
(function).
isnan
(function).
isnormal
(function).
isprint
(function).
ispunct
(function).
isspace
(function).
isunordered
(compiler macro).
isunordered
(function).
isupper
(function).
isxdigit
(function).
ldbl_dig
(constant).
ldbl_epsilon
(constant).
ldbl_mant_dig
(constant).
ldbl_max
(constant).
ldbl_max_10_exp
(constant).
ldbl_max_exp
(constant).
ldbl_min
(constant).
ldbl_min_10_exp
(constant).
ldbl_min_exp
(constant).
ldexp
(function).
lerp
(function).
llong_max
(constant).
llong_min
(constant).
llround
(function).
log
(function).
log10
(function).
log1p
(function).
log2
(function).
logb
(function).
long_max
(constant).
long_min
(constant).
lround
(function).
math_errexcept
(constant).
math_errhandling
(constant).
math_errno
(constant).
mb_len_max
(constant).
memchr
(function).
memcmp
(function).
memcpy
(function).
memmove
(function).
memset
(function).
modf*
(function).
nan
(special variable).
nan
(function).
ndebug
(special variable).
nextafter
(function).
nexttoward
(function).
null
(constant).
null
(function).
pow
(function).
remainder
(function).
remquo*
(function).
round
(function).
scalbln
(function).
scalbn
(function).
schar_max
(constant).
schar_min
(constant).
shrt_max
(constant).
shrt_min
(constant).
signbit
(function).
sin
(function).
sinh
(function).
sqrt
(function).
strcat
(function).
strchr
(function).
strcmp
(function).
strcpy
(function).
strcspn
(function).
strlen
(function).
strncat
(function).
strncmp
(function).
strncpy
(function).
strpbrk
(function).
strrchr
(function).
strspn
(function).
strstr
(function).
strtok
(function).
tan
(function).
tanh
(function).
tolower
(function).
toupper
(function).
trunc
(function).
uchar_max
(constant).
uint_max
(constant).
ullong_max
(constant).
ulong_max
(constant).
ushrt_max
(constant).
va_copy
(macro).
va_end
(macro).
va_start
(macro).
with-c-syntax.core
with-c-syntax core package.
alexandria
.
common-lisp
.
editor-hints.named-readtables
.
with-c-syntax
.
with-c-syntax.syntax
.
+bel-character+
(constant).
+newline-marker+
(constant).
+nul-character+
(constant).
+vertical-tab-character+
(constant).
+whitespace-marker+
(constant).
add-struct-spec
(function).
add-typedef
(function).
c-whitespace-p
(function).
enum
(type).
find-asdf-system-relative-file
(function).
find-struct-spec
(function).
find-typedef
(function).
get-variadic-arguments
(macro).
invalidate-all-pseudo-pointers
(function).
make-pseudo-pointer
(function).
make-struct
(function).
parse-preprocessing-number
(function).
preprocessing-number
(structure).
preprocessing-number-p
(function).
preprocessing-number-string
(reader).
(setf preprocessing-number-string)
(writer).
preprocessor
(function).
pseudo-pointer
(type).
pseudo-pointer-dereference
(function).
(setf pseudo-pointer-dereference)
(function).
pseudo-pointer-invalidate
(function).
pseudo-pointer-pointable-p
(function).
remove-struct-spec
(function).
remove-typedef
(function).
struct
(class).
struct-member
(function).
(setf struct-member)
(function).
with-c-syntax-error
(condition).
with-c-syntax-style-warning
(condition).
with-c-syntax-warning
(condition).
with-pseudo-pointer-scope
(macro).
%expand-translation-unit-splitter-key
(function).
%make-param-decl
(function).
%make-pp-to-place
(function).
*c-parser*
(special variable).
*function-pointer-ids*
(special variable).
*next-pseudo-pointer*
(special variable).
*pseudo-pointee-table*
(special variable).
*return-last-statement*
(special variable).
*second-unread-char*
(special variable).
*struct-specs*
(special variable).
*typedef-names*
(special variable).
*wcs-expanding-environment*
(special variable).
*with-c-syntax-preprocessor-process-digraph*
(special variable).
*with-c-syntax-reader-process-backslash-newline*
(special variable).
*with-c-syntax-reader-process-trigraph*
(special variable).
+numeric-type-symbols+
(constant).
+numeric-types-alist+
(constant).
+placemaker-token+
(constant).
+pp-date-month-name+
(constant).
+pseudo-pointer-mask+
(constant).
+pseudo-pointer-safebit+
(constant).
+wcs-end-marker+
(constant).
+with-c-syntax-default-reader-level+
(constant).
_-symbol-p
(function).
add-local-preprocessor-macro
(function).
add-to-tail
(function).
adjust-newline-gap
(generic function).
array-dimension-combine
(function).
ashf
(macro).
begin-if-section
(function).
c-type-to-lisp-type-declaration-hack
(function).
check-and-pop-pp-directive-token-1
(macro).
check-in-if-section
(function).
check-no-preprocessor-token
(function).
check-replacement-list-equal
(generic function).
check-valid-macro-redefinition
(generic function).
collect-_-symbol-in-lambda-list
(function).
collect-function-like-macro-identifier-list
(function).
collect-one-macro-argument
(function).
collect-preprocessor-macro-arguments
(function).
compile-error
(condition).
compute-function-return-type
(function).
concatenate-comma-list
(function).
concatenate-token
(generic function).
cond-let
(macro).
copy-decl-specs
(function).
copy-enum-spec
(function).
copy-enumerator
(function).
copy-function-definition
(function).
copy-init-declarator
(function).
copy-lisp-type-declaration-table
(function).
copy-param-decl
(function).
copy-pp-macro-argument
(function).
copy-preprocessing-number
(function).
copy-pseudo-pointer-to-place
(function).
copy-spec-qualifier-list
(function).
copy-stat
(function).
copy-struct-declarator
(function).
copy-struct-or-union-spec
(function).
copy-struct-spec
(function).
count-physical-source-buffered-char
(generic function).
decl-specs
(structure).
decl-specs-enum-bindings
(reader).
(setf decl-specs-enum-bindings)
(writer).
decl-specs-lisp-type
(reader).
(setf decl-specs-lisp-type)
(writer).
decl-specs-p
(function).
decl-specs-qualifier
(reader).
(setf decl-specs-qualifier)
(writer).
decl-specs-storage-class
(reader).
(setf decl-specs-storage-class)
(writer).
decl-specs-struct-spec
(reader).
(setf decl-specs-struct-spec)
(writer).
decl-specs-tag
(reader).
(setf decl-specs-tag)
(writer).
decl-specs-type-spec
(reader).
(setf decl-specs-type-spec)
(writer).
decl-specs-typedef-init-decl
(reader).
(setf decl-specs-typedef-init-decl)
(writer).
define-c-syntax-reader-for-each-case-mode
(macro).
define-case-aware-find-symbol
(macro).
define-case-aware-token-p-function
(macro).
define-find-c-readtable-name-methods
(macro).
delete-consecutive-whitespace-marker
(function).
delete-symbols-from-function-pointer-ids
(function).
delete-whitespace-marker
(function).
dimension-list-max-dimensions
(function).
divf
(macro).
draw-preprocessor-directive-line-tokens
(function).
earmuff-lengthes
(function).
enum-spec
(structure).
enum-spec-enumerator-list
(reader).
(setf enum-spec-enumerator-list)
(writer).
enum-spec-id
(reader).
(setf enum-spec-id)
(writer).
enum-spec-p
(function).
enumerator
(structure).
enumerator-declarator
(function).
(setf enumerator-declarator)
(function).
enumerator-function-pointer-p
(function).
(setf enumerator-function-pointer-p)
(function).
enumerator-initializer
(function).
(setf enumerator-initializer)
(function).
enumerator-lisp-initform
(function).
(setf enumerator-lisp-initform)
(function).
enumerator-lisp-name
(function).
(setf enumerator-lisp-name)
(function).
enumerator-lisp-type
(function).
(setf enumerator-lisp-type)
(function).
enumerator-p
(function).
error-lisp-subscript
(function).
eval-if-expression
(function).
expand-c-syntax
(function).
expand-compound-stat-into-stat
(function).
expand-concatenate-operator
(function).
expand-declarator-bindings
(function).
expand-declarator-to-nest-macro-elements
(function).
expand-defined-operator
(function).
expand-each-preprocessor-macro-in-list
(function).
expand-function-like-macro
(function).
expand-global-function-definition-to-nest-macro-element
(function).
expand-if-statement-into-stat
(function).
expand-init-declarator-init
(function).
expand-init-decls
(function).
expand-lisp-with-stat-into-stat
(function).
expand-loop-into-stat
(function).
expand-macro-argument
(function).
expand-macro-replacement-list
(function).
expand-object-like-macro
(function).
expand-predefined-macro
(function).
expand-preprocessor-macro
(function).
expand-statement-expression
(function).
expand-static-function-definition-to-nest-macro-element
(function).
expand-stringify-operator
(function).
expand-switch-into-stat
(function).
expand-toplevel-const-exp
(function).
expand-toplevel-stat
(function).
expand-translation-unit
(function).
finalize-decl-specs
(function).
finalize-enum-spec
(function).
finalize-init-declarator
(function).
finalize-numeric-type-spec
(function).
finalize-struct-or-union-spec
(function).
finalize-type-spec
(function).
find-c-readtable
(function).
find-c-readtable-name
(generic function).
find-c-terminal
(function).
find-digraph-replacement
(function).
find-include-<header>-file
(function).
find-include-header-file
(function).
find-lisp-type-by-c-floating-suffix
(function).
find-numeric-literal-type
(function).
find-operator-on-prefix
(function).
find-operator-on-suffix
(function).
find-pp-operator-name
(function).
find-pragma-name
(function).
find-preprocessor-directive
(function).
find-punctuator
(function).
find-trigraph-character-by-last-character
(function).
find-with-c-syntax-default-include-file
(function).
function-definition
(structure).
function-definition-func-args
(reader).
(setf function-definition-func-args)
(writer).
function-definition-func-body
(reader).
(setf function-definition-func-body)
(writer).
function-definition-func-name
(reader).
(setf function-definition-func-name)
(writer).
function-definition-lisp-type
(reader).
(setf function-definition-lisp-type)
(writer).
function-definition-p
(function).
function-definition-storage-class
(reader).
(setf function-definition-storage-class)
(writer).
function-like-macro
(class).
function-like-macro-identifier-list
(generic reader).
function-like-macro-invocation-p
(function).
function-like-macro-variadicp
(generic reader).
function-parameter-void-p
(function).
generate-lisp-type-declarations
(function).
get-c-readtable-level
(function).
if-section
(class).
if-section-add-group
(generic function).
if-section-processed-p
(generic function).
incompleted-macro-arguments-error
(condition).
init-declarator
(structure).
init-declarator-declarator
(reader).
(setf init-declarator-declarator)
(writer).
init-declarator-function-pointer-p
(reader).
(setf init-declarator-function-pointer-p)
(writer).
init-declarator-initializer
(reader).
(setf init-declarator-initializer)
(writer).
init-declarator-lisp-initform
(reader).
(setf init-declarator-lisp-initform)
(writer).
init-declarator-lisp-name
(reader).
(setf init-declarator-lisp-name)
(writer).
init-declarator-lisp-type
(reader).
(setf init-declarator-lisp-type)
(writer).
init-declarator-p
(function).
intern-conc-pp-number
(function).
lambda-ignoring-_
(macro).
lexer-error
(condition).
lexer-error-token
(generic reader).
lisp-subscript
(function).
(setf lisp-subscript)
(function).
lisp-type-declaration-table
(structure).
lisp-type-declaration-table-p
(function).
lisp-type-declaration-table-table
(reader).
(setf lisp-type-declaration-table-table)
(writer).
lispify-address-of
(function).
lispify-binary
(function).
lispify-cast
(function).
lispify-funcall
(function).
lispify-function-definition
(function).
lispify-offsetof
(function).
lispify-type-name
(function).
lispify-unary
(function).
list-lexer
(function).
logandf
(macro).
logiorf
(macro).
logxorf
(macro).
macro-control-marker-p
(function).
macro-definition
(class).
macro-definition-name
(generic reader).
macro-definition-replacement-list
(generic reader).
macro-scoping-marker-p
(function).
make-decl-specs
(function).
make-dimension-list
(function).
make-dimension-list-load-form
(function).
make-enum-spec
(function).
make-enumerator
(function).
make-function-definition
(function).
make-init-declarator
(function).
make-lisp-type-declaration-table
(function).
make-macro-arguments-alist
(function).
make-param-decl
(function).
make-pp-macro-argument
(function).
make-preprocessing-number
(function).
make-pseudo-pointer-to-place
(macro).
make-reduced-dimension-array
(function).
make-spec-qualifier-list
(function).
make-stat
(function).
make-stat-unresolved-break
(function).
make-stat-unresolved-continue
(function).
make-struct-declarator
(function).
make-struct-or-union-spec
(function).
make-struct-spec
(function).
merge-lisp-type-declaration-table
(function).
merge-stat
(function).
modf
(macro).
mulf
(macro).
mv-cond-let
(macro).
nest
(macro).
not-eql
(function).
nreconc-to
(function).
nreconcf
(macro).
object-like-macro
(class).
param-decl
(structure).
param-decl-decl-specs
(reader).
(setf param-decl-decl-specs)
(writer).
param-decl-init-declarator
(reader).
(setf param-decl-init-declarator)
(writer).
param-decl-p
(function).
parse-decimal-floating-constant
(function).
parse-function-parameter-list
(function).
parse-header-name
(function).
parse-hexadecimal-floating-constant
(function).
parse-in-with-c-syntax-readtable-parameter-token
(function).
parse-in-with-c-syntax-readtable-parameters
(function).
parse-integer-constant
(function).
parse-integer-suffix
(function).
parse-line-arguments
(function).
physical-source-input-stream
(class).
physical-source-input-stream-newline-gap
(generic reader).
(setf physical-source-input-stream-newline-gap)
(generic writer).
pop-include-state
(generic function).
pop-last-preprocessor-directive-token
(macro).
pop-next-newline
(macro).
pop-preprocessor-directive-token
(macro).
post-incf
(macro).
pp-defined-operator-p
(function).
pp-if-expression-lexer
(function).
pp-macro-argument
(structure).
pp-macro-argument-macro-alist
(reader).
(setf pp-macro-argument-macro-alist)
(writer).
pp-macro-argument-p
(function).
pp-macro-argument-token-list
(reader).
(setf pp-macro-argument-token-list)
(writer).
pp-macro-argument-token-list-expansion
(reader).
(setf pp-macro-argument-token-list-expansion)
(writer).
pp-once-pragma-p
(function).
pp-pragma-directive-p
(function).
pp-pragma-operator-p
(function).
pp-state-file-pathname
(generic reader).
(setf pp-state-file-pathname)
(generic writer).
pp-state-if-section-skip-reason
(generic reader).
(setf pp-state-if-section-skip-reason)
(generic writer).
pp-state-if-section-stack
(generic reader).
(setf pp-state-if-section-stack)
(generic writer).
pp-state-include-stack
(generic reader).
(setf pp-state-include-stack)
(generic writer).
pp-state-line-number
(generic reader).
(setf pp-state-line-number)
(generic writer).
pp-state-macro-alist
(generic reader).
(setf pp-state-macro-alist)
(generic writer).
pp-state-result-list
(generic reader).
(setf pp-state-result-list)
(generic writer).
pp-state-token-list
(generic reader).
(setf pp-state-token-list)
(generic writer).
pp-state-tokens-in-line
(generic reader).
(setf pp-state-tokens-in-line)
(generic writer).
pp-stdc-pragma-p
(function).
pp-with-c-syntax-pragma-p
(function).
preprocess-error
(condition).
preprocess-if-expression-parse-error
(condition).
preprocess-include-file-error
(condition).
preprocessing-number-parse-result
(reader).
(setf preprocessing-number-parse-result)
(writer).
preprocessor-loop
(function).
preprocessor-loop-at-directive-p
(function).
preprocessor-loop-concatenate-string
(function).
preprocessor-loop-do-directives
(function).
preprocessor-loop-do-pragma-operator
(function).
preprocessor-macro-exists-p
(function).
preprocessor-state
(class).
preprocessor-token-exists-p
(function).
preprocessor-try-split
(function).
process-preprocessing-directive
(generic function).
process-reader-pragma
(function).
process-stdc-pragma
(function).
process-with-c-syntax-pragma
(function).
pseudo-pointer-dangling-error
(condition).
pseudo-pointer-error
(condition).
pseudo-pointer-error-offset
(generic reader).
pseudo-pointer-error-pointee
(generic reader).
pseudo-pointer-error-pointer
(generic reader).
pseudo-pointer-extract
(function).
pseudo-pointer-null-dereference-error
(condition).
pseudo-pointer-to-place
(structure).
pseudo-pointer-to-place-lambda
(reader).
(setf pseudo-pointer-to-place-lambda)
(writer).
pseudo-pointer-to-place-p
(function).
pseudo-pointer-type-error
(condition).
pseudo-pointer-write-error
(condition).
push-case-label
(function).
push-include-state
(generic function).
push-lisp-type-declaration-table
(function).
push-right
(macro).
raise-no-preprocessor-token-error
(function).
read-%
(function).
read-0x-numeric-literal
(function).
read-<
(function).
read-after-unread
(function).
read-colon
(function).
read-dot
(function).
read-double-quote
(function).
read-escaped-char
(function).
read-in-c-syntax
(function).
read-in-previous-readtable
(function).
read-l
(function).
read-lonely-single-symbol
(function).
read-minus
(function).
read-numeric-escape
(function).
read-plus-like-symbol
(function).
read-preprocessing-number
(function).
read-preprocessing-number-from-string
(function).
read-preprocessing-token
(function).
read-right-curly-bracket
(function).
read-sharp
(function).
read-sharp-as-dispatching-macro
(function).
read-shift
(function).
read-single-character-symbol
(function).
read-single-or-compound-assign
(function).
read-single-quote
(function).
read-slash
(function).
read-slash-comment
(function).
read-solely-bar
(function).
read-universal-character-name
(function).
ref-dimension-list
(function).
(setf ref-dimension-list)
(function).
remove-local-preprocessor-macro
(function).
remove-whitespace-marker
(function).
replacement-list-equal
(function).
revappend-to
(function).
revappendf
(macro).
reverse-ash
(function).
reverse-ashf
(macro).
rewrite-break-statements
(function).
rewrite-continue-statements
(function).
runtime-error
(condition).
saved-include-state
(class).
saved-include-state-if-section-stack
(generic reader).
saved-include-state-package
(generic reader).
saved-include-state-readtable
(generic reader).
setup-init-list
(function).
skip-c-whitespace
(function).
spec-qualifier-list
(structure).
spec-qualifier-list-enum-bindings
(function).
(setf spec-qualifier-list-enum-bindings)
(function).
spec-qualifier-list-lisp-type
(function).
(setf spec-qualifier-list-lisp-type)
(function).
spec-qualifier-list-p
(function).
spec-qualifier-list-qualifier
(function).
(setf spec-qualifier-list-qualifier)
(function).
spec-qualifier-list-storage-class
(function).
(setf spec-qualifier-list-storage-class)
(function).
spec-qualifier-list-struct-spec
(function).
(setf spec-qualifier-list-struct-spec)
(function).
spec-qualifier-list-tag
(function).
(setf spec-qualifier-list-tag)
(function).
spec-qualifier-list-type-spec
(function).
(setf spec-qualifier-list-type-spec)
(function).
spec-qualifier-list-typedef-init-decl
(function).
(setf spec-qualifier-list-typedef-init-decl)
(function).
split-concatenate-operator-left-operand
(function).
split-concatenate-operator-right-operand
(function).
split-list-at
(function).
split-to-consecutive-parts
(function).
stat
(structure).
stat-break-statements
(reader).
(setf stat-break-statements)
(writer).
stat-case-label-list
(reader).
(setf stat-case-label-list)
(writer).
stat-code
(reader).
(setf stat-code)
(writer).
stat-continue-statements
(reader).
(setf stat-continue-statements)
(writer).
stat-declarations
(reader).
(setf stat-declarations)
(writer).
stat-p
(function).
stringification-separator-required-p
(generic function).
stringify-conced-integer
(function).
struct-declarator
(structure).
struct-declarator-bits
(reader).
(setf struct-declarator-bits)
(writer).
struct-declarator-declarator
(function).
(setf struct-declarator-declarator)
(function).
struct-declarator-function-pointer-p
(function).
(setf struct-declarator-function-pointer-p)
(function).
struct-declarator-initializer
(function).
(setf struct-declarator-initializer)
(function).
struct-declarator-lisp-initform
(function).
(setf struct-declarator-lisp-initform)
(function).
struct-declarator-lisp-name
(function).
(setf struct-declarator-lisp-name)
(function).
struct-declarator-lisp-type
(function).
(setf struct-declarator-lisp-type)
(function).
struct-declarator-p
(function).
struct-member-index
(function).
struct-member-index-table
(generic reader).
struct-member-vector
(generic reader).
(setf struct-member-vector)
(generic writer).
struct-or-union-spec
(structure).
struct-or-union-spec-id
(reader).
(setf struct-or-union-spec-id)
(writer).
struct-or-union-spec-p
(function).
struct-or-union-spec-struct-decl-list
(reader).
(setf struct-or-union-spec-struct-decl-list)
(writer).
struct-or-union-spec-type
(reader).
(setf struct-or-union-spec-type)
(writer).
struct-spec
(structure).
struct-spec-defined-in-this-unit
(reader).
(setf struct-spec-defined-in-this-unit)
(writer).
struct-spec-member-defs
(reader).
(setf struct-spec-member-defs)
(writer).
struct-spec-p
(function).
struct-spec-struct-name
(reader).
(setf struct-spec-struct-name)
(writer).
struct-spec-union-p
(reader).
(setf struct-spec-union-p)
(writer).
take-consecutive-part
(function).
terminating-char-p
(function).
token-equal-p
(function).
tokenize-included-source-file
(function).
tokenize-source
(function).
translation-early-phase
(generic function).
va-args-identifier-p
(function).
valid-pseudo-pointer
(type).
whitespace-like-token-p
(function).
with-c-compilation-unit
(macro).
with-c-syntax-char
(type).
with-c-syntax-parse-error
(condition).
with-c-syntax-reader-error
(condition).
with-c-syntax-style-warning-message
(generic reader).
with-preprocessor-state-slots
(macro).
with-c-syntax.predefined-macro
__date__
(function).
__file__
(function).
__line__
(function).
__stdc__
(constant).
__stdc_hosted__
(constant).
__stdc_mb_might_neq_wc__
(constant).
__stdc_version__
(constant).
__time__
(function).
with-c-syntax
The with-c-syntax package, holding public APIs.
*previous-readtable*
(special variable).
*with-c-syntax-find-include-file-function-list*
(special variable).
*with-c-syntax-reader-case*
(special variable).
*with-c-syntax-reader-level*
(special variable).
with-c-syntax
(macro).
with-c-syntax.libc-implementation
with-c-syntax libc implemetation package.
alexandria
.
common-lisp
.
float-features
.
with-c-syntax.core
.
with-c-syntax.libc
.
*fexcept-register*
(special variable).
*strtok-target*
(special variable).
assign-wcs-fexcept
(function).
call-with-wcs-math-error-handler
(function).
check-nextafter-result
(function).
check-wcs-math-result
(function).
copy-wcs-fexcept
(function).
define-errno-symbol
(macro).
find-errno-symbol
(function).
float-subnormal-p
(function).
logandc2f
(macro).
logiorf
(macro).
make-trimed-vector
(function).
make-trimed-vectorf
(macro).
make-wcs-fexcept
(function).
mantissa-radix-change
(function).
pow-result-significantly-complex-p
(function).
resize-string
(function).
resize-stringf
(macro).
signed-byte-max
(function).
signed-byte-min
(function).
step-double-float-minus
(function).
step-double-float-plus
(function).
strchr*
(function).
strcmp*
(function).
strcspn*
(function).
strspn*
(function).
test-wcs-fexcept-flags
(function).
unsigned-byte-max
(function).
wcs-fexcept
(structure).
wcs-fexcept-flags
(reader).
(setf wcs-fexcept-flags)
(writer).
wcs-fexcept-p
(function).
wcs-raise-fe-exception
(function).
with-fmax-fmin-parameter-check
(macro).
with-log-error-handling
(macro).
with-mod-family-error-handling
(macro).
with-nearest-int-error-handling
(macro).
with-wcs-math-error-handling
(macro).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Used for saving newline chars from reader to preprocessor.
Used for saving whitespace chars from reader to preprocessor, for preprocessor directives.
with-c-syntax definition FP_ILOGBNAN
Holding ‘CL:NIL’ for acting NULL of C language.
Holds the readtable used by #‘ syntax.
This is bound by ’#{’ read macro to the ‘*readtable*’ at that time.
List of functions used for searching include files with ’#include <...>’ style. Each function should take one argument and returns a pathname, or nil if failed. See ‘find-include-<header>-file’.
Holds the readtable case used by ’#{’ reader function.
When this is not nil, it must be one of ‘:upcase’, ‘:downcase’,
‘:preserve’, or ‘:invert’. The specified case is used as the
readtable-case inside ’#{’ and ’}#’ and passed to the
wrapping ‘with-c-syntax’ form.
When this is nil, the ‘readtable-case’ of the current ‘*readtable*’ at ’#{’ is used.
Holds the reader level used by ’#{’ reader function.
The value is one of 0, 1 (default), 2.
For inside ’#{’ and ’}#’, three syntaxes are defined. These syntaxes
are selected by the infix parameter of the ’#{’ dispatching macro
character. If it not specified, the value of this variable is used.
Available syntaxes are below:
* Level 0 (conservative)
In level 0, these reader macros are installed.
- ’,’ :: ’,’ is read as a symbol. (In ANSI CL, a comma is defined as
an invalid char outside the backquote syntax.)
- ’:’ :: Reads a solely ’:’ as a symbol. Not a solely one (like
‘cl:cons’) works as a normal package marker.
Level 0 is almost compatible with the standard syntax. However, we need
many escapes for using C operators.
* Level 1 (aggressive).
In level 1, these reader macros are installed.
- ’0’ :: If followed by ’x’ or ’X’, hexadecimal integer (like
’0xdeadbeef’) and hexadecimal floating number (like ’0x1.ffp1’)
syntax are enabled. Otherwise, it is treated as a normal token of
Common Lisp.
- ’|’ :: If ’||’ appeared, it becomes a symbol. The ’empty symbol’
syntax is lost. If ’|’ appeared followed by a terminating char, it
becomes a single character symbol. Because ’|’ becomes a macro character,
it cannot be used for a multiple escape inside a symbol notation.
(e.g. Use ’|A B C|’ instead of ’a| |b| |c’).
- ’{’, ’}’, ’[’, ’]’ :: These become a terminating character, and read
as a symbol.
- ’‘’ :: ’‘’ reads a next s-exp in ‘*previous-readtable*’ readtable. This
works as an escape from ’#{’ and ’}#’. The ’backquote’ functionality
is lost.
- ’.’ :: Reads a solely ’.’ as a symbol. The ’consing dot’
functionality is lost.
- ’/’ :: ’//’ means a line comment, ’/* ... */’ means a block
comment. ’/’ is still non-terminating and it has special meanings only
if followed by ’/’ or ’*’. (Ex: ’a/b/c’ or ’/+aaa+/’ are still valid
symbols.)
- ’"’ :: The double-quote works as a string literal of C. Especially,
escaping is treated as C. The original functionality is lost.
- ’;’ :: ’;’ becomes a terminating character, and read as a
symbol. The ’comment’ functionality is lost.
- ’(’ and ’)’ :: parenthesis become a terminating character, and read
as a symbol. The ’reading a list’ functionality is lost.
Level 1 still mostly keeps the syntax of symbols, since many
constituent characters are left unchanged. But some major macro
characters are overwritten. Especially, ’(’ and ’)’ loses its
functionalities. For constructing a list of Lisp, the ’‘’ syntax must
be used.
* Level 2 (overkill)
In this level, these characters become terminating, and read as a
symbol listed below.
- ’?’ :: ’?’
- ’~’ :: ’~’
- ’:’ :: ’:’ or a (digraph ’:>’)
- ’=’ :: ’=’ or ’==’
- ’*’ :: ’*’ or ’*=’
- ’^’ :: ’^’ or ’^=’
- ’!’ :: ’!’ or ’!=’
- ’&’ :: ’&’, ’&&’, or ’&=’
- ’|’ :: ’|’, ’||’, or ’|=’
- ’+’ :: ’+’, ’++’, or ’+=’
- ’-’ :: ’-’, ’–’, ’-=’, or ’->’
- ’>’ :: ’>’, ’>>’, ’>=’, or ’>>=’
- ’<’ :: ’<’, ’<<’, ’<=’, ’<<=’, or digraphs (’<:’, ’<%’)
- ’/’ :: ’/’, or ’/=’. ’//’ means a line comment, and ’/* ... */’
means a block comment.
- ’.’ :: ’.’, ’...’, or a numeric literal of C language.
- ’%’ :: ’%’, ’%=’, or digraphs (’%>’, ’%:’, ’%:%:’)
And, these characters are changed:
- Digit characters (0,1,2,3,4,5,6,7,8,9) are read as a C numeric
literals.
- The single-quote (’) works as a character literal of C. The ‘quote’
functionality is lost. (This prevents the Lisp syntax extremely, so
enabled only in level 2).
In this level, there is no compatibilities between symbols of Common Lisp. Especially, for denoting a symbol consists of terminating characters, escapes are required. (ex. most-positive-fixnum)
A symbol denoting ’errno’ of C, or NIL.
If a function of ‘with-c-syntax.libc’ caught error, it will set the
error to this.
This variable is seen by |assert|. Please refer |assert|’s docstring.
This emulates ’assert’ of the C language.
If ‘NDEBUG’ is bound and its value is true, ‘|assert|’ will be
expanded to a no-op. If not (‘NDEBUG’ is unbound or bound to NIL),
‘|assert|’ will be expanded to ‘cl:assert’.
This macro sees ‘NDEBUG’ value only when macroexpanding-time, not in runtime. (If you want to change ‘NDEBUG’ locally, you should use ‘compiler-let’.)
It returns the variadic arguments of a function defined by
with-c-syntax. If this is called outside of a variadic function, an
error is signaled. When defining a variadic function, a local macro
has same name is established.
This is not intended for calling directly. The va_start macro uses this.
This macro is a entry point of the with-c-syntax system. BODY will be
interpreted as C syntax, executed, and return values.
This macro returns the last form’s value if BODY is a compound
statement, or returns NIL if BODY is a compilation unit.
PREPROCESS specifies how to do preprocess. If nil, this macro compiles
BODY without preprocessing. If t, preprocesses and compiles BODY. If
‘:preprocess-only’, this macro preprocesses BODY and returns the
result as-is.
READER-LEVEL specifies the reader level (see ‘*with-c-syntax-reader-level*’).
This is used when ’#include’ or ’_Pragma()’ was used.
READTABLE-CASE specifies the readtable case of symbols in BODY when it
was read. This affects how to intern C keywords by the preprocessor.
INPUT-FILE-PATHNAME is passed to the preprocessor and used when
’__FILE__’ macro was used.
If TRY-ADD-{} is t and an error occurred at parsing, ‘with-c-syntax’
adds ’{’ and ’}’ into the head and tail of FORM respectively, and
tries to parse again.
In this macro, BODY is executed in a new environment for
pseudo-pointers.
A pointer made inside this macro is invalidated outside of this.
* Syntax
~add-struct-spec~ name sspec => struct-spec
* Arguments and Values
- name :: a symbol.
- sspec :: a struct-spec instance.
- struct-spec :: a struct-spec instance.
* Description
Establishes a new struct-spec definition named ~name~.
* Affected By
~with-c-compilation-unit~.
* Syntax
~add-typedef~ name spec => decl-spec
* Arguments and Values
- name :: a symbol
- spec :: a decl-specs instance, or a type specifier.
- decl-spec :: a decl-specs instance.
* Description
Establishes a new typedef definition named ~name~.
* Affected By
~with-c-compilation-unit~.
See ‘find-with-c-syntax-default-include-file’
* Syntax
~find-struct-spec~ name => struct-spec
* Arguments and Values
- name :: a symbol
- decl-spec :: a struct-spec instance, or nil.
* Description
Finds and returns a struct-spec. If no struct-specs are found, returns
nil.
* Affected By
~with-c-compilation-unit~.
* Syntax
~find-typedef~ name => decl-spec
* Arguments and Values
- name :: a symbol
- decl-spec :: a decl-specs instance, or nil.
* Description
Finds and returns a typedef definition. If no typedefs are found,
returns nil.
* Affected By
~with-c-compilation-unit~.
This function invalidates all pseudo-pointers in the scope it
called, and returns the number of invalidates pointers.
In ‘with-pseudo-pointer-scope’, this call invalidates pseudo-pointers
made in that.
If out of that, this call invalidates all pseudo-pointers.
Makes and returns a new pseudo-pointer points POINTEE. INITIAL-OFFSET is added to the result at making.
* Syntax
~make-struct~ spec-obj &rest init-args => new-struct
* Arguments and Values
- spec-obj :: a symbol, or an instance of struct-spec.
- init-args :: objects.
- new-struct :: an instance of struct.
* Description
Makes a new struct instance based on the specification of ~spec-obj~.
If ~spec-obj~ is a symbol, it must be a name of a globally defined struct or union. To define a struct or an union globally, use ~with-c-syntax~ and declare it in a toplevel of translation-unit.
If ~spec-obj~ is an instance of struct-spec, it is used directly.
~init-args~ is used for initializing members of the newly created instance. If the number of ~init-args~ is less than the number of members, the rest members are initialized with the default values specified by the ~spec-obj~.
An alias for ‘CL:NULL’.
This is for convenience using ’NULL’ as C constant and Lisp function
both when ‘intern’ the libc package.
Read a C numeric literal from ‘preprocessing-number’
This function preprocesses TOKEN-LIST before parsing.
Current workings are below:
- Interning a symbol into this package when it has a same name as C
keywords or operators, or libc symbols.
READTABLE-CASE affects how to do it.
- Concatenation of string literals.
- Expands preprocessor macros defined by ’#defined’. (Undocumented now.)
Dereferences the POINTER and returns the pointed object.
Makes the POINTER to point the NEW-OBJECT.
Makes the POINTER to point no objects. After that, calling ‘pseudo-pointer-dereference’ to this pointer will be error.
Returns whether the OBJECT can directly be held by pseudo-pointers.
* Syntax
~remove-struct-spec~ name => struct-spec
* Arguments and Values
- name :: a symbol
- struct-spec :: a struct-specs instance, or nil.
* Description
Removes a struct-spec definition named ~name~.
Returns the removed struct-spec definition. If no struct-specs are
found, returns nil.
* Affected By
~with-c-compilation-unit~.
* Syntax
~remove-typedef~ name => decl-spec
* Arguments and Values
- name :: a symbol
- decl-spec :: a decl-specs instance, or nil.
* Description
Removes a typedef definition named ~name~.
Returns the removed typedef definition. If no typedefs are found,
returns nil.
* Affected By
~with-c-compilation-unit~.
* Syntax
~struct-member~ struct member-name => object
* Arguments and Values
- struct :: an instance of struct
- member-name :: a symbol
- object :: an object
* Description
Returns the value of the member named ~member-name~ in the ~struct~.
* Syntax
(setf (~struct-member~ struct member-name) new-object)
* Arguments and Values
- struct :: an instance of struct
- member-name :: a symbol
- new-object :: an object
* Description
Sets the value of the member named ~member-name~ in the ~struct~.
function-like-macro
) &rest args &key identifier-list variadicp replacement-list) ¶object-like-macro
) &rest args &key replacement-list) ¶macro-definition
) &rest args) ¶macro-definition
) &rest args &key name) ¶preprocessing-number
) &optional env) ¶spec-qualifier-list
) &optional environment) ¶init-declarator
) &optional environment) ¶struct-spec
) &optional environment) ¶struct-declarator
) &optional environment) ¶struct-or-union-spec
) &optional environment) ¶enumerator
) &optional environment) ¶param-decl
) &optional environment) ¶decl-specs
) &optional environment) ¶function-like-macro
) stream) ¶if-section
) stream) ¶object-like-macro
) stream) ¶physical-source-input-stream
)) ¶trivial-gray-streams
.
physical-source-input-stream
)) ¶trivial-gray-streams
.
physical-source-input-stream
)) ¶sb-gray
.
physical-source-input-stream
)) ¶sb-gray
.
physical-source-input-stream
) character) ¶sb-gray
.
The root class of all errors in with-c-syntax system.
simple-error
.
Signalled when ‘with-c-syntax’ saw a kind of ‘style-warning’.
style-warning
.
:message
This slot is read-only.
The root type of all warnings in the with-c-syntax system.
simple-warning
.
A structure represents preprocessing-number token in the C standard.
* Class Precedence List
struct, standard-object, ...
* Description
A representation of C structs or unions.
A list of symbols representing numeric types.
An alist of (list-of-symbols . <lisp-type>), holding relationships
between notations of C type and Common Lisp types.
For each entry of alist, its car is sorted alphabetically.
A vector of month names following asctime() manner. Used by __DATE__
A fixnum represents the bitmask splits the pseudo-pointer bit
representation to the ’base part’ and the ’index part’.
The ’base part’ is used for a key of ‘*pseudo-pointee-table*’. The ’index part’ is used for a offset of the pointee value.
A fixnum specifies the ’sign bit’ of the ’index part’ of the
pseudo-pointer bit representation.
For the ’index part’, the representation is like here:
- #b1000000 :: 0
- #b1000001 - #b1111111 :: +1 ~ +63
- #b0111111 - #b0000000 :: -1 ~ -64
If the ’index part’ exceeds this limitation, the result is unpredictable.
Internal storage of error flag for our floating-point error emulation.
Holds a list of symbols, which are declared as a pointer
to a function. (Because such a symbol is specially treated by the
function-calling expression.)
A pseudo-pointer used for the next object.
A hash-table holds relations between the ’base part’ of a pseudo-pointer and the pointee object.
Specifies whether ‘with-c-syntax’ returns the last form’s value of compound statements or not.
Holds a character wanted to ‘unread-char’ secondarily. This is used for implementing ’...’ and ’%:%:’.
Used by |strtok|
* Value Type
a hashtable :: a symbol -> a list of struct-spec.
* Description
Holds definitions of structs or unions.
* Notes
At the beginning of ~with-c-syntax~, it binds this variable to the
values they held. This behavior limits the scope of local struct/union
definitions into the compilation unit.
* Affected By
~with-c-compilation-unit~.
* See Also
~find-struct-spec~, ~add-struct-spec~, ~remove-struct-spec~
* Value Type
a hashtable :: a symbol -> list of decl-specs
* Description
Holds definitions of typedefs.
* Notes
At the beginning of ~with-c-syntax~, it binds this variable to the
values they held. This behavior limits the scope of local typedefs
into the compilation unit.
* Affected By
~with-c-compilation-unit~.
* See Also
~find-typedef~, ~add-typedef~, ~remove-typedef~.
‘with-c-syntax’ bind this to ‘&environment’ argument.
Determines whether preprocessor replaces digraphs.
If this is true, replacement occurs but ‘with-c-syntax-style-warning’ is signalled.
If this is ‘:no-warn’, replacement occurs and the style-warning is not signalled.
Determines #{ }# reader deletes backslash-newline sequence. Deletion occurs if this is true.
Determines whether #{ }# reader replaces C trigraphs.
If this is true, replacement occurs but ‘with-c-syntax-style-warning’ is signalled.
If this is ‘:no-warn’, replacement occurs and the style-warning is not signalled.
Used by ‘pop-preprocessor-directive-token’
Works like ‘cl:lambda’ macro except automatically ‘declare’s ‘ignore’ for parameters beginning with ’_’ character.
Makes a pseudo-pointer using ‘pseudo-pointer-to-place’.
Modify macro of ‘make-trimed-vector’
This is like the famous ’COND-LET’, but takes multiple values.
Macro to do keep code nesting and indentation under control.
For #ifdef, #ifndef, and #undef
Pop the direcive’s newline for setting next line’s line-number to same.
Pops the next token in TOKEN-LIST ignoring ‘+whitespace-marker+’
A post increment version of ‘incf’.
Modify macro of ‘resize-string’
Establishes variable bindings for a new compilation.
Used by ‘expand-translation-unit’
Returns T if OBJ is a symbol and starts with ’_’ character.
Resolves unspecified dimensions with an initializer.
Treats some special type handlings for valid C code.
Checks no preprocessing token is left in TOKEN-LIST.
Collects symbols starting with ’_’ character in LAMBDA-LIST.
tag
.
Calculates max lengths per depth of a nested list, like ‘array-dimensions’
Calculates ’*earmuff*’ lengthes in STRING with EARMUFF-CHAR, and
returns it lengthes in front and in last.
e.g. (earmuff-lengthes "*foo**" #*) ; => (values 1 2)
id
.
Makes a (let* (...) (declare ...)) form except trying to simplify the expansion.
Expand a list of declarators to a ‘nest’ macro element. MODE is one of ‘:statement’ or ‘:translation-unit’
Used by ‘expand-macro-argument’, #line and #include.
Used by ‘expand-translation-unit’
Finds the specified type and the initialization form. Returns (values var-init var-type).
A part of ‘expand-declarator-to-nest-macro-elements’.
Handles with-c-syntax extension syntax for ’with-’ like macros.
Expands " id lisp-expression statement " to ‘(,id ,@lisp-expression ,@statement)
Example:
with-output-to-string ((*standard-output*)) { princ ( "Hello, World!" ) ; } ;
=> (with-output-to-string (*standard-output*) (princ "Hello, World!"))
Note: This loose expansion causes weird but interesting results.
See test codes in test/stmt.lisp
Expand preprocessor macro named TOKEN. If it is a function-like
macro, its arguments are taken from REST-TOKEN-LIST. MACRO-ALIST is an
alist of preprocessor macro definitions. PP-STATE is a
‘preprocessor-state’ object, used for expanding predefined macros.
Returns four values:
1. A list of tokens made by expansion.
2. A list, tail of REST-TOKEN-LIST, left after collecting function-like macro arguments.
3. An alist derived from MACRO-ALIST changed after expansion.
4. A boolean tells whether TOKEN is a function-like-macro but
REST-TOKEN-LIST is not a form of invocation.
Expands GCC’s statement expression, not in C90.
See https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html
Used by ‘expand-translation-unit’
Checks and fills the passed decl-specs.
Fills the decl-specs object referring the passed enum-spec.
Fills the passed init-declarator object.
Fills the decl-specs object referring the passed numeric TYPE-SPEC-LIST.
Fills the decl-specs object referring the passed struct-or-union-spec. If required, makes a new struct-spec object.
A part of ‘finalize-decl-specs’. This processes type-spec.
Returns a readtable for tokenize C source. See ‘*with-c-syntax-reader-level*’.
Find a symbol in ‘WITH-C-SYNTAX.SYNTAX’ package having a same NAME. If not found, returns ‘nil’.
Finds a file specified by #include <...> style header-name with pathnames got by ‘*with-c-syntax-find-include-file-function-list*’.
Finds a file specified by #include "..." style header-name.
Current strategy is just to use ‘cl:probe-file’. So it will affected
by ‘*default-pathname-defaults*’.
If no file was found, ‘find-include-<header>-file’ is called.
Looks PP-NUMBER-STRING and returns its radix (integer) and a boolean whether its type is float or not.
This function tries to find OPERATOR in front of SYMBOL.
If found, it returns T and list of of splited symbols. If not found,
it returns NIL.
This function tries to find OPERATOR in back of SYMBOL.
If found, it returns T and list of of splited symbols. If not found,
it returns NIL.
Find a symbol in ‘WITH-C-SYNTAX.PREPROCESS-OPERATOR’ package having a same NAME. If not found, returns ‘nil’.
Find a symbol in ‘WITH-C-SYNTAX.PRAGMA-NAME’ package having a same NAME. If not found, returns ‘nil’.
Find a symbol in ‘WITH-C-SYNTAX.PREPROCESSOR-DIRECTIVE’ package having a same NAME. If not found, returns ‘nil’.
Makes a pathname of the directory containing with-c-syntax include files. This function is used for making the default value of ‘*with-c-syntax-find-include-file-function-list*’
Checks the function parameter list is ’(void)’ or not.
Calculate the readtable-level (described in ‘*with-c-syntax-reader-level*’ docstring) of the READTABLE. If READTABLE is not for C syntax, returns NIL.
Constructs a nested list like ‘make-array’.
Makes a load form of a nested list.
Makes an alist of (<symbol> . <macro-argument>) for function-like-macro expansion.
Makes a displaced array which has a reduced dimensions.
Example: Consider what is returned by
(make-reduced-dimension-array (make-array ’(2 2 2)) ’(1))
Its dimension is ’(2 2), and it is a displaced array aliasing from ’(1 0 0) to ’(1 2 2) in the original array.
Trims the head TRIM-POSITION elements of VECTOR, using ‘displaced-array’.
If END supplied, its tail is also trimed (using ‘displaced-array’, too).
This function is used for emulating C string truncation with pointer movements.
Used for ’!=’ of C language.
Calls nreconc with reversed order args. A helper for ‘nreconcf’.
Parses FUNC-PARAM as a list of ‘param-decl’ structure (C function
parameter list), returns 5 values.
1. A list of symbols naming the parameter.
2. A list of types representing the types of parameters.
3. A symbol naming the variadic argument if requested.
4. A list of symbols should be ‘ignore’d.
5. A ‘lisp-type-declaration-table’ object.
See ‘preprocessor’
Do the translation phase 6 – string concatenation.
Process preprocessor directives. This is tranlation phase 4.
This function tries to find some C operators in SYMBOL.
If found, it returns T and list of splited symbols. If not found, it
returns NIL.
Process pragmas affects with-c-syntax readers.
See ‘process-with-c-syntax-pragma’ for preprocessor pragmas.
A helper function used by ‘pseudo-pointer-dereference’, etc.
Read hexadecimal numeric literal of C.
Dot may be an ’.’ operator, ’...’, or a prefix of floating numbers.
Called by ’#{’ reader macro of ‘with-c-syntax-readtable’.
Inside ’#{’ and ’}#’, the reader uses completely different syntax, and
the result is wrapped with ‘with-c-syntax’.
See ‘*with-c-syntax-reader-level*’ and ‘*with-c-syntax-reader-case*’.
If the next character in STREAM is terminating, returns a symbol made of CHAR. If not, returns a next token by ‘cl:read’ after unreading CHAR.
Used by ‘read-escaped-char’.
For ’+’, ’&’, ’|’. They may be ’+’, ’++’, or ’+=’
Reads a preprocessing number token, defined in
"6.4.8 Preprocessing numbers" in ISO/IEC 9899:1999.
If FIRST-CHAR is supplied, it is read as the first char. This feature
is for the convension of reader macro functions.
Reads a token from STREAM until EOF or ’}#’ found. Newline is read
as ‘+newline-marker+’.
If KEEP-WHITESPACE is nil, whitespaces except newlines are
ignored. (This feature is intended to suppress ‘+whitespace-marker+’
in the macro expansion, for debugging.)
For ’<’, ’>’. They may be ’>’, ’>>’, and ’>=’, ’>>=’.
Reads unnnn or Unnnnnnnn syntax.
Accesses a nested list like ‘aref’, as a multi-dimensional array.
Accesses a nested list like ‘aref’, as a multi-dimensional array.
Resize STRING to SIZE using ‘adjust-array’ or ‘fill-pointer’.
This function is used for emulating C string truncation with NUL char.
Calls revappend with reversed order args. A helper for ‘revappendf’.
Makes a list for ‘:initial-contents’ of ‘make-array’, from initializer-list.
Skips C whitespaces except newline.
Return first N elements and rests of LIST.
Split LIST to consecutive parts testing with TEST.
(split-to-consecutive-parts ’(1 1 2 2 3)) ;; => ((1 1) (2 2) (3)) (split-to-consecutive-parts ’(1 1 1)) ;; => ((1 1 1)) (split-to-consecutive-parts nil) ;; => nil
code
.
Used by ‘|strchr|’ and ‘|strrchr|’
Used by ‘|strcmp|’ and ‘|strncmp|’
Finds the position of the end of rejected chars in STR. If no such chars, return NIL.
Finds the position of the end of acceptable chars in STR. If no such chars, return NIL.
bits
.
Returns the index of ~member-name~ in the internal storage of ~struct~.
id
.
type
.
Takes a first consecutive parts of LIST testing with TEST and
returns the head and tail.
(take-consecutive-part ’(1 1 2 2 3)) ;; => (1 1) (2 2 3) (take-consecutive-part ’(1 1 1)) ;; => (1 1 1) nil (take-consecutive-part nil) ;; => nil nil
Returns T if CHAR is a terminating character in READTABLE.
Tokenize C source by doing translation phase 1, 2, and 3.
‘*readtable*’ must be bound to the C syntax readtable, got by ‘find-c-readtable’.
physical-source-input-stream
) newline-count) ¶macro-definition
) (mdef2 macro-definition
) name) ¶function-like-macro
) (mdef2 function-like-macro
) name) ¶object-like-macro
) (mdef2 object-like-macro
) name) ¶Perform token concatenation caused by ’##’ operator.
integer
) (token2 preprocessing-number
)) ¶preprocessing-number
) (token2 integer
)) ¶symbol
) (token2 preprocessing-number
)) ¶preprocessing-number
) (token2 symbol
)) ¶preprocessing-number
) (token2 preprocessing-number
)) ¶integer
) (token2 integer
)) ¶integer
) (token2 symbol
)) ¶symbol
) (token2 integer
)) ¶symbol
) (token2 symbol
)) ¶(eql with-c-syntax.core::||)
)) ¶(eql with-c-syntax.core::||)
) token2) ¶physical-source-input-stream
)) ¶Finds a readtable name by arguments. See ‘find-c-readtable’.
(eql 2)
) (readtable-case (eql :invert)
)) ¶(eql 2)
) (readtable-case (eql :preserve)
)) ¶(eql 2)
) (readtable-case (eql :downcase)
)) ¶(eql 2)
) (readtable-case (eql :upcase)
)) ¶(eql 2)
) (readtable-case (eql nil)
)) ¶(eql 1)
) (readtable-case (eql :invert)
)) ¶(eql 1)
) (readtable-case (eql :preserve)
)) ¶(eql 1)
) (readtable-case (eql :downcase)
)) ¶(eql 1)
) (readtable-case (eql :upcase)
)) ¶(eql 1)
) (readtable-case (eql nil)
)) ¶(eql 0)
) (readtable-case (eql :invert)
)) ¶(eql 0)
) (readtable-case (eql :preserve)
)) ¶(eql 0)
) (readtable-case (eql :downcase)
)) ¶(eql 0)
) (readtable-case (eql :upcase)
)) ¶(eql 0)
) (readtable-case (eql nil)
)) ¶function-like-macro
)) ¶automatically generated reader method
function-like-macro
)) ¶automatically generated reader method
lexer-error
)) ¶macro-definition
)) ¶automatically generated reader method
name
.
macro-definition
)) ¶automatically generated reader method
physical-source-input-stream
)) ¶physical-source-input-stream
)) ¶Counts deleted newlines, for __LINE__ .
preprocessor-state
)) ¶preprocessor-state
)) ¶automatically generated reader method
preprocessor-state
)) ¶automatically generated writer method
preprocessor-state
)) ¶automatically generated reader method
preprocessor-state
)) ¶automatically generated writer method
preprocessor-state
)) ¶automatically generated reader method
preprocessor-state
)) ¶automatically generated writer method
preprocessor-state
)) ¶automatically generated reader method
preprocessor-state
)) ¶automatically generated writer method
preprocessor-state
)) ¶automatically generated reader method
preprocessor-state
)) ¶automatically generated writer method
preprocessor-state
)) ¶automatically generated reader method
preprocessor-state
)) ¶automatically generated writer method
preprocessor-state
)) ¶automatically generated reader method
preprocessor-state
)) ¶automatically generated writer method
preprocessor-state
)) ¶automatically generated reader method
preprocessor-state
)) ¶automatically generated writer method
preprocessor-state
)) ¶automatically generated reader method
preprocessor-state
)) ¶automatically generated writer method
(eql with-c-syntax.preprocessor-directive:|pragma|)
) directive-token-list state) ¶(eql with-c-syntax.preprocessor-directive:|error|)
) directive-token-list state) ¶(eql with-c-syntax.preprocessor-directive:|line|)
) directive-token-list state) ¶(eql with-c-syntax.preprocessor-directive:|undef|)
) directive-token-list state) ¶(eql with-c-syntax.preprocessor-directive:|define|)
) directive-token-list state) ¶(eql with-c-syntax.preprocessor-directive:|include|)
) directive-token-list state) ¶(eql with-c-syntax.preprocessor-directive:|endif|)
) directive-token-list state) ¶(eql with-c-syntax.preprocessor-directive:|else|)
) directive-token-list state) ¶(eql with-c-syntax.preprocessor-directive:|elif|)
) directive-token-list state) ¶(eql with-c-syntax.preprocessor-directive:|ifndef|)
) directive-token-list state) ¶(eql with-c-syntax.preprocessor-directive:|ifdef|)
) directive-token-list state) ¶(eql with-c-syntax.preprocessor-directive:|if|)
) directive-token-list state) ¶pseudo-pointer-error
)) ¶pseudo-pointer-error
)) ¶pseudo-pointer-error
)) ¶preprocessor-state
)) ¶saved-include-state
)) ¶automatically generated reader method
saved-include-state
)) ¶automatically generated reader method
saved-include-state
)) ¶automatically generated reader method
(eql with-c-syntax.core:+whitespace-marker+)
)) ¶(eql with-c-syntax.core:+newline-marker+)
)) ¶string
)) ¶character
)) ¶preprocessing-number
)) ¶symbol
)) ¶physical-source-input-stream
)) ¶Do translation phase 1 and 2, returns a character.
with-c-syntax-style-warning
)) ¶Used at compiling with-c-syntax forms.
:token-list
Used in the lexer.
:token
This slot is read-only.
Used in the preprocessor.
Used when an error occurred at the parser.
:yacc-error
Used when an error occurred at the parser.
file-error
.
preprocess-error
.
Used when trying to use a dangling pointer.
Used at using pseudo-pointers.
:pointer
This slot is read-only.
:pointee
This slot is read-only.
:offset
This slot is read-only.
Used when trying to dereference a null pointer.
Used when trying to make a pointer to a un-pointable object.
Used when trying to write into a non-writable pointer.
Used at evaluating with-c-syntax forms.
Used when an error occurred at the parser.
:yacc-error
Used in the with-c-syntax reader. Not for the installer of the with-c-syntax reader.
reader-error
.
with-c-syntax-error
.
Represents ’decl-specs’ in C syntax BNF.
structure-object
.
t
Represents ’enum-spec’ in C syntax BNF.
Represents ’enumerator’ in C syntax BNF.
Represents a function definition.
Represents ’init-declarator’ in C syntax BNF.
structure-object
.
Used for generating ’(declare type ...)’ from C declarators.
structure-object
.
(make-hash-table :test (quote equal))
Represents ’param-decl’ in C syntax BNF.
A pseudo-pointer internal type referring a single place, using ‘lambda’.
structure-object
.
common-lisp
.
Represents ’spec-qualifier-list’ in C syntax BNF.
Represents statements in C syntax BNF.
Represents ’struct-declarator’ in C syntax BNF.
Represents ’struct-or-union-spec’ in C syntax BNF.
Represents a struct/union specification.
structure-object
.
fixnum
0
vector
(make-array 1 :fill-pointer 0 :adjustable t)