| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | private, | parameter | :: | Stack_Length | = | 256 | |
| integer, | private, | parameter | :: | nSeparators | = | 7 | |
| character(len=1), | private | :: | numbers(10) | = | ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] | ||
| character(len=1), | private | :: | operators(5) | = | ['+', '-', '*', '/', '^'] | ||
| real(kind=real32), | public, | parameter | :: | pi_real32 | = | 4.0_real32*atan(1.0_real32) | |
| real(kind=real64), | public, | parameter | :: | pi_real64 | = | 4.0_real64*atan(1.0_real64) | |
| character(len=1), | private | :: | separators(7) | = | ['+', '-', '*', '/', "(", ")", '^'] |
| enumerator | :: | None_Token | = | 0 | |
| enumerator | :: | Number_Token | = | 1 | |
| enumerator | :: | Variable_Token | = | 2 | |
| enumerator | :: | Operator_Token | = | 3 | |
| enumerator | :: | Function_Token | = | 4 | |
| enumerator | :: | OpeningParentheses_Token | = | 5 | |
| enumerator | :: | ClosingParentheses_Token | = | 6 | |
| enumerator | :: | Monadic_Token | = | 7 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character | :: | equation | ||||
| character | :: | indepVars(:) |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character, | public, | allocatable | :: | equation | |||
| type(TokenStack), | public | :: | inFix | ||||
| character, | public, | allocatable | :: | inFixFormula | |||
| type(IndepVar), | public, | dimension(:), allocatable | :: | indepVars | |||
| integer, | public | :: | nIndepVars | ||||
| type(TokenStack), | public | :: | postFix | ||||
| character, | public, | allocatable | :: | variableName |
| private function Construct_EquationParser(equation, indepVars) |
| final :: Finalize_EquationParser |
| procedure, public :: CleanEquation | |
| procedure, public :: ConvertToPostfix => ConvertToPostFix | |
| generic, public :: Evaluate => Evaluate_sfp32, Evaluate_sfp64, Evaluate_r1fp32, Evaluate_r1fp64, Evaluate_r2fp32, Evaluate_r2fp64, Evaluate_r3fp32, Evaluate_r3fp64, Evaluate_r4fp32, Evaluate_r4fp64 | |
| procedure, private :: Evaluate_r1fp32 | |
| procedure, private :: Evaluate_r1fp64 | |
| procedure, private :: Evaluate_r2fp32 | |
| procedure, private :: Evaluate_r2fp64 | |
| procedure, private :: Evaluate_r3fp32 | |
| procedure, private :: Evaluate_r3fp64 | |
| procedure, private :: Evaluate_r4fp32 | |
| procedure, private :: Evaluate_r4fp64 | |
| procedure, private :: Evaluate_sfp32 | |
| procedure, private :: Evaluate_sfp64 | |
| procedure, public :: Print_InFixTokens => Print_InfixTokens | |
| procedure, public :: Print_PostFixTokens => Print_PostfixTokens | |
| procedure, private, nopass :: Priority | |
| procedure, public :: Tokenize |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character, | private, | allocatable | :: | value |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character | :: | equation | ||||
| character | :: | indepVars(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(EquationParser) | :: | parser | ||||
| real(kind=real32) | :: | x(:,:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(EquationParser) | :: | parser | ||||
| real(kind=real64) | :: | x(:,:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(EquationParser) | :: | parser | ||||
| real(kind=real32) | :: | x(:,:,:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(EquationParser) | :: | parser | ||||
| real(kind=real64) | :: | x(:,:,:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(EquationParser) | :: | parser | ||||
| real(kind=real32) | :: | x(:,:,:,:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(EquationParser) | :: | parser | ||||
| real(kind=real64) | :: | x(:,:,:,:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(EquationParser) | :: | parser | ||||
| real(kind=real32) | :: | x(:,:,:,:,:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(EquationParser) | :: | parser | ||||
| real(kind=real64) | :: | x(:,:,:,:,:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(EquationParser) | :: | parser | ||||
| real(kind=real32) | :: | x(1:parser%nIndepVars) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(EquationParser) | :: | parser | ||||
| real(kind=real64) | :: | x(1:parser%nIndepVars) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout) | :: | varlen | |||
| character, | intent(in) | :: | eqChar | |||
| integer, | intent(out) | :: | idx |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=1) | :: | eqChar |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=1) | :: | eqChar |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=1) | :: | eqChar |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout) | :: | varlen | |||
| character, | intent(in) | :: | eqChar | |||
| type(IndepVar) | :: | variables(1:nvariables) | ||||
| integer | :: | nvariables |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character, | intent(in) | :: | string | |||
| character, | intent(in) | :: | search | |||
| character, | intent(in) | :: | substitute |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(EquationParser), | intent(inout) | :: | parser | |||
| logical, | intent(out) | :: | equationCleaned |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(EquationParser), | intent(inout) | :: | parser |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(EquationParser), | intent(inout) | :: | parser |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(EquationParser), | intent(in) | :: | parser |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(EquationParser), | intent(in) | :: | parser |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(EquationParser), | intent(inout) | :: | parser | |||
| logical, | intent(out) | :: | tokenized | |||
| character, | intent(out), | allocatable | :: | errorMsg |