fab.parse.c#
C language handling classes.
Classes
|
An analysis result for a single C file, containing symbol definitions and dependencies. |
|
Identify symbol definitions and dependencies in a C file. |
- class fab.parse.c.AnalysedC(fpath, file_hash=None, symbol_defs=None, symbol_deps=None, file_deps=None)#
An analysis result for a single C file, containing symbol definitions and dependencies.
- Note: We don’t need to worry about compile order with pure C projects; we
can compile all in one go. However, with a Fortran -> C -> Fortran dependency chain, we do need to ensure that one Fortran file is compiled before another, so this class must be part of the dependency tree analysis.
- Parameters:
file_hash (
int|None) – The hash of the source. If omitted, Fab will evaluate lazily. (default:None)symbol_defs (
Iterable[str] |None) – Set of symbol names defined by this source file. (default:None)symbol_deps (
Iterable[str] |None) – Set of symbol names used by this source file. Can include symbols in the same file. (default:None)file_deps (
Iterable[Path] |None) – Other files on which this source depends. Must not include itself. This attribute is calculated during symbol analysis, after everything has been parsed. (default:None)
- class fab.parse.c.CAnalyser(config)#
Identify symbol definitions and dependencies in a C file.