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.

Ссылки

  • gnu.org/software/global/ — официальный сайт GNU GLOBAL
  • GNU GLOBAL в Free Software Directory(англ.)
  • GNU GLOBAL на платформе GNU Savannah(англ.)
  • Навигация в крупных проектах для Vim и Emacs, 2015 (рус.)
  • Ubuntu 安裝 GNU Global(gtags) 阅读Linux内核源码, 2017  (кит.)
  • GNU Global benchmarks, 2014