# Generic Identifier Queries

The generic identifier query feature of CScout is one of its most powerfull features, allowing you to accurately specify the properties of identifiers you are looking for, by means of the following form.

## Identifier Query Writable Read-only Tag for struct/union/enum Member of struct/union Label Ordinary identifier Macro Undefined macro Macro argument File scope Project scope Typedef Enumeration constant Yacc identifier Function Crosses file boundary Unused Match any marked Match all marked Exclude marked Exact match
Identifier names should ( not) match RE |
Select identifiers from filenames ( not) matching RE |
Query title Main page — Web: Home Manual

In the form you specify:

- The properties (namespace, scope, instances) of the identifier
- Whether the specified properties should be treated
  - as a disjunction (match any marked),
  - as a conjunction (match all marked),
  - as a negation excluding all identifiers matching any property (exclude marked), or
  - as an exact match specification matching only identifiers that match exactly the properties specified (exact match)
- A regular expression against which identifier names should match (or not match)
- A regular expression that filenames in which identifiers occur should match (or not match)
- A query title to be used for naming the result page. The title will appear on the result document annotating the results, and will also provide you with a sensible name when creating a bookmark to it.

Through the query's submission button can choose to obtain as a result

- the identifiers that match the specific query,
- the files containing identifiers that match the query, or
- the functions containing identifiers that match the query.

In the second case (matching files), each file in the file list will provide you with a link (marked source) showing the file's source code with all matched identifiers marked using hyperlinks.

As an example, the following query could be used to identify unused file-scoped writable identifiers, but excluding the `copyright` and `rcsid` identifiers:

## Identifier Query Writable Read-only Tag for struct/union/enum Member of struct/union Label Ordinary identifier Macro Undefined macro Macro argument File scope Project scope Typedef Enumeration constant Crosses file boundary Unused Match any marked Match all marked Exclude marked Exact match
Identifier names should ( not) match RE |
Select identifiers from filenames matching RE |
Query title Main page CScout 1.16 - 2003/08/17 12:13:01

Contents | « Previous Next (Function Elements) »