Next: , Up: Symbols


6.1 Syntactic classes

Generally speaking, the syntactic class of a symbol defines where in the C code this symbol can legitimately appear. There are following classes:

keyword
kw
A keyword, like ‘if’, ‘when’ etc.
modifier
Type modifier, i.e. the symbol appearing after a data type to modify its meaning, like ‘*’.
qualifier
Declaration qualifier. Can appear both before C declaration (much like ‘static’ or ‘extern’) and after a data type (like modifiers).

You would usually declare a gcc keyword ‘__extension__’ as a qualifier:

          --symbol __extension__:qualifier

identifier
A C identifier.
type
A C data type, like ‘int’, ‘char’, etc.
wrapper
That has two meanings. First, it can be used to declare parameter wrappers when running cflow without preprocessor. This usage was described above. Second, it indicates any symbol that can appear in a declaration either before an identifier or before a terminating semicolon and optionally followed by a parenthesized expression list.

We recommended to use this class for the gcc__attribute__’ keyword.