fdoc

typefypp_tprivate

The state of processing a file.

Components

NameTypeAttributesDefaultDescription
boundintegerallocatabledimension(:)

the names bound by running comprehensions

bound_valuestype(value_t)allocatabledimension(:)

their values

compiledtype(name_index_t)

the expression for each text, as texts repeat a lot

depthinteger0

how many there are

errorcharacter(len=:)allocatable

what went wrong, once something has

exprstype(expr_t)allocatabledimension(:)

the expressions

first_boundinteger1

the first that the code being run can see

frameinteger0

the current one, or 0

framestype(frame_t)allocatabledimension(:)

the local scopes

globalstype(value_t)allocatabledimension(:)

the global variable for each name

includestype(string_t)allocatabledimension(:)

where to look for included files

is_setlogicalallocatabledimension(:)

whether each one is set

macrostype(macro_t)allocatabledimension(:)

the macros

namestype(string_t)allocatabledimension(:)

the names seen

nodestype(node_t)allocatabledimension(:)

the nodes

num_boundinteger0

how many there are

num_exprsinteger0

how many there are

num_macrosinteger0

how many there are

num_namesinteger0

how many there are

num_nodesinteger0

how many there are

num_spansinteger0

how many there are

rootinteger0

the node holding the document

spanstype(span_t)allocatabledimension(:)

the results of evaluation in the output

stackintegerdimension(MAX_FRAMES)0

the blocks open while parsing

Source

Show the code
type :: fypp_t
    !! The state of processing a file.
    character(len=:), allocatable :: error      !! what went wrong, once something has
    type(string_t), allocatable :: includes(:)  !! where to look for included files
    type(string_t), allocatable :: names(:)     !! the names seen
    integer :: num_names = 0                    !! how many there are
    type(expr_t), allocatable :: exprs(:)       !! the expressions
    integer :: num_exprs = 0                    !! how many there are
    type(name_index_t) :: compiled              !! the expression for each text, as texts repeat a lot
    type(node_t), allocatable :: nodes(:)       !! the nodes
    integer :: num_nodes = 0                    !! how many there are
    integer :: root = 0                         !! the node holding the document
    integer :: stack(MAX_FRAMES) = 0            !! the blocks open while parsing
    integer :: depth = 0                        !! how many there are
    type(value_t), allocatable :: globals(:)    !! the global variable for each name
    logical, allocatable :: is_set(:)           !! whether each one is set
    type(frame_t), allocatable :: frames(:)     !! the local scopes
    integer :: frame = 0                        !! the current one, or 0
    type(macro_t), allocatable :: macros(:)     !! the macros
    integer :: num_macros = 0                   !! how many there are
    integer, allocatable :: bound(:)            !! the names bound by running comprehensions
    type(value_t), allocatable :: bound_values(:) !! their values
    integer :: num_bound = 0                    !! how many there are
    integer :: first_bound = 1                  !! the first that the code being run can see
    type(span_t), allocatable :: spans(:)       !! the results of evaluation in the output
    integer :: num_spans = 0                    !! how many there are
end type fypp_t

Graphs

Inherits

fypp_texpr_texprsname_index_tcompilednode_tnodesvalue_tglobals, bound_valuesframe_tframesmacro_tmacrosspan_tspansvalueblock_tblockitemsvaluesdefaults, valuesbody_tbodies