]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/spirit/doc/refcard/spirit-reference.tex
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / spirit / doc / refcard / spirit-reference.tex
1 % Reference Card for Boost.Spirit 2.5.2
2 % Copyright (c) 2014 Richard Thomson. May be freely distributed.
3 % Created Friday, October 31, 2014
4 % Thanks to Joseph H. Silverman for his TeX reference card on which
5 % this reference card is based.
6 % Thanks to Stephen Gildea for the multicolumn macro package
7 % which Joseph Silverman modified from his GNU emacs reference card
8 % TeX is a trademark of the American Mathematical Society
9
10 %**start of header
11 \newcount\columnsperpage
12
13 % This file can be printed with 1, 2, or 3 columns per page (see below).
14 % [For 2 or 3 columns, you'll need 6 and 8 point fonts.]
15 % Specify how many you want here. Nothing else needs to be changed.
16
17 \columnsperpage=3
18
19 % Smaller (97%) pdf file with horizontal offset 1.5in
20 % dvipdfm -l -m 0.97 -x 1.5in -o spirit-reference.pdf spirit-reference.dvi
21
22 % There are a couple extra sections included at the end of the document
23 % (after the \bye) that didn't fit into six columns.
24 % It would be nice to have additional sections covering:
25 % \hrules and \vrules, Registers
26 % \input and \output files (including \read, \write, \message)
27
28 % This reference card is distributed in the hope that it will be useful,
29 % but WITHOUT ANY WARRANTY; without even the implied warranty of
30 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
31
32 % This file is intended to be processed by plain TeX (TeX82).
33 %
34 % The final reference card has six columns, three on each side.
35 % This file can be used to produce it in any of three ways:
36 % 1 column per page
37 % produces six separate pages, each of which needs to be reduced to 80%.
38 % This gives the best resolution.
39 % 2 columns per page
40 % produces three already-reduced pages.
41 % You will still need to cut and paste.
42 % 3 columns per page
43 % produces two pages which must be printed sideways to make a
44 % ready-to-use 8.5 x 11 inch reference card.
45 % For this you need a dvi device driver that can print sideways.
46 % Which mode to use is controlled by setting \columnsperpage above.
47 %
48 % Author:
49 % Richard Thomson
50 % Internet: legalize@xmission.com
51 % (based on a reference card by Joseph H. Silverman)
52 % (reference card macros due to Stephen Gildea)
53
54 % History:
55 % Version 1.0 - October 2014
56
57 \def\versionnumber{1.0} % Version of this reference card
58 \def\year{2014}
59 \def\month{October}
60 \def\version{\month\ \year\ v\versionnumber}
61
62
63 \def\shortcopyrightnotice{
64 \vskip 0pt plus 2 fill\begingroup\parskip=0pt\small
65 \centerline{\copyright\ \number\year\ Richard Thomson,
66 Permissions on back. v\versionnumber}
67
68 Send comments and corrections to Richard Thomson,
69 $\langle$legalize@xmission.com$\rangle$
70
71 \endgroup}
72
73 \def\copyrightnotice{
74 \vskip 1ex plus 2 fill\begingroup\parskip=0pt\small
75 \centerline{Copyright \copyright\ \year\ Richard Thomson, \version}
76
77 Permission is granted to make and distribute copies of
78 this card provided the copyright notice and this permission notice
79 are preserved on all copies.
80
81 \endgroup}
82
83 % make \bye not \outer so that the \def\bye in the \else clause below
84 % can be scanned without complaint.
85 \def\bye{\par\vfill\supereject\end}
86
87 \newdimen\intercolumnskip
88 \newbox\columna
89 \newbox\columnb
90
91 \def\ncolumns{\the\columnsperpage}
92
93 \message{[\ncolumns\space
94 column\if 1\ncolumns\else s\fi\space per page]}
95
96 \def\scaledmag#1{ scaled \magstep #1}
97
98 % This multi-way format was designed by Stephen Gildea
99 % October 1986.
100 \if 1\ncolumns
101 \hsize 4in
102 \vsize 10in
103 \voffset -.7in
104 \font\titlefont=\fontname\tenbf \scaledmag3
105 \font\headingfont=\fontname\tenbf \scaledmag2
106 \font\smallfont=\fontname\sevenrm
107 \font\smallsy=\fontname\sevensy
108
109 \footline{\hss\folio}
110 \def\makefootline{\baselineskip10pt\hsize6.5in\line{\the\footline}}
111 \else
112 \hsize 3.2in
113 \vsize 7.95in
114 \hoffset -.75in
115 \voffset -.745in
116 \font\titlefont=cmbx10 \scaledmag2
117 \font\headingfont=cmbx10 \scaledmag1
118 \font\smallfont=cmr6
119 \font\smallsy=cmsy6
120 \font\eightrm=cmr8
121 \font\eighti=cmmi8
122 \font\eightsy=cmsy8
123 \font\eightbf=cmbx8
124 \font\eighttt=cmtt8
125 \font\eightit=cmti8
126 \font\eightsl=cmsl8
127 \textfont0=\eightrm
128 \textfont1=\eighti
129 \textfont2=\eightsy
130 \def\rm{\eightrm}
131 \def\bf{\eightbf}
132 \def\tt{\eighttt}
133 \def\it{\eightit}
134 \def\sl{\eightsl}
135 \normalbaselineskip=.8\normalbaselineskip
136 \normallineskip=.8\normallineskip
137 \normallineskiplimit=.8\normallineskiplimit
138 \normalbaselines\rm %make definitions take effect
139
140 \if 2\ncolumns
141 \let\maxcolumn=b
142 \footline{\hss\rm\folio\hss}
143 \def\makefootline{\vskip 2in \hsize=6.86in\line{\the\footline}}
144 \else \if 3\ncolumns
145 \let\maxcolumn=c
146 \nopagenumbers
147 \else
148 \errhelp{You must set \columnsperpage equal to 1, 2, or 3.}
149 \errmessage{Illegal number of columns per page}
150 \fi\fi
151
152 \intercolumnskip=.46in
153 \def\abc{a}
154 \output={%
155 % This next line is useful when designing the layout.
156 %\immediate\write16{Column \folio\abc\space starts with \firstmark}
157 \if \maxcolumn\abc \multicolumnformat \global\def\abc{a}
158 \else\if a\abc
159 \global\setbox\columna\columnbox \global\def\abc{b}
160 %% in case we never use \columnb (two-column mode)
161 \global\setbox\columnb\hbox to -\intercolumnskip{}
162 \else
163 \global\setbox\columnb\columnbox \global\def\abc{c}\fi\fi}
164 \def\multicolumnformat{\shipout\vbox{\makeheadline
165 \hbox{\box\columna\hskip\intercolumnskip
166 \box\columnb\hskip\intercolumnskip\columnbox}
167 \makefootline}\advancepageno}
168 \def\columnbox{\leftline{\pagebody}}
169
170 \def\bye{\par\vfill\supereject
171 \if a\abc \else\null\vfill\eject\fi
172 \if a\abc \else\null\vfill\eject\fi
173 \end}
174 \fi
175
176 % ***** Verbatim typesetting *****
177
178 % Verbatim typesetting is done by
179 % \verbatim"stuff to verbatim typeset"
180 % Any character can be used in place of ".
181 % E.g. \verbatim?stuff? or \verbatim|stuff|. Cf. TeXbook pp.380-382
182
183 \def\uncatcodespecials{\def\do##1{\catcode`##1=12}\dospecials}
184 \def\setupverbatim{\tt%
185 \def\par{\leavevmode\endgraf}\catcode`\`=\active%
186 \obeylines\uncatcodespecials\obeyspaces}
187 \def\verbatim{\begingroup\setupverbatim\doverbatim}
188 \def\doverbatim#1{\def\next##1#1{##1\endgroup}\next}
189
190 \def\\{\verbatim}
191 \def\ds{\displaystyle}
192 \def\SPC{\quad} % space between symbol and command
193
194 \parindent 0pt
195 \parskip 1ex plus .5ex minus .5ex
196
197 \def\small{\smallfont\textfont2=\smallsy\baselineskip=.8\baselineskip}
198
199 \outer\def\newcolumn{\vfill\eject}
200
201 \outer\def\title#1{{\titlefont\centerline{#1}}\vskip 1ex plus .5ex minus.5ex}
202
203 %\outer\def\section#1{\par\filbreak
204 % \vskip 1ex plus 2ex minus 2ex {\headingfont #1}\mark{#1}%
205 % \vskip 1ex plus 1ex minus .5ex}
206 \outer\def\section#1{\par\filbreak
207 \vskip .75ex plus 1ex minus 2ex {\headingfont #1}\mark{#1}%
208 \vskip .5ex plus .5ex minus .5ex}
209
210
211 \def\paralign{\vskip\parskip\halign}
212
213 \def\<#1>{$\langle${\rm #1}$\rangle$}
214
215 \def\begintext{\par\leavevmode\begingroup\parskip0pt\rm}
216 \def\endtext{\endgroup}
217
218 \def\unused{$unused$}
219
220 % ************ TEXT STARTS HERE **************************
221
222 \title{Boost.Spirit 2.5.2 Reference Card}
223
224 \section{Primitive Parsers}
225
226 % ***** Three Column Format *****
227 \paralign to\hsize{%
228 #\hfil\SPC\tabskip=0pt
229 &#\hfil\SPC\tabskip=0pt plus 1 fil
230 &#\hfil\cr
231 %----------- 3 Column Data -------------------
232 \\|attr(a)|&Attribute&\\|A|\cr
233 \\|eoi|&End of Input&\unused\cr
234 \\|eol|&End of Line&\unused\cr
235 \\|eps|&Epsilon&\unused\cr
236 \\|eps(p)|&&\unused\cr
237 \\|symbols<Ch,T,Lookup>|&Symbol Table&\\|T|\cr
238 }
239
240 \section{Unary Parsers}
241
242 % ***** Three Column Format *****
243 \paralign to\hsize{%
244 #\hfil\SPC\tabskip=0pt plus 1 fil
245 &#\hfil\SPC\tabskip=0pt plus 1 fil
246 &#\hfil\cr
247 %----------- 3 Column Data -------------------
248 \\|&a|&And Predicate&\unused\cr
249 \\|!a|&Not Predicate&\unused\cr
250 \\|*a|&Zero or More&\\|vector<A>|\cr
251 \\|*u|&&\unused\cr
252 \\|-a|&Optional&\\|optional<A>|\cr
253 \\|-u|&&\unused\cr
254 \\|+a|&One or More&\\|vector<A>|\cr
255 \\|+u|&&\unused\cr
256 \\|attr_cast<T>(p)|&Attribute Cast&\\|T|\cr
257 }
258
259 \section{Binary Parsers}
260
261 % ***** Three Column Format *****
262 \paralign to\hsize{%
263 #\hfil\SPC\tabskip=0pt plus 1 fil
264 &#\hfil\SPC\tabskip=0pt plus 1 fil
265 &#\hfil\cr
266 %----------- 3 Column Data -------------------
267 \\|a - b|&Difference&\\|A|\cr
268 \\|u - b|&&\unused\cr
269 \\|a % b|&Separated List&\\|vector<A>|\cr
270 \\|u % b|&&\unused\cr
271 }
272
273 \section{N-ary Parsers}
274
275 % ***** Three Column Format *****
276 \paralign to\hsize{%
277 #\hfil\SPC\tabskip=0pt plus 1 fil
278 &#\hfil\SPC\tabskip=0pt plus 1 fil
279 &#\hfil\cr
280 %----------- 3 Column Data -------------------
281 \\/a | b/&Alternative&\\|variant<A, B>|\cr
282 \\/a | u/& &\\|optional<A>|\cr
283 \\/a | b | u/& &\\|optional<variant<A,B>>|\cr
284 \\/u | b/& &\\|optional<B>|\cr
285 \\/u | u/& &\unused\cr
286 \\/a | a/& &\\|A|\cr
287 \\|a > b|&Expect&\\|tuple<A,B>|\cr
288 \\|a > u|& &\\|A|\cr
289 \\|u > b|& &\\|B|\cr
290 \\|u > u|& &\unused\cr
291 \\|a > vA|& &\\|vector<A>|\cr
292 \\|vA > a|& &\\|vector<A>|\cr
293 \\|vA > vA|& &\\|vector<A>|\cr
294 \\|a ^ b|&Permute&\\|tuple<optional<A>,optional<B>>|\cr
295 \\|a ^ u|& &\\|optional<A>|\cr
296 \\|u ^ b|& &\\|optional<B>|\cr
297 \\|u ^ u|& &\unused\cr
298 \\|a >> b|&Sequence&\\|tuple<A,B>|\cr
299 \\|a >> u|& &\\|A|\cr
300 \\|u >> b|& &\\|B|\cr
301 \\|u >> u|& &\unused\cr
302 \\|a >> a|& &\\|vector<A>|\cr
303 \\|a >> vA|& &\\|vector<A>|\cr
304 \\|vA >> a|& &\\|vector<A>|\cr
305 \\|vA >> vA|& &\\|vector<A>|\cr
306 \\/a || b/&Sequence Or&\\|tuple<optional<A>,optional<B>>|\cr
307 \\/a || u/& &\\|optional<A>|\cr
308 \\/u || a/& &\\|optional<A>|\cr
309 \\/u || u/& &\unused\cr
310 \\/a || a/& &\\|vector<optional<A>>|\cr
311 }
312
313 \section{Nonterminal Parsers}
314
315 \paralign to\hsize{
316 #\hfil\SPC\tabskip=0pt plus 1 fil
317 &#\hfil\SPC\tabskip=0pt plus 1 fil
318 &#\hfil\cr
319 \\|rule<It,RT(A1,...,An),Skip,Loc>|&Rule&\\|RT|\cr
320 \\|rule<It>|& &\unused\cr
321 \\|rule<It,Skip>|& &\unused\cr
322 \\|rule<It,Loc>|& &\unused\cr
323 \\|rule<It,Skip,Loc>|& &\unused\cr
324 \\|grammar<It,RT(A1,...,An),Skip,Loc>|&Grammar&\\|RT|\cr
325 \\|grammar<It>|& &\unused\cr
326 \\|grammar<It,Skip>|& &\unused\cr
327 \\|grammar<It,Loc>|& &\unused\cr
328 \\|grammar<It,Skip,Loc>|& &\unused\cr
329 }
330
331 \section{Parser Directives}
332
333 \paralign to\hsize{%
334 #\hfil\SPC\tabskip=0pt plus 1 fil
335 &#\hfil\SPC\tabskip=0pt plus 1 fil
336 &#\hfil\cr
337 \\|as<T>()[a]|&Atomic Assignment&\\|T|\cr
338 \\|hold[a]|&Hold Attribute&\\|A|\cr
339 \\|hold[u]|&&\unused\cr
340 \\|lexeme[a]|&Lexeme&\\|A|\cr
341 \\|lexeme[u]|&&\unused\cr
342 \\|matches[a]|&Matches&\\|bool|\cr
343 \\|no_case[a]|&Case Insensitive&\\|A|\cr
344 \\|no_case[u]|&&\unused\cr
345 \\|no_skip[a]|&No Skipping&\\|A|\cr
346 \\|no_skip[u]|&&\unused\cr
347 \\|omit[a]|&Omit Attribute&\unused\cr
348 \\|raw[a]|&Raw Iterators&\\|iterator_range<It>|\cr
349 \\|raw[u]|&&\unused\cr
350 \\|repeat[a]|&Repeat&\\|vector<A>|\cr
351 \\|repeat[u]|&&\unused\cr
352 \\|repeat(n)[a]|&&\\|vector<A>|\cr
353 \\|repeat(n)[u]|&&\unused\cr
354 \\|repeat(min,max)[a]|&&\\|vector<A>|\cr
355 \\|repeat(min,max)[u]|&&\unused\cr
356 \\|repeat(min,inf)[a]|&&\\|vector<A>|\cr
357 \\|repeat(min,inf)[u]|&&\unused\cr
358 \\|skip[a]|&Skip Whitespace&\\|A|\cr
359 \\|skip[u]|&&\unused\cr
360 \\|skip(p)[a]|&&\\|A|\cr
361 \\|skip(p)[u]|&&\unused\cr
362 }
363
364 \section{Semantic Actions}
365
366 \paralign to\hsize{%
367 #\hfil\SPC\tabskip=0pt plus 1 fil
368 &#\hfil\SPC\tabskip=0pt plus 1 fil
369 &#\hfil\cr
370 \\|p[fa]|&Apply Semantic Action&\\|A|\cr
371 \\|p[|$phoenix$ $lambda$\\|]|&&\\|A|\cr
372 }
373
374 \paralign to\hsize{%
375 #\hfil\cr
376 \\|template<typename Attrib>|\cr
377 \\|void fa(Attrib& attr);|\cr
378 \cr
379 \\|template<typename Attrib, typename Context>|\cr
380 \\|void fa(Attrib& attr, Context& context);|\cr
381 \cr
382 \\|template<typename Attrib, typename Context>|\cr
383 \\|void fa(Attrib& attr, Context& context, bool& pass);|\cr
384 }
385
386 \section{Phoenix Placeholders}
387
388 \paralign to\hsize{%
389 #\hfil\SPC\tabskip=0pt plus 1 fil
390 &#\hfil\cr
391 \\|_1|, \\|_2|, $\dots$, \\|_N|&Nth Attribute of \\|p|\cr
392 \\|_val|&Enclosing rule's synthesized attribute\cr
393 \\|_r1|, \\|_r2|, $\dots$, \\|_rN|&Enclosing rule's Nth inherited
394 attribute.\cr
395 \\|_a|, \\|_b|, $\dots$, \\|_j|&Enclosing rule's local variables.\cr
396 \\|_pass|&Assign \\|false| to \\|_pass| to force failure.\cr
397 }
398
399 \section{Iterator Parser API}
400
401 \paralign to \hsize{#\cr
402 \\|bool parse<It, Exp>(|\cr
403 \\| It& first, It last, Exp const& expr);|\cr
404 \\|bool parse<It, Exp, A1, ..., An>(|\cr
405 \\| It& first, It last, Exp const& expr,|\cr
406 \\| A1& a1, ..., An& an);|\cr
407 \\|bool phrase_parse<It, Exp, Skipper>(|\cr
408 \\| It& first, It last, Exp const& expr,|\cr
409 \\| Skipper const& skipper,|\cr
410 \\| skip_flag post_skip = postskip);|\cr
411 \\|bool phrase_parse<It, Exp, Skipper, A1, ..., An>(|\cr
412 \\| It& first, It last, Exp const& expr,|\cr
413 \\| Skipper const& skipper,|\cr
414 \\| A1& a1, ..., An& an);|\cr
415 \\|bool phrase_parse<It, Exp, Skipper, A1, ..., An>(|\cr
416 \\| It& first, It last, Exp const& expr,|\cr
417 \\| Skipper const& skipper,|\cr
418 \\| skip_flag post_skip,|\cr
419 \\| A1& a1, ..., An& an);|\cr
420 }
421
422 \section{Stream Parser API}
423
424 \paralign to\hsize{#\cr
425 $unspecified$\\| match<Exp>(Exp const& expr);|\cr
426 $unspecified$\\| match<Exp, A1, ..., An>(|\cr
427 \\| Exp const& expr,|\cr
428 \\| A1& a1, ..., An& an);|\cr
429 $unspecified$\\| phrase_match<Exp, Skipper>(|\cr
430 \\| Exp const& expr,|\cr
431 \\| Skipper const& skipper,|\cr
432 \\| skip_flag post_skip = postskip);|\cr
433 $unspecified$\\| phrase_match<Exp, Skipper, A1, ..., An>(|\cr
434 \\| Exp const& expr,|\cr
435 \\| Skipper const& skipper,|\cr
436 \\| skip_flag post_skip,|\cr
437 \\| A1& a1, ..., An& an);|\cr
438 }
439
440 \section{Binary Value Parsers}
441
442 % ***** Three Column Format *****
443 \paralign to\hsize{%
444 #\hfil\SPC\tabskip=0pt plus 1 fil
445 &#\hfil\SPC\tabskip=0pt plus 1 fil
446 &#\hfil\cr
447 \\|byte_|&Native Byte&\\|uint_least8_t|\cr
448 \\|byte_(b)|&&\unused\cr
449 \\|word|&Native Word&\\|uint_least16_t|\cr
450 \\|word(w)|&&\unused\cr
451 \\|dword|&Native Double Word&\\|uint_least32_t|\cr
452 \\|dword(dw)|&&\unused\cr
453 \\|qword|&Native Quad Word&\\|uint_least64_t|\cr
454 \\|qword(qw)|&&\unused\cr
455 \\|bin_float|&Native Float&\\|float|\cr
456 \\|bin_float(f)|&&\unused\cr
457 \\|bin_double|&Native Double&\\|double|\cr
458 \\|bin_double(d)|&&\unused\cr
459 \\|little_|$item$&Little Endian $item$&as above\cr
460 \\|little_|$item$\\|(w)|&&\unused\cr
461 \\|big_|$item$&Big Endian $item$&as above\cr
462 \\|big_|$item$\\|(w)|&&\unused\cr
463 }
464
465 \shortcopyrightnotice
466
467 \section{Character Encodings}
468
469 \paralign to\hsize{%
470 #\hfil\SPC\tabskip=0pt plus 1 fil
471 &#\hfil\cr
472 \\|ascii|&7-bit ASCII\cr
473 \\|iso8859_1|&ISO 8859-1\cr
474 \\|standard|&Using \\|<cctype>|\cr
475 \\|standard_wide|&Using \\|<cwctype>|\cr
476 }
477
478 \section{Character Parsers}
479
480 \paralign to\hsize{%
481 #\hfil\SPC\tabskip=0pt plus 1 fil
482 &#\hfil\SPC\tabskip=0pt plus 1 fil
483 &#\hfil\cr
484 \\|c|&Character Literal&\unused\cr
485 \\|lit(c)|&&\unused\cr
486 \\|ns::char_|&Any Character&\\|ns::char_type|\cr
487 \\|ns::char_(c)|&Character Value&\\|ns::char_type|\cr
488 \\|ns::char_(f,l)|&Character Range&\\|ns::char_type|\cr
489 \\|ns::char_(str)|&Any Character in String&\\|ns::char_type|\cr
490 \\|~cp|&Characters not in \\|cp|&Attribute of \\|cp|\cr
491 }
492
493 \section{Character Class Parsers}
494
495 \paralign to\hsize{%
496 #\hfil\SPC\tabskip=0pt plus 1 fil
497 &#\hfil\SPC\tabskip=0pt plus 1 fil
498 &#\hfil\cr
499 \\|ns::alnum|&Letters or Digits&\\|ns::char_type|\cr
500 \\|ns::alpha|&Alphabetic&\\|ns::char_type|\cr
501 \\|ns::blank|&Spaces or Tabs&\\|ns::char_type|\cr
502 \\|ns::cntrl|&Control Characters&\\|ns::char_type|\cr
503 \\|ns::digit|&Numeric Digits&\\|ns::char_type|\cr
504 \\|ns::graph|&Non-space Printing Characters&\\|ns::char_type|\cr
505 \\|ns::lower|&Lower Case Letters&\\|ns::char_type|\cr
506 \\|ns::print|&Printing Characters&\\|ns::char_type|\cr
507 \\|ns::punct|&Punctuation&\\|ns::char_type|\cr
508 \\|ns::space|&White Space&\\|ns::char_type|\cr
509 \\|ns::upper|&Upper Case Letters&\\|ns::char_type|\cr
510 \\|ns::xdigit|&Hexadecimal Digits&\\|ns::char_type|\cr
511 }
512
513 \section{String Parsers}
514
515 \paralign to\hsize{%
516 #\hfil\SPC\tabskip=0pt plus 1 fil
517 &#\hfil\SPC\tabskip=0pt plus 1 fil
518 &#\hfil\cr
519 \\|str|&String Literal&\unused\cr
520 \\|lit(str)|&&\unused\cr
521 \\|ns::string("str")|&String&\\|basic_string<char>|\cr
522 \\|ns::string(L"str")|&&\\|basic_string<wchar_t>|\cr
523 }
524
525 \section{Unsigned Integer Parsers}
526
527 \paralign to\hsize{%
528 #\hfil\SPC\tabskip=0pt plus 1 fil
529 &#\hfil\SPC\tabskip=0pt plus 1 fil
530 &#\hfil\cr
531 \\|lit(num)|&Integer Literal&\unused\cr
532 \\|ushort_|&Short&\\|unsigned short|\cr
533 \\|ushort_(num)|&Short Value&\\|unsigned short|\cr
534 \\|uint_|&Integer&\\|unsigned int|\cr
535 \\|uint_(num)|&Integer Value&\\|unsigned int|\cr
536 \\|ulong_|&Long&\\|unsigned long|\cr
537 \\|ulong_(num)|&Long Value&\\|unsigned long|\cr
538 \\|ulong_long|&Long Long&\\|unsigned long long|\cr
539 \\|ulong_long(num)|&Long Long Value&\\|unsigned long long|\cr
540 \\|bin|&Binary Integer&\\|unsigned int|\cr
541 \\|bin(num)|&Binary Integer Value&\\|unsigned int|\cr
542 \\|oct|&Octal Integer&\\|unsigned int|\cr
543 \\|oct(num)|&Octal Integer Value&\\|unsigned int|\cr
544 \\|hex|&Hexadecimal Integer&\\|unsigned int|\cr
545 \\|hex(num)|&Hex Integer Value&\\|unsigned int|\cr
546 }
547
548 \section{Generalized Unsigned Integer Parser}
549
550 \paralign to\hsize{%
551 #\hfil\SPC\tabskip=0pt plus 1 fil
552 &#\hfil\cr
553 \\|uint_parser<T,Radix,MinDigits,MaxDigits>|&\\|T|\cr
554 \\|uint_parser<T,Radix,MinDigits,MaxDigits>(num)|&\\|T|\cr
555 }
556
557 \section{Signed Integer Parsers}
558
559 \paralign to\hsize{%
560 #\hfil\SPC\tabskip=0pt plus 1 fil
561 &#\hfil\SPC\tabskip=0pt plus 1 fil
562 &#\hfil\cr
563 \\|lit(num)|&Integer Literal&\unused\cr
564 \\|short_|&Short&\\|short|\cr
565 \\|short_(num)|&Short Value&\\|short|\cr
566 \\|int_|&Integer&\\|int|\cr
567 \\|int_(num)|&Integer Value&\\|int|\cr
568 \\|long_|&Long&\\|long|\cr
569 \\|long_(num)|&Long Value&\\|long|\cr
570 \\|long_long|&Long Long&\\|long long|\cr
571 \\|long_long(num)|&Long Long Value&\\|long long|\cr
572 }
573
574 \section{Generalized Signed Integer Parser}
575
576 \paralign to\hsize{%
577 #\hfil\SPC\tabskip=0pt plus 1 fil
578 &#\hfil\cr
579 \\|int_parser<T,Radix,MinDigits,MaxDigits>|&\\|T|\cr
580 \\|int_parser<T,Radix,MinDigits,MaxDigits>(num)|&\\|T|\cr
581 }
582
583 \section{Real Number Parsers}
584
585 \paralign to\hsize{%
586 #\hfil\SPC\tabskip=0pt plus 1 fil
587 &#\hfil\SPC\tabskip=0pt plus 1 fil
588 &#\hfil\cr
589 \\|lit(num)|&Real Number Literal&\unused\cr
590 \\|float_|&Float&\\|float|\cr
591 \\|float_(num)|&Float Value&\\|float|\cr
592 \\|double_|&Double&\\|double|\cr
593 \\|double_(num)|&Double Value&\\|double|\cr
594 \\|long_double|&Long Double&\\|long double|\cr
595 \\|long_double(num)|&Long Double Value&\\|long double|\cr
596 }
597
598 \section{Generalized Real Number Parser}
599
600 \paralign to\hsize{%
601 #\hfil\SPC\tabskip=0pt plus 1 fil
602 &#\hfil\cr
603 \\|real_parser<T,RealPolicies>|&\\|T|\cr
604 \\|real_parser<T,RealPolicies>(num)|&\\|T|\cr
605 }
606
607 \section{Boolean Parsers}
608
609 \paralign to\hsize{%
610 #\hfil\SPC\tabskip=0pt plus 1 fil
611 &#\hfil\SPC\tabskip=0pt plus 1 fil
612 &#\hfil\cr
613 \\|lit(boolean)|&Boolean Literal&\unused\cr
614 \\|false_|&Match ``\\|false|''&\\|bool|\cr
615 \\|true_|&Match ``\\|true|''&\\|bool|\cr
616 \\|bool_|&Boolean&\\|bool|\cr
617 \\|bool_(boolean)|&Boolean Value&\\|bool|\cr
618 }
619
620 \section{Generalized Boolean Parser}
621
622 \paralign to\hsize{%
623 #\hfil\SPC\tabskip=0pt plus 1 fil
624 &#\hfil\cr
625 \\|bool_parser<T,BoolPolicies>|&\\|T|\cr
626 \\|bool_parser<T,BoolPolicies>(boolean)|&\\|T|\cr
627 }
628
629
630 \copyrightnotice
631
632 \bye