Skip to content

Commit

Permalink
Fix a couple of duplicated ids in the docs.
Browse files Browse the repository at this point in the history
This lead to the tocs links not working.
  • Loading branch information
Carreau committed Sep 14, 2017
1 parent cbef61c commit 1fd9067
Showing 1 changed file with 14 additions and 14 deletions.
28 changes: 14 additions & 14 deletions doc/ply.html
Expand Up @@ -18,7 +18,7 @@ <h1>PLY (Python Lex-Yacc)</h1>
<!-- INDEX -->
<div class="sectiontoc">
<ul>
<li><a href="#ply_nn1">Preface and Requirements</a>
<li><a href="#ply_nn0">Preface and Requirements</a>
<li><a href="#ply_nn1">Introduction</a>
<li><a href="#ply_nn2">PLY Overview</a>
<li><a href="#ply_nn3">Lex</a>
Expand All @@ -34,26 +34,26 @@ <h1>PLY (Python Lex-Yacc)</h1>
<li><a href="#ply_nn12">Error handling</a>
<li><a href="#ply_nn14">EOF Handling</a>
<li><a href="#ply_nn13">Building and using the lexer</a>
<li><a href="#ply_nn14">The @TOKEN decorator</a>
<li><a href="#ply_nn14b">The @TOKEN decorator</a>
<li><a href="#ply_nn15">Optimized mode</a>
<li><a href="#ply_nn16">Debugging</a>
<li><a href="#ply_nn17">Alternative specification of lexers</a>
<li><a href="#ply_nn18">Maintaining state</a>
<li><a href="#ply_nn19">Lexer cloning</a>
<li><a href="#ply_nn20">Internal lexer state</a>
<li><a href="#ply_nn21">Conditional lexing and start conditions</a>
<li><a href="#ply_nn21">Miscellaneous Issues</a>
<li><a href="#ply_nn21b">Miscellaneous Issues</a>
</ul>
<li><a href="#ply_nn22">Parsing basics</a>
<li><a href="#ply_nn23">Yacc</a>
<ul>
<li><a href="#ply_nn24">An example</a>
<li><a href="#ply_nn25">Combining Grammar Rule Functions</a>
<li><a href="#ply_nn26">Character Literals</a>
<li><a href="#ply_nn26">Empty Productions</a>
<li><a href="#ply_nn26b">Empty Productions</a>
<li><a href="#ply_nn28">Changing the starting symbol</a>
<li><a href="#ply_nn27">Dealing With Ambiguous Grammars</a>
<li><a href="#ply_nn28">The parser.out file</a>
<li><a href="#ply_nn28b">The parser.out file</a>
<li><a href="#ply_nn29">Syntax Error Handling</a>
<ul>
<li><a href="#ply_nn30">Recovery and resynchronization with error rules</a>
Expand All @@ -64,11 +64,11 @@ <h1>PLY (Python Lex-Yacc)</h1>
</ul>
<li><a href="#ply_nn33">Line Number and Position Tracking</a>
<li><a href="#ply_nn34">AST Construction</a>
<li><a href="#ply_nn35">Embedded Actions</a>
<li><a href="#ply_nn35b">Embedded Actions</a>
<li><a href="#ply_nn36">Miscellaneous Yacc Notes</a>
</ul>
<li><a href="#ply_nn37">Multiple Parsers and Lexers</a>
<li><a href="#ply_nn38">Using Python's Optimized Mode</a>
<li><a href="#ply_nn38b">Using Python's Optimized Mode</a>
<li><a href="#ply_nn44">Advanced Debugging</a>
<ul>
<li><a href="#ply_nn45">Debugging the lex() and yacc() commands</a>
Expand All @@ -85,7 +85,7 @@ <h1>PLY (Python Lex-Yacc)</h1>



<H2><a name="ply_nn1"></a>1. Preface and Requirements</H2>
<H2><a name="ply_nn0"></a>1. Preface and Requirements</H2>


<p>
Expand Down Expand Up @@ -718,7 +718,7 @@ <H3><a name="ply_nn13"></a>4.11 Building and using the lexer</H3>
None if the end of the input text has been reached.
</ul>

<H3><a name="ply_nn14"></a>4.12 The @TOKEN decorator</H3>
<H3><a name="ply_nn14b"></a>4.12 The @TOKEN decorator</H3>


In some applications, you may want to define build tokens from as a series of
Expand Down Expand Up @@ -1418,7 +1418,7 @@ <H3><a name="ply_nn21"></a>4.19 Conditional lexing and start conditions</H3>
position), stores it, and returns a token 'CCODE' containing all of that text. When returning the token, the lexing state is restored back to its
initial state.

<H3><a name="ply_nn21"></a>4.20 Miscellaneous Issues</H3>
<H3><a name="ply_nn21b"></a>4.20 Miscellaneous Issues</H3>


<P>
Expand Down Expand Up @@ -1893,7 +1893,7 @@ <H3><a name="ply_nn26"></a>6.3 Character Literals</H3>
<b>Character literals are limited to a single character</b>. Thus, it is not legal to specify literals such as <tt>'&lt;='</tt> or <tt>'=='</tt>. For this, use
the normal lexing rules (e.g., define a rule such as <tt>t_EQ = r'=='</tt>).

<H3><a name="ply_nn26"></a>6.4 Empty Productions</H3>
<H3><a name="ply_nn26b"></a>6.4 Empty Productions</H3>


<tt>yacc.py</tt> can handle empty productions by defining a rule like this:
Expand Down Expand Up @@ -2211,7 +2211,7 @@ <H3><a name="ply_nn27"></a>6.6 Dealing With Ambiguous Grammars</H3>
<tt>parser.out</tt> debugging file with an appropriately high level of
caffeination.

<H3><a name="ply_nn28"></a>6.7 The parser.out file</H3>
<H3><a name="ply_nn28b"></a>6.7 The parser.out file</H3>


Tracking down shift/reduce and reduce/reduce conflicts is one of the finer pleasures of using an LR
Expand Down Expand Up @@ -2953,7 +2953,7 @@ <H3><a name="ply_nn34"></a>6.10 AST Construction</H3>
</pre>
</blockquote>

<H3><a name="ply_nn35"></a>6.11 Embedded Actions</H3>
<H3><a name="ply_nn35b"></a>6.11 Embedded Actions</H3>


The parsing technique used by yacc only allows actions to be executed at the end of a rule. For example,
Expand Down Expand Up @@ -3273,7 +3273,7 @@ <H2><a name="ply_nn37"></a>7. Multiple Parsers and Lexers</H2>
For example, if you wanted to have different parsing modes, you could attach a mode
attribute to the parser object and look at it later.

<H2><a name="ply_nn38"></a>8. Using Python's Optimized Mode</H2>
<H2><a name="ply_nn38b"></a>8. Using Python's Optimized Mode</H2>


Because PLY uses information from doc-strings, parsing and lexing
Expand Down

0 comments on commit 1fd9067

Please sign in to comment.