diff options
| author | Indrajith K L | 2022-12-03 17:00:20 +0530 | 
|---|---|---|
| committer | Indrajith K L | 2022-12-03 17:00:20 +0530 | 
| commit | f5c4671bfbad96bf346bd7e9a21fc4317b4959df (patch) | |
| tree | 2764fc62da58f2ba8da7ed341643fc359873142f /ctags/docs/extending.html | |
| download | cli-tools-windows-master.tar.gz cli-tools-windows-master.tar.bz2 cli-tools-windows-master.zip  | |
Diffstat (limited to 'ctags/docs/extending.html')
| -rw-r--r-- | ctags/docs/extending.html | 157 | 
1 files changed, 157 insertions, 0 deletions
diff --git a/ctags/docs/extending.html b/ctags/docs/extending.html new file mode 100644 index 0000000..c334e39 --- /dev/null +++ b/ctags/docs/extending.html @@ -0,0 +1,157 @@ + +<!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>Extending ctags with a parser written in C — 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="Writing a parser in C" href="parser-in-c.html" /> +    <link rel="prev" title="Optscript, a programming language for extending optlib parsers" href="optscript.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-in-c.html" title="Writing a parser in C" +             accesskey="N">next</a> |</li> +        <li class="right" > +          <a href="optscript.html" title="Optscript, a programming language for extending optlib parsers" +             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-this"><a href="">Extending ctags with a parser written in C</a></li>  +      </ul> +    </div>   + +    <div class="document"> +      <div class="documentwrapper"> +        <div class="bodywrapper"> +          <div class="body" role="main"> +             +  <section id="extending-ctags-with-a-parser-written-in-c"> +<span id="extending-ctags-in-c"></span><h1>Extending ctags with a parser written in C<a class="headerlink" href="#extending-ctags-with-a-parser-written-in-c" title="Permalink to this headline">ΒΆ</a></h1> +<p>This chapter describes how to add a parser in C and the internal API of +Universal Ctags.</p> +<p>Before you start writing a parser in C, consider using <em>optlib parser</em>. +Universal Ctags extends the functionality so extensively that it can implement +most of functionality for the parser. +See <a class="reference internal" href="man/ctags-optlib.7.html#ctags-optlib-7"><span class="std std-ref">ctags-optlib(7)</span></a> and <a class="reference internal" href="optlib.html#optlib"><span class="std std-ref">Extending ctags with Regex parser (optlib)</span></a> for details.</p> +<p><em>optlib parser</em> is also suitable for prototyping of a parser in C.</p> +<div class="toctree-wrapper compound"> +<ul> +<li class="toctree-l1"><a class="reference internal" href="parser-in-c.html">Writing a parser in C</a><ul> +<li class="toctree-l2"><a class="reference internal" href="parser-in-c.html#registering-a-parser">Registering a parser</a></li> +<li class="toctree-l2"><a class="reference internal" href="parser-in-c.html#reading-input-file-stream">Reading input file stream</a></li> +<li class="toctree-l2"><a class="reference internal" href="parser-in-c.html#parsing">Parsing</a></li> +<li class="toctree-l2"><a class="reference internal" href="parser-in-c.html#adding-a-tag-to-the-tag-file">Adding a tag to the tag file</a></li> +<li class="toctree-l2"><a class="reference internal" href="parser-in-c.html#adding-the-parser-to-ctags">Adding the parser to <code class="docutils literal notranslate"><span class="pre">ctags</span></code></a></li> +<li class="toctree-l2"><a class="reference internal" href="parser-in-c.html#misc">Misc.</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="internal.html">Input text stream</a><ul> +<li class="toctree-l2"><a class="reference internal" href="internal.html#inputfile-type-and-the-functions-of-input-group"><cite>inputFile</cite> type and the functions of input group</a></li> +<li class="toctree-l2"><a class="reference internal" href="internal.html#the-functions-of-bypass-group">The functions of bypass group</a></li> +<li class="toctree-l2"><a class="reference internal" href="internal.html#the-functions-of-raw-group">The functions of raw group</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="internal.html#output-tag-stream">Output tag stream</a><ul> +<li class="toctree-l2"><a class="reference internal" href="internal.html#cork-api">cork API</a><ul> +<li class="toctree-l3"><a class="reference internal" href="internal.html#background-and-idea">Background and Idea</a></li> +<li class="toctree-l3"><a class="reference internal" href="internal.html#how-to-use">How to use</a></li> +<li class="toctree-l3"><a class="reference internal" href="internal.html#automatic-full-qualified-tag-generation">Automatic full qualified tag generation</a></li> +</ul> +</li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="internal.html#tokeninfo-api">tokenInfo API</a></li> +<li class="toctree-l1"><a class="reference internal" href="internal.html#multiple-parsers">Multiple parsers</a><ul> +<li class="toctree-l2"><a class="reference internal" href="internal.html#guest-parser-promise-api">Guest parser (promise API)</a><ul> +<li class="toctree-l3"><a class="reference internal" href="internal.html#id3">Background and Idea</a></li> +<li class="toctree-l3"><a class="reference internal" href="internal.html#usage">Usage</a></li> +<li class="toctree-l3"><a class="reference internal" href="internal.html#internal-design">Internal design</a></li> +</ul> +</li> +<li class="toctree-l2"><a class="reference internal" href="internal.html#api-for-subparser">API for subparser</a><ul> +<li class="toctree-l3"><a class="reference internal" href="internal.html#outline">Outline</a></li> +<li class="toctree-l3"><a class="reference internal" href="internal.html#fields-of-subparser-type">Fields of <code class="docutils literal notranslate"><span class="pre">subparser</span></code> type</a></li> +<li class="toctree-l3"><a class="reference internal" href="internal.html#extending-subparser-type">Extending <code class="docutils literal notranslate"><span class="pre">subparser</span></code> type</a></li> +<li class="toctree-l3"><a class="reference internal" href="internal.html#making-a-tag-in-a-subparser">Making a tag in a subparser</a></li> +<li class="toctree-l3"><a class="reference internal" href="internal.html#calling-methods-of-subparsers-from-a-base-parser">Calling methods of subparsers from a base parser</a></li> +<li class="toctree-l3"><a class="reference internal" href="internal.html#registering-a-subparser-to-its-base-parser">Registering a subparser to its base parser</a></li> +<li class="toctree-l3"><a class="reference internal" href="internal.html#scheduling-running-the-base-parser">Scheduling running the base parser</a></li> +</ul> +</li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="internal.html#packcc-compiler-compiler">PackCC compiler-compiler</a></li> +<li class="toctree-l1"><a class="reference internal" href="internal.html#automatic-parser-guessing-tbw">Automatic parser guessing (TBW)</a></li> +<li class="toctree-l1"><a class="reference internal" href="internal.html#managing-regular-expression-parsers-tbw">Managing regular expression parsers (TBW)</a></li> +<li class="toctree-l1"><a class="reference internal" href="internal.html#ghost-kind-in-regex-parser-tbw">Ghost kind in regex parser (TBW)</a></li> +</ul> +</div> +</section> + + +            <div class="clearer"></div> +          </div> +        </div> +      </div> +      <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> +        <div class="sphinxsidebarwrapper"> +  <h4>Previous topic</h4> +  <p class="topless"><a href="optscript.html" +                        title="previous chapter">Optscript, a programming language for extending optlib parsers</a></p> +  <h4>Next topic</h4> +  <p class="topless"><a href="parser-in-c.html" +                        title="next chapter">Writing a parser in C</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-in-c.html" title="Writing a parser in C" +             >next</a> |</li> +        <li class="right" > +          <a href="optscript.html" title="Optscript, a programming language for extending optlib parsers" +             >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-this"><a href="">Extending ctags with a parser written in C</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  | 
