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
- A keyword, like ‘if’, ‘when’ etc.
- Type modifier, i.e. the symbol appearing after a data type to modify its
meaning, like ‘*’.
- Declaration qualifier. Can appear both before C declaration (much like
‘static’ or ‘extern’) and after a data type (like
You would usually declare a gcc keyword ‘__extension__’
as a qualifier:
- A C identifier.
- A C data type, like ‘int’, ‘char’, etc.
- 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
We recommended to use this class for the gcc