FEQParse_TokenStack Module



Contents


Derived Types

type, public :: Token

Components

TypeVisibilityAttributesNameInitial
integer, public :: tokenIndex
character(len=48), public :: tokenString
integer, public :: tokenType

Type-Bound Procedures

procedure, public :: Copy

type, public :: TokenStack

Components

TypeVisibilityAttributesNameInitial
type(Token), public, allocatable:: tokens(:)
integer, public :: top_index =0

Type-Bound Procedures

procedure, public :: Construct => Construct_TokenStack
procedure, public :: Finalize => Finalize_TokenStack
procedure, public :: IsEmpty => IsEmpty_TokenStack
procedure, public :: Pop => Pop_TokenStack
procedure, public :: Push => Push_TokenStack
procedure, public :: TopToken

Functions

public function Copy(this) result(that)

Arguments

TypeIntentOptionalAttributesName
class(Token) :: this

Return Value type(Token)

public function IsEmpty_TokenStack(stack)

Arguments

TypeIntentOptionalAttributesName
class(TokenStack) :: stack

Return Value logical

public function TopToken(stack)

Arguments

TypeIntentOptionalAttributesName
class(TokenStack) :: stack

Return Value type(Token)


Subroutines

public subroutine Construct_TokenStack(stack, N)

Arguments

TypeIntentOptionalAttributesName
class(TokenStack), intent(out) :: stack
integer, intent(in) :: N

public subroutine Finalize_TokenStack(stack)

Arguments

TypeIntentOptionalAttributesName
class(TokenStack), intent(inout) :: stack

public subroutine Pop_TokenStack(stack, tok)

Arguments

TypeIntentOptionalAttributesName
class(TokenStack), intent(inout) :: stack
type(Token), intent(out) :: tok

public subroutine Push_TokenStack(stack, tok)

Arguments

TypeIntentOptionalAttributesName
class(TokenStack), intent(inout) :: stack
type(Token), intent(in) :: tok