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 | |||
---|---|---|---|---|---|---|---|
character(len=MaxNameLength), | public | :: | Name | = | '' | ||
integer, | public | :: | NumLines | = | 0 | ||
character(len=2*MaxNameLength), | public, | DIMENSION(:), ALLOCATABLE | :: | Line | |||
integer, | public | :: | NumInstructions | = | 0 | ||
type(InstructionType), | public, | DIMENSION(:), ALLOCATABLE | :: | Instruction | |||
integer, | public | :: | NumErrors | = | 0 | ||
character(len=2*MaxNameLength), | public, | DIMENSION(:), ALLOCATABLE | :: | Error |
TYPE ErlStackType ! Stores Erl programs in a stack of statements/instructions
CHARACTER(len=MaxNameLength) :: Name = '' ! Erl program or subroutine name, user defined
INTEGER :: NumLines = 0 ! count of lines in Erl program or subroutine
CHARACTER(len=2*MaxNameLength), DIMENSION(:), ALLOCATABLE :: Line ! string array holding lines of Erl code (for processing)
INTEGER :: NumInstructions = 0 ! count of program instructions in stack
TYPE(InstructionType), DIMENSION(:), ALLOCATABLE :: Instruction ! structure array of program instructions
INTEGER :: NumErrors = 0 ! count of errors during stack parsing
CHARACTER(len=2*MaxNameLength), DIMENSION(:), ALLOCATABLE :: Error ! array of error messages from stack parsing
END TYPE ErlStackType