Кіріспе
Кодты түсінуге арналған бағдарламалау құралы. Ctags – әртүрлі бағдарламалау тілдерінің бастапқы және бас файлдарындағы атаулардың индекстік файлын (немесе тег файлын) жасау арқылы кодты түсінуге көмектесетін бағдарламалау құралы. Тілге қарай, функциялар, айнымалылар, класс мүшелері, макростар және т.б. индекстелуі мүмкін. Бұл тегтер мәтіндік редактор, кодты іздеу жүйесі немесе басқа да қосымша құралдар арқылы анықтамаларды жылдам және оңай табуға мүмкіндік береді. Сонымен қатар, тік сілтеме файлын жасау режимі де бар, ол адам оқи алатын форматта тілдік файлдар жинағындағы әртүрлі атаулар туралы ақпаратты тізімдейді. Алғашқы Ctags BSD Unix 3.0 жүйесінде пайда болды және оны Кен Арнольд жазды, ал Джим Клекнер Фортран, ал Билл Джой Паскал тілдерін қолдады. Ол Single Unix Specification және 1992 жылғы XPG4 стандартының бастапқы нұсқасының бір бөлігі болып табылады.
Ctags is a programming tool that generates an index file (or tag file) of names found in source and header files of various programming languages to aid code comprehension. Depending on the language, functions, variables, class members, macros and so on may be indexed. These tags allow definitions to be quickly and easily located by a text editor, a code search engine, or other utility. Alternatively, there is also an output mode that generates a cross reference file, listing information about various names found in a set of language files in human readable form. The original Ctags was introduced in BSD Unix 3.0 and was written by Ken Arnold, with Fortran support by Jim Kleckner and Pascal support by Bill Joy. It is part of the initial release of Single Unix Specification and XPG4 of 1992.
Таңбалар
GNU Emacs екі ctags құралымен бірге келеді, etags және ctags, олардың екеуі де бірдей бастапқы кодтан жинақталған. Etags Emacs үшін тегтер кестесін жасайды, ал ctags командасы vi бағдарламасы түсінетін форматта ұқсас кесте жасауға арналған. Олардың командалық қатар параметрлері әртүрлі: etags тек ctags командасы жасаған vi стиліндегі тег файлдары үшін ғана мағынасы бар параметрлерді танымайды және назарға алмайды.
etags does not recognize and ignores options which only make sense for vi style tag files produced by the ctags command.
Өте көп санды
2009 жылға дейін Даррен Хиберт жазған және күткен Exuberant Ctags бастапқыда Vim-мен бірге таралды, бірақ Vim 6 нұсқасы шыққаннан кейін дербес жобаға айналды. Ол Emacs қолдауын және үйлесімділікті қамтиды. Exuberant Ctags 40-тан астам бағдарламалау тілін қолдайды, сонымен қатар жүйелі өрнектерді пайдаланып одан да көп тілдерді қосуға мүмкіндік береді.
Жалпыға бірдей Ctags
Universal Ctags — Exuberant Ctags-тің түйіндемесі, оның дамуын жалғастыру мақсатында жасалған. Тілдерді жақсырақ қолдау үшін бірнеше синтаксистік анализаторлар жаңадан жазылды.
Тілге тән
Haskell бастапқы файлдары үшін ctags үйлесімді тег файлдарын жасайды. Emacs etags файлдарын жасау мүмкіндігі де бар. Бұл JavaScript үшін ctags үйлесімді кодты индекстеу шешімі. Ол JavaScript-ке арналған және CommonJS пакеттеу жүйесін қолданады. JavaScript коды үшін Exuberant Ctags-тен жоғары өнімділік көрсетеді, соңғысымен салыстырғанда көбірек тегтерді анықтайды.
Тегтер файл пішімдері
Тег файлдарының бірнеше форматы бар. Олардың кейбіреулері төменде сипатталған. Бұдан әрі, байтты он алтылық жүйеде көрсетеді. Әрбір жол жаңа жол символымен (LF, = ) аяқталады.