Universal Ctags is a multi-language symbol indexer and regex-based parsing engine used to extract and catalog functions, classes, and variables from source code. It functions as a source code indexer that scans files across diverse programming languages to create searchable catalogs of definitions and declarations.
The project is distinguished by its extensible parser framework, which allows users to define new language rules using regular expressions and configuration files. It supports complex parsing scenarios through state-based parsing, stack-oriented scope tracking, and guest-parser delegation for indexing embedded languages within a host file.
The system provides comprehensive capabilities for symbol analysis, including the generation of fully qualified names, class hierarchy mapping, and preprocessor macro expansion. It supports data export in multiple formats, such as JSON and tabular cross-references, and includes a JSON-based command interface for programmatic index generation.
The tool is implemented in C and supports cross-platform compilation for various target architectures.