Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
FUNCTION NewExpression() RESULT(ExpressionNum)
! FUNCTION INFORMATION:
! AUTHOR Peter Graham Ellis
! DATE WRITTEN June 2006
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS FUNCTION:
! Creates a new expression.
! METHODOLOGY EMPLOYED:
!
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! FUNCTION ARGUMENT DEFINITIONS:
INTEGER :: ExpressionNum
! FUNCTION LOCAL VARIABLE DECLARATIONS:
TYPE(ErlExpressionType), DIMENSION(:), ALLOCATABLE :: TempExpression
! FLOW:
IF (NumExpressions == 0) THEN
ALLOCATE(ErlExpression(1))
NumExpressions = 1
ELSE
ALLOCATE(TempExpression(NumExpressions))
TempExpression = ErlExpression
DEALLOCATE(ErlExpression)
ALLOCATE(ErlExpression(NumExpressions + 1))
ErlExpression(1:NumExpressions) = TempExpression(1:NumExpressions)
NumExpressions = NumExpressions + 1
DEALLOCATE(TempExpression)
END IF
ExpressionNum = NumExpressions
RETURN
END FUNCTION NewExpression