Evaluates a preprocessor-style expression with macro substitution. Tokenizes the input expression, expands macros where appropriate, parses it according to operator precedence, and computes the integer result. Returns .true. if evaluation succeeded and the result is non-zero.
logical function evaluate(expr, macros, val)
| [in] | expr | Expression string to evaluate |
| [in,out] | macros | Array of defined macros for substitution and defined() checks |
| [out] | val | (optional) integer result of the evaluation |
logical function evaluate(expr, macros, ctx, val)
| [in] | expr | Expression string to evaluate |
| [in,out] | macros | Array of defined macros for substitution and defined() checks |
| [in] | ctx | Current context |
| [out] | val | (optional) integer result of the evaluation |
Remarks
Definition at line 105 of file operators.f90.
| logical function evaluate_expression_default | ( | character(*), intent(in) | expr, |
| type(macro), dimension(:), intent(inout), allocatable | macros, | ||
| integer, intent(out), optional | val ) |
Evaluates a preprocessor-style expression with macro substitution. Tokenizes the input expression, expands macros where appropriate, parses it according to operator precedence, and computes the integer result. Returns .true. if evaluation succeeded and the result is non-zero.
| [in] | expr | Expression string to evaluate |
| [in,out] | macros | Array of defined macros for substitution and defined() checks |
| [out] | val | (optional) integer result of the evaluation |
Remarks
Definition at line 124 of file operators.f90.
| logical function evaluate_expression_with_context | ( | character(*), intent(in) | expr, |
| type(macro), dimension(:), intent(inout), allocatable | macros, | ||
| type(context), intent(in) | ctx, | ||
| integer, intent(out), optional | val ) |
Evaluates a preprocessor-style expression with macro substitution. Tokenizes the input expression, expands macros where appropriate, parses it according to operator precedence, and computes the integer result. Returns .true. if evaluation succeeded and the result is non-zero.
| [in] | expr | Expression string to evaluate |
| [in,out] | macros | Array of defined macros for substitution and defined() checks |
| [in] | ctx | Context |
| [out] | val | (optional) integer result of the evaluation |
Remarks
Definition at line 148 of file operators.f90.