1*063580daSHiroo HAYASHI.. _extending_ctags_in_c: 2*063580daSHiroo HAYASHI 3eb375513SMasatake YAMATO============================================================================= 4d170c1c2SHiroo HAYASHIExtending ctags with a parser written in C 56575e367SMasatake YAMATO============================================================================= 66575e367SMasatake YAMATO 7*063580daSHiroo HAYASHIThis chapter describes how to add a parser in C and the internal API of 8*063580daSHiroo HAYASHIUniversal Ctags. 9*063580daSHiroo HAYASHI 10*063580daSHiroo HAYASHIBefore you start writing a parser in C, consider using *optlib parser*. 11*063580daSHiroo HAYASHIUniversal Ctags extends the functionality so extensively that it can implement 12*063580daSHiroo HAYASHImost of functionality for the parser. 13*063580daSHiroo HAYASHISee :ref:`ctags-optlib(7) <ctags-optlib(7)>` and :ref:`optlib` for details. 14*063580daSHiroo HAYASHI 15*063580daSHiroo HAYASHI*optlib parser* is also suitable for prototyping of a parser in C. 16*063580daSHiroo HAYASHI 17eb375513SMasatake YAMATO.. toctree:: 18d170c1c2SHiroo HAYASHI :maxdepth: 4 196575e367SMasatake YAMATO 20*063580daSHiroo HAYASHI parser-in-c.rst 21eb375513SMasatake YAMATO internal.rst 22