Nodes of different colours represent the following:
Solid arrows point from one derived type to another which extends (inherits from) it. Dashed arrows point from a derived type to another type containing it as a components, with a label listing the name(s) of said component(s). Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | Type | = | 0 | ||
real(kind=r64), | public | :: | Number | = | 0.0d0 | ||
character(len=2*MaxNameLength), | public | :: | String | = | '' | ||
integer, | public | :: | Variable | = | 0 | ||
integer, | public | :: | Expression | = | 0 | ||
logical, | public | :: | TrendVariable | = | .FALSE. | ||
integer, | public | :: | TrendVarPointer | = | 0 | ||
character(len=2*MaxNameLength), | public | :: | Error | = | '' |
TYPE ErlValueType
! instance data structure for the values taken by Erl variables, nested structure in ErlVariable
INTEGER :: Type = 0 ! value type, eg. ValueNumber,
REAL(r64) :: Number = 0.0d0 ! numeric value instance for Erl variable
CHARACTER(len=2*MaxNameLength) :: String = '' ! string data types in Erl (not used yet)
INTEGER :: Variable = 0 ! Pointer to another Erl variable
! Might be good to change names to VariableNum and ExpressionNum just to be clear
INTEGER :: Expression = 0 ! Pointer to another Erl expression (e.g. compound operators)
LOGICAL :: TrendVariable = .FALSE. ! true if Erl variable is really a trend variable
INTEGER :: TrendVarPointer = 0 ! index to match in TrendVariable structure
CHARACTER(len=2*MaxNameLength) :: Error = '' ! holds error message string for reporting
END TYPE ErlValueType