diff options
Diffstat (limited to 'ctags/docs/parser-tcl.html')
-rw-r--r-- | ctags/docs/parser-tcl.html | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/ctags/docs/parser-tcl.html b/ctags/docs/parser-tcl.html new file mode 100644 index 0000000..a8a6c0e --- /dev/null +++ b/ctags/docs/parser-tcl.html @@ -0,0 +1,153 @@ + +<!DOCTYPE html> + +<html> + <head> + <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" /> + + <title>The new Tcl parser — Universal Ctags 0.3.0 documentation</title> + <link rel="stylesheet" type="text/css" href="_static/pygments.css" /> + <link rel="stylesheet" type="text/css" href="_static/classic.css" /> + + <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> + <script src="_static/jquery.js"></script> + <script src="_static/underscore.js"></script> + <script src="_static/doctools.js"></script> + + <link rel="index" title="Index" href="genindex.html" /> + <link rel="search" title="Search" href="search.html" /> + <link rel="next" title="The Vim parser" href="parser-vim.html" /> + <link rel="prev" title="The new Python parser" href="parser-python.html" /> + </head><body> + <div class="related" role="navigation" aria-label="related navigation"> + <h3>Navigation</h3> + <ul> + <li class="right" style="margin-right: 10px"> + <a href="genindex.html" title="General Index" + accesskey="I">index</a></li> + <li class="right" > + <a href="parser-vim.html" title="The Vim parser" + accesskey="N">next</a> |</li> + <li class="right" > + <a href="parser-python.html" title="The new Python parser" + accesskey="P">previous</a> |</li> + <li class="nav-item nav-item-0"><a href="index.html">Universal Ctags 0.3.0 documentation</a> »</li> + <li class="nav-item nav-item-1"><a href="parsers.html" accesskey="U">Parsers</a> »</li> + <li class="nav-item nav-item-this"><a href="">The new Tcl parser</a></li> + </ul> + </div> + + <div class="document"> + <div class="documentwrapper"> + <div class="bodywrapper"> + <div class="body" role="main"> + + <section id="the-new-tcl-parser"> +<span id="tcl"></span><h1>The new Tcl parser<a class="headerlink" href="#the-new-tcl-parser" title="Permalink to this headline">¶</a></h1> +<dl class="field-list simple"> +<dt class="field-odd">Maintainer</dt> +<dd class="field-odd"><p>Masatake YAMATO <<a class="reference external" href="mailto:yamato%40redhat.com">yamato<span>@</span>redhat<span>.</span>com</a>></p> +</dd> +</dl> +<p>Tcl parser is rewritten as a token oriented parser to support +namespace. It was line oriented parser. Some incompatibility between +Exuberant Ctags is introduced in the rewriting.</p> +<p>The line oriented parser captures <cite>class</cite>, <cite>public|protected|private +method</cite>. They are definitions in ITcl and TclOO. The new token oriented Tcl +parser ignores them. Instead ITcl and TclOO subparser running on Tcl base +parser capture them.</p> +<section id="known-bugs"> +<h2>Known bugs<a class="headerlink" href="#known-bugs" title="Permalink to this headline">¶</a></h2> +<section id="full-qualified-tags"> +<h3>Full qualified tags<a class="headerlink" href="#full-qualified-tags" title="Permalink to this headline">¶</a></h3> +<p>The separator used in full qualified tags should be <cite>::</cite> but <cite>.</cite> is +used.</p> +<p>A ITcl or TclOO class <cite>C</cite> can be defined in a Tcl namespace <cite>N</cite>:</p> +<div class="highlight-Tcl notranslate"><div class="highlight"><pre><span></span><span class="k">namespace</span> eval N <span class="k">{</span> + <span class="nv">oo</span><span class="o">::</span>class create C <span class="k">{</span> + <span class="k">}</span> +<span class="k">}</span> +</pre></div> +</div> +<p>When <code class="docutils literal notranslate"><span class="pre">--extras=+q</span></code> is given, currently ctags reports:</p> +<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">N</span><span class="o">.</span><span class="n">C</span> <span class="o">...</span> +</pre></div> +</div> +<p>This should be:</p> +<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">N</span><span class="p">::</span><span class="n">C</span> <span class="o">...</span> +</pre></div> +</div> +<p>Much work is needed to fix this.</p> +</section> +<section id="nested-procs"> +<h3>Nested procs<a class="headerlink" href="#nested-procs" title="Permalink to this headline">¶</a></h3> +<p><cite>proc</cite> defined in a <cite>proc</cite> cannot be captured well. +This is a regression.</p> +</section> +</section> +</section> + + + <div class="clearer"></div> + </div> + </div> + </div> + <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> + <div class="sphinxsidebarwrapper"> + <h3><a href="index.html">Table of Contents</a></h3> + <ul> +<li><a class="reference internal" href="#">The new Tcl parser</a><ul> +<li><a class="reference internal" href="#known-bugs">Known bugs</a><ul> +<li><a class="reference internal" href="#full-qualified-tags">Full qualified tags</a></li> +<li><a class="reference internal" href="#nested-procs">Nested procs</a></li> +</ul> +</li> +</ul> +</li> +</ul> + + <h4>Previous topic</h4> + <p class="topless"><a href="parser-python.html" + title="previous chapter">The new Python parser</a></p> + <h4>Next topic</h4> + <p class="topless"><a href="parser-vim.html" + title="next chapter">The Vim parser</a></p> +<div id="searchbox" style="display: none" role="search"> + <h3 id="searchlabel">Quick search</h3> + <div class="searchformwrapper"> + <form class="search" action="search.html" method="get"> + <input type="text" name="q" aria-labelledby="searchlabel" /> + <input type="submit" value="Go" /> + </form> + </div> +</div> +<script>$('#searchbox').show(0);</script> + </div> + </div> + <div class="clearer"></div> + </div> + <div class="related" role="navigation" aria-label="related navigation"> + <h3>Navigation</h3> + <ul> + <li class="right" style="margin-right: 10px"> + <a href="genindex.html" title="General Index" + >index</a></li> + <li class="right" > + <a href="parser-vim.html" title="The Vim parser" + >next</a> |</li> + <li class="right" > + <a href="parser-python.html" title="The new Python parser" + >previous</a> |</li> + <li class="nav-item nav-item-0"><a href="index.html">Universal Ctags 0.3.0 documentation</a> »</li> + <li class="nav-item nav-item-1"><a href="parsers.html" >Parsers</a> »</li> + <li class="nav-item nav-item-this"><a href="">The new Tcl parser</a></li> + </ul> + </div> + <div class="footer" role="contentinfo"> + © Copyright 2015, Universal Ctags Team. + Last updated on 11 Jun 2021. + Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.0.2. + </div> + </body> +</html>
\ No newline at end of file |