]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/spirit/doc/refcard/spirit-reference.tex
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / spirit / doc / refcard / spirit-reference.tex
CommitLineData
7c673cae
FG
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
68Send 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
77Permission is granted to make and distribute copies of
78this card provided the copyright notice and this permission notice
79are 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
394attribute.\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