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