cscope

From Wikipedia, the free encyclopedia
cscope
Stable release
15.9 / July 24, 2018; 5 years ago (2018-07-24)[1]
Operating systemUnix, Linux, DOS
TypeProgramming tool,
for C, C++, Java
LicenseBSD
Websitecscope.sourceforge.net Edit this on Wikidata

cscope is a programming tool which works in console mode, text-based interface, that allows computer programmers or software developers to search source code of the programming language C, with some support for C++ and Java. It is often used on very large projects to aid code comprehension to find source code, functions, declarations, definitions, and regular expression. cscope is free and released under a BSD license. The original developer of cscope is Joe Steffen.

History[edit]

Joe Steffen began writing cscope in 1980, as an aid to his programming word on a PDP-11.[2] The tool became very popular within Bell Labs, as fellow employees requested more features and improvements. The tool was later made part of the AT&T Unix distribution. It is still used by developers today, some of whom are most accustomed to using vi or other text-based editors, instead of GUI editors. The functions in cscope are available to varying degrees in modern graphical text editors.

Usage[edit]

cscope is used in two phases. First, a developer builds the cscope database of the source code. The developer can often use find or other Unix tools to get the list of filenames needed to index into a file called cscope.files. The developer then builds a database using the command cscope -b -q -k. The k flag is intended to build a database for an operating system or C library source code. It will not look in /usr/include. Second, the developer can now search those files using the command cscope -d. An index must be rebuilt whenever changes are made to indexed files.

cscope was created to search content within C code, but it can also be used (with some caveats) for C++ and Java code.[3]

Derived software[edit]

  • KScope runs on KDE and integrates the Kate text editor. The KScope project is no longer being maintained.[4]
  • Seascope runs on PyQt4 and integrates the Scintilla text editor.[5]
  • Gscope is based on GTK2 and GTK3 and integrates with multiple text editors.[6]
  • CCTree is a native Vim plugin that integrates with the Vim editor and offers functions similar to KScope and Seascope.[7]
  • Csope is a fork with an altered TUI.[8]

See also[edit]

References[edit]

  1. ^ Horman, Neil (24 July 2018). "update configure.in script for 15.9 release". Retrieved 4 October 2018 – via SourceForge.
  2. ^ "The History of Cscope". cscope.sourceforge.net. Retrieved 2023-09-06.
  3. ^ CScope home page: "The fuzzy parser supports C, but is flexible enough to be useful for C++ and Java[...]"
  4. ^ KScope homepage
  5. ^ Seascope homepage
  6. ^ Gscope homepage
  7. ^ "CCTree - C Call-Tree Explorer -- Cscope based source-code browser; code flow analyzer : Vim online".
  8. ^ Csope homepage

External links[edit]