0.6.0
Loading...
Searching...
No Matches
expression.f90 File Reference

Data Types

type  mod_expression::t_expression
 
interface  mod_expression::unalloc
 

Modules

module  mod_expression
 

Enumerations

enum  {
  mod_expression::expr_integer = 1 , mod_expression::expr_double , mod_expression::expr_string , mod_expression::expr_boolean ,
  mod_expression::expr_identifier , mod_expression::expr_op_plus , mod_expression::expr_op_minus , mod_expression::expr_op_multiply ,
  mod_expression::expr_op_divide , mod_expression::expr_op_power , mod_expression::expr_op_affectation , mod_expression::expr_op_not ,
  mod_expression::expr_op_equal , mod_expression::expr_op_not_equal , mod_expression::expr_op_greater_than , mod_expression::expr_op_less_than ,
  mod_expression::expr_op_greater_than_or_equal , mod_expression::expr_op_less_than_or_equal , mod_expression::expr_op_question , mod_expression::expr_op_or ,
  mod_expression::expr_op_and , mod_expression::expr_function
}
 
enum  {
  mod_expression::func_abs = 1 , mod_expression::func_ceil , mod_expression::func_floor , mod_expression::func_cos ,
  mod_expression::func_sin , mod_expression::func_tan , mod_expression::func_acos , mod_expression::func_asin ,
  mod_expression::func_atan , mod_expression::func_atan2 , mod_expression::func_cosh , mod_expression::func_sinh ,
  mod_expression::func_tanh , mod_expression::func_acosh , mod_expression::func_asinh , mod_expression::func_atanh ,
  mod_expression::func_erf , mod_expression::func_erfc , mod_expression::func_exp , mod_expression::func_log ,
  mod_expression::func_sqrt , mod_expression::func_d2s , mod_expression::func_i2s , mod_expression::func_pow ,
  mod_expression::func_modulo , mod_expression::func_max , mod_expression::func_min
}
 

Functions/Subroutines

subroutine mod_expression::new_expression (expr, kind)
 
recursive subroutine mod_expression::finalize_expression (expr)
 
subroutine mod_expression::new_binary (expr, kind, left, right)
 
subroutine mod_expression::new_ternary (expr, kind, condition, is_true, is_false)
 
character(len=:) function, allocatable mod_expression::function_to_string (func)
 
character(len=:) function, allocatable mod_expression::expression_node_to_string (expr)
 
recursive subroutine mod_expression::debug_write_expression (prefix, prefix_end, expr)
 
recursive logical function mod_expression::expression_is_integer (expr)
 
recursive logical function mod_expression::expression_is_double (expr)
 
recursive logical function mod_expression::expression_is_string (expr)
 
recursive subroutine mod_expression::expression_evaluate_integer (expr, integer_value, is_error, error_message)
 
recursive subroutine mod_expression::expression_evaluate_double (expr, double_value, is_error, error_message)
 
recursive subroutine mod_expression::expression_evaluate_string (expr, string_value, is_error, error_message)
 
recursive subroutine mod_expression::expression_evaluate_boolean (expr, boolean_value, is_error, error_message)