bison-module.html 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. <?xml version="1.0" encoding="iso-8859-1"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3. "DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  5. <head>
  6. <title>bison</title>
  7. <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
  8. </head>
  9. <body bgcolor="white" text="black" link="blue" vlink="#204080"
  10. alink="#204080">
  11. <!-- =========== START OF NAVBAR =========== -->
  12. <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
  13. <tr valign="center">
  14. <th bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Home&nbsp;&nbsp;&nbsp;</th>
  15. <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
  16. <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
  17. <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
  18. <th class="navbar" align="right" width="100%">
  19. <table border="0" cellpadding="0" cellspacing="0">
  20. <tr><th class="navbar" align="center">
  21. <p class="nomargin">
  22. PyBison&nbsp;API&nbsp;Reference
  23. </p></th></tr></table>
  24. </th>
  25. </tr>
  26. </table>
  27. <table width="100%" cellpadding="0" cellspacing="0">
  28. <tr valign="top">
  29. <td width="100%">
  30. <font size="-1"><b class="breadcrumbs">
  31. Module&nbsp;bison
  32. </b></font></br>
  33. </td>
  34. <td><table cellpadding="0" cellspacing="0">
  35. <tr><td align="right"><font size="-2">[<a href="../private/bison-module.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
  36. <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="bison-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
  37. </table></td>
  38. </tr></table>
  39. <!-- =========== START OF MODULE DESCRIPTION =========== -->
  40. <h2 class="module">Module bison</h2>
  41. <p>Wrapper module for interfacing with Bison (yacc)</p>
  42. <p>Written April 2004 by David McNab &lt;david&#64;freenet.org.nz&gt;
  43. Copyright (c) 2004 by David McNab, all rights reserved.</p>
  44. <p>Released under the GNU General Public License, a copy of which should
  45. appear in this distribution in the file called 'COPYING'. If this file is
  46. missing, then you can obtain a copy of the GPL license document from the
  47. GNU website at http://www.gnu.org.</p>
  48. <p>This software is released with no warranty whatsoever. Use it at your
  49. own risk.</p>
  50. If you wish to use this software in a commercial application, and wish
  51. to depart from the GPL licensing requirements, please contact the author
  52. and apply for a commercial license.
  53. <hr/>
  54. <!-- =========== START OF CLASSES =========== -->
  55. <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
  56. <tr bgcolor="#70b0f0" class="summary">
  57. <th colspan="2">Classes</th></tr>
  58. <tr><td width="15%">
  59. <b><a href="bison.BisonError-class.html"><code>BisonError</code></a></b></td>
  60. <td>Flags an error to yyparse()</td></tr>
  61. <tr><td width="15%">
  62. <b><a href="bison.BisonNode-class.html"><code>BisonNode</code></a></b></td>
  63. <td>Generic class for wrapping parse targets.</td></tr>
  64. <tr><td width="15%">
  65. <b><a href="bison.BisonParser-class.html"><code>BisonParser</code></a></b></td>
  66. <td>Base parser class</td></tr>
  67. </table><br />
  68. <!-- =========== START OF EXCEPTIONS =========== -->
  69. <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
  70. <tr bgcolor="#70b0f0" class="summary">
  71. <th colspan="2">Exceptions</th></tr>
  72. <tr><td width="15%">
  73. <b><a href="bison.ParserSyntaxError-class.html"><code>ParserSyntaxError</code></a></b></td>
  74. <td>&nbsp;</td></tr>
  75. </table><br />
  76. <!-- =========== START OF FUNCTION SUMMARY =========== -->
  77. <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
  78. <tr bgcolor="#70b0f0" class="summary">
  79. <th colspan="2">Function Summary</th></tr>
  80. <tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  81. <td><code><span class="summary-sig"><a href="bison-module.html#bisonToPython" class="summary-sig-name"><code>bisonToPython</code></a>(<span class=summary-sig-arg>bisonfileName</span>,
  82. <span class=summary-sig-arg>lexfileName</span>,
  83. <span class=summary-sig-arg>pyfileName</span>,
  84. <span class=summary-sig-arg>generateClasses</span>)</span></code>
  85. <br />
  86. Rips the rules, tokens and precedences from a bison file, and the
  87. verbatim text from a lex file and generates a boilerplate python file
  88. containing a Parser class with handler methods and grammar attributes</td></tr>
  89. </table><br />
  90. <!-- =========== START OF VARIABLE SUMMARY =========== -->
  91. <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
  92. <tr bgcolor="#70b0f0" class="summary">
  93. <th colspan="2">Variable Summary</th></tr>
  94. <tr><td align="right" valign="top" width="15%"><font size="-1"><code>SRE_Pattern</code></font></td>
  95. <td><b><a href="bison-module.html#reSpaces"><code>reSpaces</code></a></b> = <span title="&lt;_sre.SRE_Pattern object at 0x4029a2f8&gt;"><code><span class="re"><span class="re-char">\s</span><span class="re-op">+</span></span> </code>
  96. </span></td></tr>
  97. </table><br />
  98. <!-- =========== START OF FUNCTION DETAILS =========== -->
  99. <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
  100. <tr bgcolor="#70b0f0" class="details">
  101. <th colspan="2">Function Details</th></tr>
  102. </table>
  103. <a name="bisonToPython"></a>
  104. <table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  105. <h3><span class="sig"><span class="sig-name">bisonToPython</span>(<span class=sig-arg>bisonfileName</span>,
  106. <span class=sig-arg>lexfileName</span>,
  107. <span class=sig-arg>pyfileName</span>,
  108. <span class=sig-arg>generateClasses</span>=<span class=sig-default>0</span>)</span>
  109. </h3>
  110. <p>Rips the rules, tokens and precedences from a bison file, and the
  111. verbatim text from a lex file and generates a boilerplate python file
  112. containing a Parser class with handler methods and grammar
  113. attributes</p>
  114. Arguments:
  115. <ul>
  116. <li>
  117. bisonfileName - name of input bison script
  118. </li>
  119. <li>
  120. lexfileName - name of input flex script
  121. </li>
  122. <li>
  123. pyfileName - name of output python file
  124. </li>
  125. <li>
  126. generateClasses - flag - default 0 - if 1, causes a unique class
  127. to be defined for each parse target, and for the corresponding
  128. target handler method in the main Parser class to use this class
  129. when creating the node.
  130. </li>
  131. </ul>
  132. <dl><dt></dt><dd>
  133. </dd></dl>
  134. </td></tr></table>
  135. <br />
  136. <!-- =========== START OF VARIABLE DETAILS =========== -->
  137. <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
  138. <tr bgcolor="#70b0f0" class="details">
  139. <th colspan="2">Variable Details</th></tr>
  140. </table>
  141. <table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
  142. <a name="reSpaces"></a>
  143. <h3>reSpaces</h3>
  144. <dl>
  145. <dt></dt>
  146. <dd>
  147. <dl>
  148. <dt><b>Type:</b></dt>
  149. <dd>
  150. <code>SRE_Pattern</code>
  151. </dd>
  152. <span title="&lt;_sre.SRE_Pattern object at 0x4029a2f8&gt;"> <dt><b>Value:</b></dt>
  153. <dd><table><tr><td>
  154. <pre class="variable">
  155. <span class="re"><span class="re-char">\s</span><span class="re-op">+</span></span> </pre>
  156. </td></tr></table></dd>
  157. </span> </dl>
  158. </dd>
  159. </dl></td></tr></table>
  160. <br />
  161. <!-- =========== START OF NAVBAR =========== -->
  162. <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
  163. <tr valign="center">
  164. <th bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Home&nbsp;&nbsp;&nbsp;</th>
  165. <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
  166. <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
  167. <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
  168. <th class="navbar" align="right" width="100%">
  169. <table border="0" cellpadding="0" cellspacing="0">
  170. <tr><th class="navbar" align="center">
  171. <p class="nomargin">
  172. PyBison&nbsp;API&nbsp;Reference
  173. </p></th></tr></table>
  174. </th>
  175. </tr>
  176. </table>
  177. <table border="0" cellpadding="0" cellspacing="0" width="100%">
  178. <tr>
  179. <td align="left"><font size="-2">Generated by Epydoc 2.0 on Sun Jun 27 12:36:56 2004</font></td>
  180. <td align="right"><a href="http://epydoc.sourceforge.net"
  181. ><font size="-2">http://epydoc.sf.net</font></a></td>
  182. </tr>
  183. </table>
  184. </body>
  185. </html>