<html> <head> <!-- Generated by the Spirit (http://spirit.sf.net) QuickDoc --> <title>Grammar</title> <link rel="stylesheet" href="theme/style.css" type="text/css"> <link rel="prev" href="syntax_summary.html"> </head> <body> <table width="100%" height="48" border="0" background="theme/bkd2.gif" cellspacing="2"> <tr> <td width="10"> </td> <td width="85%"> <font size="6" face="Verdana, Arial, Helvetica, sans-serif"><b>Grammar</b></font> </td> <td width="112"><a href="http://spirit.sf.net"><img src="theme/spirit.gif" align="right" border="0"></a></td> </tr> </table> <br> <table border="0"> <tr> <td width="30"><a href="../index.html"><img src="theme/u_arr.gif" border="0"></a></td> <td width="30"><a href="syntax_summary.html"><img src="theme/l_arr.gif" border="0"></a></td> <td width="20"><img src="theme/r_arr_disabled.gif" border="0"></td> </tr> </table> <code><pre> <span class=identifier>document </span><span class=special>= </span><span class=identifier>doc_info </span><span class=special>>> </span><span class=identifier>blocks </span><span class=special>>> </span><span class=identifier>space </span><span class=special>; </span><span class=identifier>blocks </span><span class=special>= </span><span class=special>+( </span><span class=identifier>block_markup </span><span class=special>| </span><span class=identifier>code </span><span class=special>| </span><span class=identifier>unordered_list </span><span class=special>| </span><span class=identifier>ordered_list </span><span class=special>| </span><span class=identifier>hr </span><span class=special>| </span><span class=identifier>comment </span><span class=special>>> </span><span class=special>*</span><span class=identifier>eol_p </span><span class=special>| </span><span class=identifier>paragraph </span><span class=special>| </span><span class=identifier>eol_p </span><span class=special>) </span><span class=special>; </span><span class=identifier>space </span><span class=special>= </span><span class=special>*(</span><span class=identifier>blank_p </span><span class=special>| </span><span class=identifier>comment</span><span class=special>) </span><span class=special>; </span><span class=identifier>comment </span><span class=special>= </span><span class=string>"[/" </span><span class=special>>> </span><span class=special>*(</span><span class=identifier>anychar_p </span><span class=special>- </span><span class=literal>']'</span><span class=special>) </span><span class=special>>> </span><span class=literal>']' </span><span class=special>; </span><span class=identifier>doc_info </span><span class=special>= </span><span class=special>*(</span><span class=identifier>space_p </span><span class=special>| </span><span class=identifier>comment</span><span class=special>) </span><span class=special>>> </span><span class=string>"[doc" </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=special>(*(</span><span class=identifier>anychar_p </span><span class=special>- </span><span class=literal>']'</span><span class=special>)) </span><span class=special>>> </span><span class=literal>']' </span><span class=special>>> </span><span class=special>+</span><span class=identifier>eol_p </span><span class=special>; </span><span class=identifier>hr </span><span class=special>= </span><span class=identifier>str_p</span><span class=special>(</span><span class=string>"----"</span><span class=special>) </span><span class=special>>> </span><span class=special>*(</span><span class=identifier>anychar_p </span><span class=special>- </span><span class=identifier>eol_p</span><span class=special>) </span><span class=special>>> </span><span class=special>+</span><span class=identifier>eol_p</span><span class=special>; </span><span class=special>; </span><span class=identifier>block_markup </span><span class=special>= </span><span class=literal>'[' </span><span class=special>>> </span><span class=special>( </span><span class=identifier>page </span><span class=special>| </span><span class=identifier>headings </span><span class=special>| </span><span class=identifier>blurb </span><span class=special>| </span><span class=identifier>blockquote </span><span class=special>| </span><span class=identifier>preformatted </span><span class=special>| </span><span class=identifier>def_macro </span><span class=special>| </span><span class=identifier>table </span><span class=special>) </span><span class=special>>> </span><span class=literal>']' </span><span class=special>>> </span><span class=special>+</span><span class=identifier>eol_p </span><span class=special>; </span><span class=identifier>page </span><span class=special>= </span><span class=string>"page" </span><span class=special>>> </span><span class=special>!(</span><span class=literal>':' </span><span class=special>>> </span><span class=identifier>uint_p</span><span class=special>) </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=special>(*(</span><span class=identifier>anychar_p </span><span class=special>- </span><span class=literal>']'</span><span class=special>)) </span><span class=special>; </span><span class=identifier>headings </span><span class=special>= </span><span class=identifier>h1 </span><span class=special>| </span><span class=identifier>h2 </span><span class=special>| </span><span class=identifier>h3 </span><span class=special>| </span><span class=identifier>h4 </span><span class=special>| </span><span class=identifier>h5 </span><span class=special>| </span><span class=identifier>h6 </span><span class=special>; </span><span class=identifier>h1 </span><span class=special>= </span><span class=string>"h1" </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=identifier>phrase</span><span class=special>; </span><span class=identifier>h2 </span><span class=special>= </span><span class=string>"h2" </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=identifier>phrase</span><span class=special>; </span><span class=identifier>h3 </span><span class=special>= </span><span class=string>"h3" </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=identifier>phrase</span><span class=special>; </span><span class=identifier>h4 </span><span class=special>= </span><span class=string>"h4" </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=identifier>phrase</span><span class=special>; </span><span class=identifier>h5 </span><span class=special>= </span><span class=string>"h5" </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=identifier>phrase</span><span class=special>; </span><span class=identifier>h6 </span><span class=special>= </span><span class=string>"h6" </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=identifier>phrase</span><span class=special>; </span><span class=identifier>blurb </span><span class=special>= </span><span class=string>"blurb" </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=identifier>phrase </span><span class=special>; </span><span class=identifier>blockquote </span><span class=special>= </span><span class=literal>':' </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=identifier>phrase </span><span class=special>; </span><span class=identifier>preformatted </span><span class=special>= </span><span class=string>"pre" </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=identifier>phrase </span><span class=special>; </span><span class=identifier>def_macro </span><span class=special>= </span><span class=string>"def" </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=identifier>identifier </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=identifier>phrase </span><span class=special>; </span><span class=identifier>table </span><span class=special>= </span><span class=string>"table" </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=special>(*(</span><span class=identifier>anychar_p </span><span class=special>- </span><span class=identifier>eol_p</span><span class=special>)) </span><span class=special>>> </span><span class=special>+</span><span class=identifier>eol_p </span><span class=special>>> </span><span class=special>*( </span><span class=identifier>table_row </span><span class=special>>> </span><span class=special>+</span><span class=identifier>eol_p </span><span class=special>) </span><span class=special>>> </span><span class=identifier>eps_p </span><span class=special>; </span><span class=identifier>table_row </span><span class=special>= </span><span class=special>*( </span><span class=identifier>space </span><span class=special>>> </span><span class=identifier>ch_p</span><span class=special>(</span><span class=literal>'['</span><span class=special>) </span><span class=special>>> </span><span class=identifier>phrase </span><span class=special>>> </span><span class=identifier>ch_p</span><span class=special>(</span><span class=literal>']'</span><span class=special>) </span><span class=special>>> </span><span class=identifier>space </span><span class=special>) </span><span class=special>; </span><span class=identifier>identifier </span><span class=special>= </span><span class=special>*(</span><span class=identifier>anychar_p </span><span class=special>- </span><span class=special>(</span><span class=identifier>space_p </span><span class=special>| </span><span class=literal>']'</span><span class=special>)) </span><span class=special>; </span><span class=identifier>code </span><span class=special>= </span><span class=identifier>code_line </span><span class=special>>> </span><span class=special>*(*</span><span class=identifier>eol_p </span><span class=special>>> </span><span class=identifier>code_line</span><span class=special>) </span><span class=special>; </span><span class=identifier>code_line </span><span class=special>= </span><span class=special>((</span><span class=identifier>ch_p</span><span class=special>(</span><span class=literal>' '</span><span class=special>) </span><span class=special>| </span><span class=literal>'\t'</span><span class=special>)) </span><span class=special>>> </span><span class=special>*(</span><span class=identifier>anychar_p </span><span class=special>- </span><span class=identifier>eol_p</span><span class=special>) </span><span class=special>>> </span><span class=identifier>eol_p </span><span class=special>; </span><span class=identifier>unordered_list </span><span class=special>= </span><span class=special>+(</span><span class=literal>'*' </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=identifier>line</span><span class=special>) </span><span class=special>; </span><span class=identifier>ordered_list </span><span class=special>= </span><span class=special>+(</span><span class=literal>'#' </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=identifier>line</span><span class=special>) </span><span class=special>; </span><span class=identifier>common </span><span class=special>= </span><span class=identifier>self</span><span class=special>.</span><span class=identifier>actions</span><span class=special>.</span><span class=identifier>macro </span><span class=special>| </span><span class=identifier>phrase_markup </span><span class=special>| </span><span class=identifier>escape </span><span class=special>| </span><span class=identifier>comment </span><span class=special>; </span><span class=identifier>line </span><span class=special>= </span><span class=special>*( </span><span class=identifier>common </span><span class=special>| </span><span class=special>(</span><span class=identifier>anychar_p </span><span class=special>- </span><span class=identifier>eol_p</span><span class=special>) </span><span class=special>) </span><span class=special>>> </span><span class=special>+</span><span class=identifier>eol_p </span><span class=special>; </span><span class=identifier>paragraph </span><span class=special>= </span><span class=special>*( </span><span class=identifier>common </span><span class=special>| </span><span class=special>( </span><span class=identifier>anychar_p </span><span class=special>- </span><span class=special>(</span><span class=identifier>eol_p </span><span class=special>>> </span><span class=identifier>eol_p</span><span class=special>) </span><span class=special>) </span><span class=special>) </span><span class=special>>> </span><span class=special>+</span><span class=identifier>eol_p </span><span class=special>; </span><span class=identifier>phrase </span><span class=special>= </span><span class=special>*( </span><span class=identifier>common </span><span class=special>| </span><span class=identifier>comment </span><span class=special>| </span><span class=special>(</span><span class=identifier>anychar_p </span><span class=special>- </span><span class=literal>']'</span><span class=special>) </span><span class=special>) </span><span class=special>; </span><span class=identifier>phrase_markup </span><span class=special>= </span><span class=literal>'[' </span><span class=special>>> </span><span class=special>( </span><span class=identifier>image </span><span class=special>| </span><span class=identifier>link </span><span class=special>| </span><span class=identifier>bold </span><span class=special>| </span><span class=identifier>italic </span><span class=special>| </span><span class=identifier>underline </span><span class=special>| </span><span class=identifier>teletype </span><span class=special>| </span><span class=identifier>str_p</span><span class=special>(</span><span class=string>"br"</span><span class=special>) </span><span class=special>| </span><span class=identifier>unexpected </span><span class=special>) </span><span class=special>>> </span><span class=literal>']' </span><span class=special>; </span><span class=identifier>escape </span><span class=special>= </span><span class=special>( </span><span class=string>"'''" </span><span class=special>>> </span><span class=special>*(</span><span class=identifier>anychar_p </span><span class=special>- </span><span class=string>"'''"</span><span class=special>) </span><span class=special>>> </span><span class=string>"'''" </span><span class=special>) </span><span class=special>| </span><span class=special>( </span><span class=string>"\"'" </span><span class=special>>> </span><span class=special>*(</span><span class=identifier>anychar_p </span><span class=special>- </span><span class=string>"\"'"</span><span class=special>) </span><span class=special>>> </span><span class=string>"\"'" </span><span class=special>) </span><span class=special>; </span><span class=identifier>image </span><span class=special>= </span><span class=literal>'$' </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=special>(*(</span><span class=identifier>anychar_p </span><span class=special>- </span><span class=literal>']'</span><span class=special>)) </span><span class=special>; </span><span class=identifier>link </span><span class=special>= </span><span class=literal>'@' </span><span class=special>>> </span><span class=special>(*(</span><span class=identifier>anychar_p </span><span class=special>- </span><span class=identifier>space</span><span class=special>)) </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=identifier>phrase </span><span class=special>; </span><span class=identifier>bold </span><span class=special>= </span><span class=identifier>ch_p</span><span class=special>(</span><span class=literal>'*'</span><span class=special>) </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=identifier>phrase </span><span class=special>; </span><span class=identifier>italic </span><span class=special>= </span><span class=identifier>ch_p</span><span class=special>(</span><span class=literal>'\''</span><span class=special>) </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=identifier>phrase </span><span class=special>; </span><span class=identifier>underline </span><span class=special>= </span><span class=identifier>ch_p</span><span class=special>(</span><span class=literal>'_'</span><span class=special>) </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=identifier>phrase </span><span class=special>; </span><span class=identifier>teletype </span><span class=special>= </span><span class=identifier>ch_p</span><span class=special>(</span><span class=literal>'^'</span><span class=special>) </span><span class=special>>> </span><span class=identifier>space </span><span class=special>>> </span><span class=identifier>phrase </span><span class=special>; </span><span class=identifier>unexpected </span><span class=special>= </span><span class=special>(*(</span><span class=identifier>anychar_p </span><span class=special>- </span><span class=literal>']'</span><span class=special>)) </span><span class=special>; </span></pre></code> <table border="0"> <tr> <td width="30"><a href="../index.html"><img src="theme/u_arr.gif" border="0"></a></td> <td width="30"><a href="syntax_summary.html"><img src="theme/l_arr.gif" border="0"></a></td> <td width="20"><img src="theme/r_arr_disabled.gif" border="0"></td> </tr> </table> <br> <hr size="1"><p class="copyright">Copyright © 2001-2002 Joel de Guzman<br><br> <font size="2">Permission to copy, use, modify, sell and distribute this document is granted provided this copyright notice appears in all copies. This document is provided "as is" without express or implied warranty, and with no claim as to its suitability for any purpose. </font> </p> </body> </html>