GNU GLOBAL

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
GNU GLOBAL
Логотип программы GNU GLOBAL
Скриншот программы GNU GLOBAL
Код ядра Linux 2.6.18, аннотированный GNU GLOBAL
Тип Инструмент для программирования (для навигации по исходному коду)
Автор Shigio Yamaguchi[вд][2]
Разработчики GNU project, Tama Communications Corporation
Написана на Си
Операционная система UNIX-like
Последняя версия 6.6.2 (2018-02-09[1])
Репозиторий cvs.savannah.gnu.org/vie…
Лицензия GNU GPLv3
Сайт gnu.org/software/global/
Логотип Викисклада Медиафайлы на Викискладе

GNU GLOBAL — программное средство для тегирования исходных кодов. Работает в различных средах (GNU Emacs, Vim, less, GNU Bash, веб-браузерах и т. д.), позволяя пользователям искать объекты, объявленные в исходных файлах и легко перемещаться между файлами. Такая возможность полезна при работе над программными проектами, содержащими множество внутренних подпроектов, при использовании условной компиляции (#ifdef) и т. д. Приложение сходно с классическими системами тегирования ctags и etags, но не привязано к какому-либо конкретному текстовому редактору.

GNU Global — бесплатное программное обеспечение с лицензией GPLv3, созданное Shigio Yamaguchi (Tama Communications Corporation) и поддерживаемое в рамках проекта GNU.

Варианты использования

[править | править код]

Варианты использования разнообразны, и включают в себя навигацию по исходным кодам ядра Linux,[3] просмотр Руби кода, после анализа при помощи Exuberant ctags или rtags,[4] изучение структуры программных пакетов (в том числе с отображением структуры в формате HTML),[5] навигация по коду крупных и неизвестных проектов.[6]

Использование в других системах

[править | править код]

GLOBAL используется и другим программным обеспечением, в том числе GNU automake. FreeBSD использует его в своей системе сборки.

Возможности

[править | править код]

Приложение поддерживает навигацию по исходным текстам, написанных на разных языках. Языки Си, Си++, Java, PHP и ассемблер поддерживаются без дополнительных программ, другие — при помощи Pygments и через разбор файлов «ctags» формата, созданных другими средствами (плагин Universal Ctags). Таким методом возможна работа с Awk, COBOL, C, C++, C#, Erlang, Fortran, Java, JavaScript, Lisp, Lua, Pascal, Perl, PHP, Python, Ruby, Matlab, OCaml, Scheme, Tcl, TeX, TypeScript, Verilog и Vhdl. Приложение GLOBAL позволяет быстро перемещаться к точке определения символов, например, функций или классов. Также позволяет быстро находить использования данного символа. Возможно создание списка символов для работы средств автодополнения кода. Имеет утилиту, работающую по аналогии с cscope (gtags-cscope), и режим, совместимый с grep, в том числе с применением регулярных выражений.

Примечания

[править | править код]
  1. GNU GLOBAL news (9 февраля 2018). Дата обращения: 15 августа 2018. Архивировано 11 октября 2018 года.
  2. GNU's Who
  3. «Navigating Linux Source Code» Архивная копия от 8 мая 2012 на Wayback Machine, drdobbs.com, March 1, 2001.
  4. «Using rtags ang gtags for coding Ruby» Архивная копия от 26 декабря 2012 на Wayback Machine, simple-and-basic.com, October 14, 2008.
  5. «Greg’s source code navigation tools» Архивная копия от 23 октября 2018 на Wayback Machine, lemis.com, July 2005.
  6. «Code Spelunking: Exploring Cavernous Code Bases» Архивная копия от 24 октября 2018 на Wayback Machine, queue.acm.org, October 1, 2003.