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