---
name: "gtags-parser"
section: "1"
platform: "linux"
package: "global"
version: "5.7.1-2"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/gtags-parser"
---

# gtags-parser(1)

print cross reference list for gtags.

## NAME

gtags-parser - print cross reference list for gtags.

## SYNOPSIS

**gtags-parser** \[-bdenqrstvw\] *file* ...\

## DESCRIPTION

**Gtags-parser** print cross reference list for [**gtags**(1)](/gtags/1.md) from the specified C, C++, yacc, java, PHP and Assembly source to standard output. Each line of output contains the object name, the line number which it appears, the file in which it is defined, and a line image separated by white-space. It's same with the output of [**ctags**(1)](/ctags/1.md) with **-x** option.

Depending upon the options provided to **gtags-parser**, objects will consist of object definitions, object references and other symbols.

Files whose names end in ´.c´ or ´.h´ are assumed to be C source files. Files whose names end in ´.c++´ ´.cc´ ´.cpp´ ´.cxx´ ´.hxx´ ´.hpp´ ´.C´ ´.H´ are assumed to be C++ source files. Files whose names end in ´.y´ are assumed to be YACC source files. Files whose names end in ´.java´ are assumed to be Java source files. Files whose names end in ´.php´ ´.php3´ ´.phtml´ are assumed to be PHP source files. Files whose names end in ´.s´ or ´.S´ are assumed to be Assembly source files. Other files are searched for C style definitions.

Yacc files each have a special tag. **yyparse** is the start of the second section of the yacc file.

This command is the default parser of GLOBAL source code tag system.

## OPTIONS

The following options are available:

- **-b**, **--begin-block**

  Force level 1 block to begin when reach the left brace at the first column. (C only)

- **-e**, **--end-block**

  Force level 1 block to end when reach the right brace at the first column. (C only)

- **-n**, **--no-tags**

  Suppress output of tags. It is useful to use with **-w** option.

- **-q**, **--quiet**

  Quiet mode.

- **-r**, **--reference**

  Locate object references instead of object definitions. ´GTAGS´ is needed at the current directory. (C, C++ and Java source only) By default, locate object definitions.

- **-s**, **--symbol**

  Collect symbols other than object definitions and references. By default, locate object definitions.

- **-v**, **--verbose**

  Verbose mode.

- **-w**, **--warning**

  Print warning message.

- **--langmap**=map

  Language mapping. Each comma-separated  map  consists of the language name, a colon, and a list of file extensions. Default mapping is 'c:.c.h,yacc:.y,asm:.s.S,java:.java,cpp:.c++.cc.cpp.cxx.hxx.hpp.C.H,php:.php.php3.phtml'.

The **-r** and **-s** options override each other; the last one specified determines the method used.

## ENVIRONMENT

The following environment variables affect the execution of **gtags-parser**:

- **GTAGSFORCECPP**

  If this variable is set, each file whose suffix is 'h' is treated as a C++ source file.

## DIAGNOSTICS

**Gtags-parser** exits with a non 0 value if an error occurred, 0 otherwise. Duplicate objects are not considered errors.

## SEE ALSO

[**global**(1)](/global/1.md), [**gtags**(1)](/gtags/1.md), [**htags**(1)](/htags/1.md).

GNU GLOBAL source code tag system\
 (http://www.gnu.org/software/global/).

## BUG

**Gtags-parser** relies on the input being well formed, and any syntactical errors will completely confuse it.

## AUTHOR

Tama Communications Corporation.

## HISTORY

The **gtags-parser**(gctags) command appeared in FreeBSD 2.2.2.
