chiark / gitweb /
src/c-types-{proto,impl,parse}.lisp: Add `storage specifiers' to the model.
authorMark Wooding <mdw@distorted.org.uk>
Thu, 26 May 2016 08:26:09 +0000 (09:26 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sun, 29 May 2016 14:25:56 +0000 (15:25 +0100)
commitb7fcf94152e4c1938fbca55d13b1e6a64b694bd6
tree9763f6abcd9e0024df67073d8187b905a1104ca5
parentae0f15ee8427fa91cfd1945bfded847032cb8a25
src/c-types-{proto,impl,parse}.lisp: Add `storage specifiers' to the model.

A slightly unusual kind of thing.  This is intended to capture things
like storage classes and similar which are determinedly `top level',
unlike qualifiers which stay attached to the base type in the presence
of declarator operators.

Storage specifiers are attached to a special carrier type
`c-storage-specifiers-type' (with all of the necessary trimmings), and
there is new machinery (`wrap-c-type') to arrange that this stays at the
outermost level when deriving new types from existing ones.

There is a pile of additional protocol, mostly mirroring the main types
protocol, for dealing with storage-specifier syntax, in both Lisp and C.
doc/SYMBOLS
doc/clang.tex
src/c-types-impl.lisp
src/c-types-parse.lisp
src/c-types-proto.lisp