%% %% This is file `swebbind.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% webfiles.dtx (with options: `spider') %% Package for inclusion of CWEB and Spidery WEB programs in %% LaTeX Documents. \catcode`\@=11 \chardef\xwebCatUsCode=\catcode`\_ % top level macro file! \catcode`\_=11 % Catcode letter \chardef\xwebCatEscape=0 \chardef\xwebCatOpen=1 \chardef\xwebCatClose=2 \chardef\xwebCatIgnore=9 \chardef\xwebCatLetter=11 \chardef\xwebCatOther=12 \chardef\xwebCatActive=13 \catcode`\_=\xwebCatLetter \catcode`\@=\xwebCatLetter \let\amp\& % ampersand \let\SS\S % section sign \let\PP\P % paragraph sign \def\N#1.#2.{% \ifon\end{xwebModule}\fi % webfiles \global\xwebGroupLevel 0% default value for group level \xweb_headcheck#2\xweb_headcheck % spider: get group level and title {\let\*=\empty% \xdef\xweb_secno{#1}% webfiles: get the section number }% \message \expandafter{*\xweb_secno}% \xweb_PrepareSection{#1}% \ifon\begin{xwebModule}{\bf\xweb_ModTitle.}% % \xweb_ModTitle is generated by \xweb_headcheck. %\hskip 1em plus.1em minus.1em% \xweb_SpiderLopEntry{\xwebGroupLevel}% } \def\xweb_SpiderLopEntry#1{% \ifnum\c@xwebLopDepth > \xwebGroupLevel \addcontentsline{lop}{starred}{% \protect\global\xwebGroupLevel #1 \thexwebModule.~\xweb_ModTitle}% { \let\protect\@unexpandable@protect \edef\next{\write\xweb_cont{% \ZZ{\xweb_ModTitle}{\the\xwebGroupLevel}% {\xweb_secno}{\noexpand\thepage}}}% \next }% write "\ZZ{title}{depth}{sec}{page}" to .con file \fi \ifnum\c@xwebOutlineDepth > \xwebGroupLevel \xwebPDFOutline{\xweb_secno}{\xweb_ModTitle}% args: nr, title \fi} \newif\ifxweb_cancel\xweb_canceltrue \def\xweb_ifnextchar#1#2#3{\let\@tempe=#1\def\@tempa{#2}\def\@tempb{#3}% \xweb_ifnch} \def\xweb_ifnch{% \ifx \@tempc \@tempe\let\@tempd\@tempa \else\let\@tempd\@tempb\fi \@tempd} \def\xweb_makethechar#1{\let\@tempc=#1} \def\xweb_headcheck#1#2\xweb_headcheck{% \xweb_makethechar{#1}% \def\theskipper{\vskip 3pt}% % extra skip before new starred module \def\xweb_ModTitle{{#2}}% \xweb_ifnextchar={% % @*= title. \global\xwebGroupLevel 0% webfiles \ifnum \xwebGroupLevel<\c@xwebSecNoEject \def\theskipper{\xwebMainSecSkip}% \fi \xweb_canceltrue }{\xweb_ifnextchar1{% % @*1 title. \global\xwebGroupLevel 1% webfiles \xweb_cancelfalse \ifnum \xwebGroupLevel<\c@xwebSecNoEject \def\theskipper{\xwebMainSecSkip}% \fi }{\xweb_ifnextchar2{% % @*2 title. \global\xwebGroupLevel 2% webfiles \xweb_cancelfalse }{\xweb_ifnextchar3{% % @*3 title. \global\xwebGroupLevel 3% webfiles \xweb_cancelfalse \ifnum \xwebGroupLevel<\c@xwebSecNoEject \def\theskipper{\xwebMainSecSkip}% \fi }{\xweb_ifnextchar4{% % @*4 title. \global\xwebGroupLevel 4% webfiles \xweb_cancelfalse }{% else % @* title. \global\xwebGroupLevel 0% webfiles \ifxweb_cancel\else \ifnum \xwebGroupLevel<\c@xwebSecNoEject \def\theskipper{\xwebMainSecSkip}% \fi \fi \xweb_cancelfalse \def\xweb_ModTitle{#1{#2}}% }}}}}% \theskipper } \def\CD#1\DC{#1} \def\P{\B} \def\xweb_CweaveBindings{% \ifx \xweb_UserBindings\relax \xweb_rebind % indentation and paragraph layout \xweb_break \0% % SPIDER \xweb_IncrIndent \1% \xweb_DecrIndent \2% \xweb_ExprBreak \3% \xweb_backup \4% \xweb_OptBreak \5% \xweb_break \6% \xweb_BigBreak \7% \xweb_noindent \8% % C/C++ tokens \xwebRel \?% \xwebAddress \AND \xwebComplement \CM \xwebScope \DC \xwebEquiv \S % SPIDER \xwebGe \G \xwebRightShift \GG \xwebNe \I \xwebAssign \K \xwebLeftShift \LL \xwebMod \MOD \xwebNull \NULL \xwebNot \R \xwebBinOr \OR \xwebMemberRef \PA \xwebThis \this \xwebOr \V \xwebAnd \W \xwebXor \XOR \xwebLE \L % SPIDER \xwebPointer \MG \xwebPointerMemberRef \MGA \xwebDecr \MM \xwebIncr \PP % more tokens \xwebId \\% \xwebIdLetter \|% \xwebRes \&% \xwebString \.% %% ( ...Emacs... \xwebStringBreak \)% \xwebNumber \O % SPIDER \xwebCombinedOp \MRL % goes to TeX state \xwebComment \C \xwebCxxComment \SHC \xwebRefName \X \xwebSpiderOutputFileName \XF % CWEB tokens \xwebMacrosHere \ATH \xwebDefine \D \xwebFormat \F \xwebIdCat \J \xwebVerbString \= % SPIDER % cross reference tags \xwebChangeFlag \*% \xwebCRAlso \A \xwebCRsAlso \As \xwebCRCite \Q \xwebCRsCite \Qs \xwebCRUse \U \xwebCRsUse \Us \xwebCREt \ET \xwebCRsEt \ETs % finish the list \stop\stop \def\xweb_UserBindings{% \xweb_RestoreBindings \let\xweb_UserBindings\relax }% \fi } \def\M#1.{% \ifon\end{xwebModule}\fi \xweb_PrepareSection{#1}% \ifon\begin{xwebModule} \ifnum\c@xwebLopDepth>9 \addcontentsline{lop}{xwebsection}{% \protect\global\xwebGroupLevel 4 \thexwebModule.}% \edef\next{\write\xweb_cont{\ZZ{}{4}{\xweb_secno}% {\thepage}}}\next % \ZZ{title}{depth}{sec}{page}% { \let\protect\@unexpandable@protect \edef\next{\write\xweb_cont{% \ZZ{}{4}{\xweb_secno}{\thepage}}}% \next }% write "\ZZ{title}{depth}{sec}{page}" to .con file \fi } \def\inx{ \ifxwebIndex \xweb_SetupIndex \def\:{\I} \else \def\:##1.{} % gobble \:\\{foo} 1, 2, 3. \fi } \def\fin{ \ifxwebIndex \xweb_FinishIndex \fi \ifxwebRef \xweb_SetupReflist \def\:{\I} \else \def\:{} \def\XF##1\XF{} \def\X##1\X{} \def\U##1.{} \def\Us##1.{} \def\ET##1.{} \def\ETs##1.{} \fi } \def\con{ \ifxwebRef \endgroup \fi } \def\xwebComment#1{% \5% % 0.5em will be discarded on line break \hskip 1.5em \commentbegin% {\xweb_tex \xwebCommentHook #1% }% \commentend% } \let\xwebCommentHook\relax \let\xwebCxxComment\xwebComment \def\xwebDefine{\xweb_macro{define}} \def\xwebFormat\\#1\\#2\par{\ifxwebHideFormats\else \4\xweb_macro{format}\\{#1} \\{#2}\par\fi} \def\xwebSpiderOutputFileName#1:#2\XF{\xwebRefName{#1}:\.{#2}\X} \catcode`\_=\xwebCatUsCode \catcode`\@=\xwebCatOther \endinput %% %% End of file `swebbind.sty'.