TYPE TokenType
! structure for token information for parsing Erl code
INTEGER :: Type = 0 ! token type, eg. TokenNumber
REAL(r64) :: Number = 0.0D0 ! May want to store all literals as a variable?
CHARACTER(len=2*MaxNameLength) :: String = '' ! Serves double duty, also saves string version of token for easy debugging
INTEGER :: Operator = 0 ! indentifies operator or function 1..64
INTEGER :: Variable = 0 ! points to a variable in ErlVariable structure
INTEGER :: Parenthesis = 0 ! identifes if token is left or right parenthesis
INTEGER :: Expression = 0 ! points to an expression in ErlExpression structure
CHARACTER(len=2*MaxNameLength) :: Error = '' ! holds token processing error message content
END TYPE TokenType