modulefdoc_model
The documented program: source files and the entities in them.
Entities live in one list and refer to each other by index. Each is held through an allocatable, so that growing the list or merging one list into another moves entities and does not copy them.
Uses
Graphs
Uses
Used by
Variables
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
| E_BLOCKDATA | integer | parameter | 5 | |
| E_BOUNDPROC | integer | parameter | 12 | |
| E_COMMON | integer | parameter | 16 | |
| E_ENUM | integer | parameter | 11 | |
| E_FILE | integer | parameter | 1 | a source file |
| E_FINAL | integer | parameter | 13 | |
| E_FUNCTION | integer | parameter | 7 | |
| E_INTERFACE | integer | parameter | 9 | a generic interface; other blocks dissolve into their bodies |
| E_MODPROC | integer | parameter | 8 | implementation of a separate module procedure |
| E_MODULE | integer | parameter | 2 | |
| E_NAMELIST | integer | parameter | 15 | |
| E_NONE | integer | parameter | 0 | |
| E_PROGRAM | integer | parameter | 4 | |
| E_SUBMODULE | integer | parameter | 3 | |
| E_SUBROUTINE | integer | parameter | 6 | |
| E_TYPE | integer | parameter | 10 | |
| E_VARIABLE | integer | parameter | 14 | |
| IFACE_ABSTRACT | integer | parameter | 2 | the body of an abstract interface block |
| IFACE_EXPLICIT | integer | parameter | 1 | the body of an unnamed interface block |
| IFACE_NONE | integer | parameter | 0 | an ordinary procedure, or the body of a generic interface |
| no_more | type(entity_more_t) | targetsave | What all variables share. This is never written to. | |
| VAR_ARGUMENT | integer | parameter | 1 | a dummy argument |
| VAR_COMMON | integer | parameter | 4 | a member of a common block, shown with the block |
| VAR_PLAIN | integer | parameter | 0 | listed among the variables of its parent |
| VAR_RESULT | integer | parameter | 2 | the result of a function |
Types
attribute_t
An attribute given in a statement of its own, such as public :: x, waiting to be applied.
entity_box_t
Holds an entity, so that it can be moved without being copied.
entity_list_t
A list of entities. Indices start at 1, and 0 means no entity.
entity_more_t
What only some entities have. Most entities are variables, which share one of these, so an entity takes half the memory; this makes up most of the memory used on large projects.
entity_t
A file, program unit, procedure, type, variable or the like. Which components apply depends on
kind.
meta_t
A metadata entry of a doc comment, such as author: me.
rename_t
A name in the only list of a use statement.
use_t
A use statement.
Functions
is_procedureelemental
True if kind is a subroutine or function.
list_addprivate
Add an entity of kind kind inside parent, returning its index.