X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/bb80145308ea388d7c6ed5336c061340e78f66e8..284f1fa2ace3e276052ff1bd7d66442500e693da:/doc/misc.tex diff --git a/doc/misc.tex b/doc/misc.tex index a7ac722..06791f4 100644 --- a/doc/misc.tex +++ b/doc/misc.tex @@ -7,7 +7,7 @@ %%%----- Licensing notice --------------------------------------------------- %%% -%%% This file is part of the Sensble Object Design, an object system for C. +%%% This file is part of the Sensible Object Design, an object system for C. %%% %%% SOD is free software; you can redistribute it and/or modify %%% it under the terms of the GNU General Public License as published by @@ -32,17 +32,42 @@ These symbols are defined in the @|sod-utilities| package. \begin{describe}{mac} {with-gensyms (@{ @ @! (@ @[@@]) @}^*) \\ \ind - @^*} + @^* \\ + @
^*} \end{describe} \begin{describe}{mac} {once-only (@[[ :environment @ @]] @{ @ @! (@ @[@@]) @}^*) \\ \ind - @^*} + @^* \\ + @^*} \end{describe} \begin{describe}{mac} - {parse-body @ @> @ @ @} + {parse-body @ \&key :docp :declp + @> @ @ @} +\end{describe} + +\begin{describe}{cls}{loc} +\end{describe} + +\begin{describe}{fun}{locp @ @> @} +\end{describe} + +\begin{describe}{mac}{locf @ @> @} +\end{describe} + +\begin{describe*} + {\dhead{fun}{ref @ @> @} + \dhead{fun}{setf (ref @) @}} +\end{describe*} + +\begin{describe}{mac} + {with-locatives + @{ @ @! (@{ @ @! + (@ @[@@]) @}^*) @} \\ \ind + @^* \\ + @^*} \end{describe} \begin{describe}{sym}{it} @@ -51,7 +76,7 @@ These symbols are defined in the @|sod-utilities| package. \begin{describe}{mac}{aif @ @ @[@@]} \end{describe} -\begin{describe}{mac}{awhen @ @^*} +\begin{describe}{mac}{awhen @ @^*} \end{describe} \begin{describe}{mac}{acond @{ (@ @^*) @}^*} @@ -115,7 +140,8 @@ These symbols are defined in the @|sod-utilities| package. {categorize (\=@ @ @[[ :bind (@{ @ @! (@ @[@@]) @}^*) @]]) \\ \ind\ind - (@{ @ @ @}^*) \- \\ + (@{ (@ @) @}^*) \- \\ + @^* \\ @^* \- \nlret @^*} \end{describe} @@ -149,14 +175,19 @@ These symbols are defined in the @|sod-utilities| package. {maybe-print-unreadable-object (@ @ @[[ :type @ @! :identity @ @]]) \\ \ind - @^*} + @^* \\ + @^*} +\end{describe} + +\begin{describe}{fun}{print-ugly-stuff @ @ @> @^*} \end{describe} \begin{describe}{mac} {dosequence (@ @ @[[ :start @ @! :end @ @! :indexvar @ @]]) \\ \ind - @{ @ @! @ @}^*} + @^* \\ + @{ @ @! @ @}^*} \end{describe} \begin{describe}{mac} @@ -166,12 +197,13 @@ These symbols are defined in the @|sod-utilities| package. \begin{describe}{mac} {default-slot (@ @ @[@@]) \\ \ind - @^*} + @^*} \end{describe} \begin{describe}{mac} {define-on-demand-slot @ @ (@) \\ \ind - @^*} + @[[ @^* @! @ @]] \\ + @^*} \end{describe} %%%-------------------------------------------------------------------------- @@ -206,27 +238,6 @@ These symbols are defined in the @!optparse| package. \begin{describe}{fun}{set-command-line-arguments} \end{describe} -\begin{describe}{cls}{loc} -\end{describe} - -\begin{describe}{fun}{locp @ @> @} -\end{describe} - -\begin{describe}{macro}{locf @ @> @} -\end{describe} - -\begin{describe*} - {\dhead{fun}{ref @ @> @} - \dhead{fun}{setf (ref @) @}} -\end{describe*} - -\begin{describe}{mac} - {with-locatives - @{ @ @! (@{ @ @! - (@ @[@@]) @}^*) @} \\ \ind - @^*} -\end{describe} - \begin{describe}{fun}{moan @ \&rest @} \end{describe} @@ -307,15 +318,16 @@ These symbols are defined in the @!optparse| package. \begin{describe}{fun}{option-parse-next @} \end{describe} -\begin{describe}{mac}{option-parse-try @^*} +\begin{describe}{mac}{option-parse-try @^*} \end{describe} -\begin{describe}{mac}{with-unix-error-reporting () @^*} +\begin{describe}{mac}{with-unix-error-reporting () @^*} \end{describe} \begin{describe}{mac} {defopthandler @ (@ @[@@]) @ \\ \ind - @^*} + @[[ @^* @! @ @]] \\ + @^*} \end{describe} \begin{describe}{fun} @@ -349,7 +361,10 @@ These symbols are defined in the @!optparse| package. \begin{describe}{opt}{list \&optional @ \&rest @} \end{describe} -\begin{describe}{mac}{defoptmacro @ @ @^*} +\begin{describe}{mac} + {defoptmacro @ @ \\ \ind + @[[ @^* @! @ @]] \\ + @^*} \end{describe} \begin{describe}{fun}{parse-option-form @} @@ -363,10 +378,11 @@ These symbols are defined in the @!optparse| package. (:long-name @) @! \\ (@ @^+) @! (:doc @ @^*) @! \\ - (:opt-arg @) @! \\ + (:arg @) @! (:opt-arg @) @! \\ @ @! (:tag @) @! (:negated-tag @) @! \\ - @{ (@ @ @^*) @}^* @]]) @}^*} + @{ (@ @ @^*) @}^* + @]]) @}^*} \end{describe} \begin{describe}{fun} @@ -414,6 +430,97 @@ These symbols are defined in the @!optparse| package. %%%-------------------------------------------------------------------------- \section{Property sets} \label{sec:misc.pset} +\begin{describe}{fun}{property-key @ @> @} +\end{describe} + +\begin{describe}{gf}{decode-property @ @> @ @} +\end{describe} + +\begin{describe}{cls}{property} +\end{describe} + +\begin{describe}{fun}{propertyp @ @> @} +\end{describe} + +\begin{describe}{fun} + {make-property @ @ \&key :type :location :seenp} +\end{describe} + +\begin{describe*} + {\dhead{fun}{p-name @ @> @} + \dhead{fun}{p-value @ @> @} + \dhead{fun}{p-type @ @> @} + \dhead{fun}{p-key @ @> @} + \dhead{fun}{p-seenp @ @> @} + \dhead{fun}{setf (p-seenp @) @}} +\end{describe*} + +\begin{describe}{gf}{decode-property @ @> @ @} +\end{describe} + +\begin{describe}{gf} + {coerce-property-value @ @ @ @> @} +\end{describe} + +\begin{describe}{cls}{pset} +\end{describe} + +\begin{describe}{fun}{psetp @ @> @} +\end{describe} + +\begin{describe}{fun}{make-pset @> @} +\end{describe} + +\begin{describe}{fun}{pset-get @ @ @> @} +\end{describe} + +\begin{describe}{fun}{pset-store @ @ @> @} +\end{describe} + +\begin{describe}{fun}{pset-map @ @} +\end{describe} + +\begin{describe}{mac} + {with-pset-iterator (@ @) @^* @^*} +\end{describe} + +\begin{describe}{fun} + {store-property @ @ @ \&key :type :location + @> @} +\end{describe} + +\begin{describe}{fun} + {get-property @ @ @ \&optional @ + @> @ @} +\end{describe} + +\begin{describe}{fun} + {add-property @ @ @ \&key :type :location + @> @} +\end{describe} + +\begin{describe}{fun}{make-property-set \&rest @ @> @} +\end{describe} + +\begin{describe}{gf}{property-set @ @> @} +\end{describe} + +\begin{describe}{fun}{check-unused-properties @} +\end{describe} + +\begin{describe}{mac} + {default-slot-from-property + (@ @ @[@@]) \\ \ind\ind + (@ @ @ @[@ @^*@]) \- \\ + @^* \\ + @^*} +\end{describe} + +\begin{describe}{fun} + {parse-property-set @ + @> @ @ @} +\end{describe} + %%%-------------------------------------------------------------------------- \section{Miscellaneous translator features} \label{sec:misc.pset} @@ -426,9 +533,17 @@ These symbols are defined in the @!optparse| package. \begin{describe}{fun}{test-module @ @} \end{describe} +\begin{describe}{mac} + {test-parser (@) @ @ + @> @ @ @} +\end{describe} + \begin{describe}{fun}{exercise} \end{describe} +\begin{describe}{fun}{sod-frontend:main} +\end{describe} + %%%----- That's all, folks -------------------------------------------------- %%% Local variables: