osprey/kgccfe/gnu/f/expr.c File Reference

#include "proj.h"
#include "expr.h"
#include "bad.h"
#include "bld.h"
#include "com.h"
#include "global.h"
#include "implic.h"
#include "intrin.h"
#include "info.h"
#include "lex.h"
#include "malloc.h"
#include "src.h"
#include "st.h"
#include "symbol.h"
#include "str.h"
#include "target.h"
#include "where.h"

Include dependency graph for expr.c:

Go to the source code of this file.

Data Types

type  _ffeexpr_expr_
type  _ffeexpr_stack_
type  _ffeexpr_find_

Defines

#define FFEEXPR_operatorassociativityL2R_   TRUE
#define FFEEXPR_operatorassociativityR2L_   FALSE
#define FFEEXPR_operatorassociativityPOWER_   FFEEXPR_operatorassociativityR2L_
#define FFEEXPR_operatorassociativityMULTIPLY_   FFEEXPR_operatorassociativityL2R_
#define FFEEXPR_operatorassociativityDIVIDE_   FFEEXPR_operatorassociativityL2R_
#define FFEEXPR_operatorassociativityADD_   FFEEXPR_operatorassociativityL2R_
#define FFEEXPR_operatorassociativitySUBTRACT_   FFEEXPR_operatorassociativityL2R_
#define FFEEXPR_operatorassociativityCONCATENATE_   FFEEXPR_operatorassociativityL2R_
#define FFEEXPR_operatorassociativityLT_   FFEEXPR_operatorassociativityL2R_
#define FFEEXPR_operatorassociativityLE_   FFEEXPR_operatorassociativityL2R_
#define FFEEXPR_operatorassociativityEQ_   FFEEXPR_operatorassociativityL2R_
#define FFEEXPR_operatorassociativityNE_   FFEEXPR_operatorassociativityL2R_
#define FFEEXPR_operatorassociativityGT_   FFEEXPR_operatorassociativityL2R_
#define FFEEXPR_operatorassociativityGE_   FFEEXPR_operatorassociativityL2R_
#define FFEEXPR_operatorassociativityNOT_   FFEEXPR_operatorassociativityL2R_
#define FFEEXPR_operatorassociativityAND_   FFEEXPR_operatorassociativityL2R_
#define FFEEXPR_operatorassociativityOR_   FFEEXPR_operatorassociativityL2R_
#define FFEEXPR_operatorassociativityXOR_   FFEEXPR_operatorassociativityL2R_
#define FFEEXPR_operatorassociativityEQV_   FFEEXPR_operatorassociativityL2R_
#define FFEEXPR_operatorassociativityNEQV_   FFEEXPR_operatorassociativityL2R_
#define ffeexpr_paren_lhs_let_(s, t)   ffeexpr_sym_rhs_let_(s,t)
#define ffeexpr_sym_lhs_let_(s, t)   ffeexpr_sym_rhs_let_(s,t)

Typedefs

typedef struct _ffeexpr_expr_ffeexprExpr_
typedef bool ffeexprOperatorAssociativity_
typedef struct _ffeexpr_stack_ffeexprStack_

Enumerations

enum  ffeexprExprtype_ {
  FFEEXPR_exprtypeUNKNOWN_, FFEEXPR_exprtypeOPERAND_, FFEEXPR_exprtypeUNARY_, FFEEXPR_exprtypeBINARY_,
  FFEEXPR_exprtype_
}
enum  ffeexprOperator_ {
  FFEEXPR_operatorPOWER_, FFEEXPR_operatorMULTIPLY_, FFEEXPR_operatorDIVIDE_, FFEEXPR_operatorADD_,
  FFEEXPR_operatorSUBTRACT_, FFEEXPR_operatorCONCATENATE_, FFEEXPR_operatorLT_, FFEEXPR_operatorLE_,
  FFEEXPR_operatorEQ_, FFEEXPR_operatorNE_, FFEEXPR_operatorGT_, FFEEXPR_operatorGE_,
  FFEEXPR_operatorNOT_, FFEEXPR_operatorAND_, FFEEXPR_operatorOR_, FFEEXPR_operatorXOR_,
  FFEEXPR_operatorEQV_, FFEEXPR_operatorNEQV_, FFEEXPR_operator_
}
enum  ffeexprOperatorPrecedence_ {
  FFEEXPR_operatorprecedenceHIGHEST_ = 1, FFEEXPR_operatorprecedencePOWER_ = 1, FFEEXPR_operatorprecedenceMULTIPLY_ = 2, FFEEXPR_operatorprecedenceDIVIDE_ = 2,
  FFEEXPR_operatorprecedenceADD_ = 3, FFEEXPR_operatorprecedenceSUBTRACT_ = 3, FFEEXPR_operatorprecedenceLOWARITH_ = 3, FFEEXPR_operatorprecedenceCONCATENATE_ = 3,
  FFEEXPR_operatorprecedenceLT_ = 4, FFEEXPR_operatorprecedenceLE_ = 4, FFEEXPR_operatorprecedenceEQ_ = 4, FFEEXPR_operatorprecedenceNE_ = 4,
  FFEEXPR_operatorprecedenceGT_ = 4, FFEEXPR_operatorprecedenceGE_ = 4, FFEEXPR_operatorprecedenceNOT_ = 5, FFEEXPR_operatorprecedenceAND_ = 6,
  FFEEXPR_operatorprecedenceOR_ = 7, FFEEXPR_operatorprecedenceXOR_ = 8, FFEEXPR_operatorprecedenceEQV_ = 8, FFEEXPR_operatorprecedenceNEQV_ = 8,
  FFEEXPR_operatorprecedenceLOWEST_ = 8, FFEEXPR_operatorprecedence_
}
enum  ffeexprParenType_ {
  FFEEXPR_parentypeFUNCTION_, FFEEXPR_parentypeSUBROUTINE_, FFEEXPR_parentypeARRAY_, FFEEXPR_parentypeSUBSTRING_,
  FFEEXPR_parentypeFUNSUBSTR_, FFEEXPR_parentypeEQUIVALENCE_, FFEEXPR_parentypeANY_, FFEEXPR_parentype_
}
enum  ffeexprPercent_ {
  FFEEXPR_percentNONE_, FFEEXPR_percentLOC_, FFEEXPR_percentVAL_, FFEEXPR_percentREF_,
  FFEEXPR_percentDESCR_, FFEEXPR_percent_
}

Functions/Subroutines

static ffelexHandler ffeexpr_cb_close_paren_ (ffelexToken ft, ffebld expr, ffelexToken t)
static ffelexHandler ffeexpr_cb_close_paren_ambig_ (ffelexToken ft, ffebld expr, ffelexToken t)
static ffelexHandler ffeexpr_cb_close_paren_ambig_1_ (ffelexToken t)
static ffelexHandler ffeexpr_cb_close_paren_c_ (ffelexToken ft, ffebld expr, ffelexToken t)
static ffelexHandler ffeexpr_cb_comma_c_ (ffelexToken ft, ffebld expr, ffelexToken t)
static ffelexHandler ffeexpr_cb_close_paren_ci_ (ffelexToken ft, ffebld expr, ffelexToken t)
static ffelexHandler ffeexpr_cb_comma_ci_ (ffelexToken ft, ffebld expr, ffelexToken t)
static ffelexHandler ffeexpr_cb_comma_i_ (ffelexToken ft, ffebld expr, ffelexToken t)
static ffelexHandler ffeexpr_cb_comma_i_1_ (ffelexToken ft, ffebld expr, ffelexToken t)
static ffelexHandler ffeexpr_cb_comma_i_2_ (ffelexToken ft, ffebld expr, ffelexToken t)
static ffelexHandler ffeexpr_cb_comma_i_3_ (ffelexToken ft, ffebld expr, ffelexToken t)
static ffelexHandler ffeexpr_cb_comma_i_4_ (ffelexToken ft, ffebld expr, ffelexToken t)
static ffelexHandler ffeexpr_cb_comma_i_5_ (ffelexToken t)
static ffelexHandler ffeexpr_cb_end_loc_ (ffelexToken ft, ffebld expr, ffelexToken t)
static ffelexHandler ffeexpr_cb_end_notloc_ (ffelexToken ft, ffebld expr, ffelexToken t)
static ffelexHandler ffeexpr_cb_end_notloc_1_ (ffelexToken t)
static ffesymbol ffeexpr_check_impctrl_ (ffesymbol s)
static void ffeexpr_check_impdo_ (ffebld list, ffelexToken list_t, ffebld dovar, ffelexToken dovar_t)
static void ffeexpr_update_impdo_ (ffebld expr, ffebld dovar)
static void ffeexpr_update_impdo_sym_ (ffebld expr, ffesymbol dovar)
static ffeexprContext ffeexpr_context_outer_ (ffeexprStack_ s)
static ffeexprExpr_ ffeexpr_expr_new_ (void)
static void ffeexpr_fulfill_call_ (ffebld *expr, ffelexToken t)
static bool ffeexpr_isdigits_ (const char *p)
static ffelexHandler ffeexpr_token_first_lhs_ (ffelexToken t)
static ffelexHandler ffeexpr_token_first_lhs_1_ (ffelexToken t)
static ffelexHandler ffeexpr_token_first_rhs_ (ffelexToken t)
static ffelexHandler ffeexpr_token_first_rhs_1_ (ffelexToken t)
static ffelexHandler ffeexpr_token_first_rhs_2_ (ffelexToken t)
static ffelexHandler ffeexpr_token_first_rhs_3_ (ffelexToken t)
static ffelexHandler ffeexpr_token_first_rhs_4_ (ffelexToken t)
static ffelexHandler ffeexpr_token_first_rhs_5_ (ffelexToken t)
static ffelexHandler ffeexpr_token_first_rhs_6_ (ffelexToken t)
static ffelexHandler ffeexpr_token_namelist_ (ffelexToken t)
static void ffeexpr_expr_kill_ (ffeexprExpr_ e)
static void ffeexpr_exprstack_push_ (ffeexprExpr_ e)
static void ffeexpr_exprstack_push_binary_ (ffeexprExpr_ e)
static void ffeexpr_exprstack_push_operand_ (ffeexprExpr_ e)
static void ffeexpr_exprstack_push_unary_ (ffeexprExpr_ e)
static void ffeexpr_reduce_ (void)
static ffebld ffeexpr_reduced_bool1_ (ffebld reduced, ffeexprExpr_ op, ffeexprExpr_ r)
static ffebld ffeexpr_reduced_bool2_ (ffebld reduced, ffeexprExpr_ l, ffeexprExpr_ op, ffeexprExpr_ r)
static ffebld ffeexpr_reduced_concatenate_ (ffebld reduced, ffeexprExpr_ l, ffeexprExpr_ op, ffeexprExpr_ r)
static ffebld ffeexpr_reduced_eqop2_ (ffebld reduced, ffeexprExpr_ l, ffeexprExpr_ op, ffeexprExpr_ r)
static ffebld ffeexpr_reduced_math1_ (ffebld reduced, ffeexprExpr_ op, ffeexprExpr_ r)
static ffebld ffeexpr_reduced_math2_ (ffebld reduced, ffeexprExpr_ l, ffeexprExpr_ op, ffeexprExpr_ r)
static ffebld ffeexpr_reduced_power_ (ffebld reduced, ffeexprExpr_ l, ffeexprExpr_ op, ffeexprExpr_ r)
static ffebld ffeexpr_reduced_relop2_ (ffebld reduced, ffeexprExpr_ l, ffeexprExpr_ op, ffeexprExpr_ r)
static ffebld ffeexpr_reduced_ugly1_ (ffebld reduced, ffeexprExpr_ op, ffeexprExpr_ r)
static ffebld ffeexpr_reduced_ugly1log_ (ffebld reduced, ffeexprExpr_ op, ffeexprExpr_ r)
static ffebld ffeexpr_reduced_ugly2_ (ffebld reduced, ffeexprExpr_ l, ffeexprExpr_ op, ffeexprExpr_ r)
static ffebld ffeexpr_reduced_ugly2log_ (ffebld reduced, ffeexprExpr_ l, ffeexprExpr_ op, ffeexprExpr_ r)
static ffelexHandler ffeexpr_find_close_paren_ (ffelexToken t, ffelexHandler after)
static ffelexHandler ffeexpr_nil_finished_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_rhs_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_period_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_end_period_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_swallow_period_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_real_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_real_exponent_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_real_exp_sign_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_number_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_number_exponent_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_number_exp_sign_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_number_period_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_number_per_exp_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_number_real_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_num_per_exp_sign_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_number_real_exp_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_num_real_exp_sn_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_binary_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_binary_period_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_binary_end_per_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_binary_sw_per_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_quote_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_apostrophe_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_apos_char_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_name_rhs_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_name_apos_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_name_apos_name_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_percent_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_percent_name_ (ffelexToken t)
static ffelexHandler ffeexpr_nil_substrp_ (ffelexToken t)
static ffelexHandler ffeexpr_finished_ (ffelexToken t)
static ffebld ffeexpr_finished_ambig_ (ffelexToken t, ffebld expr)
static ffelexHandler ffeexpr_token_lhs_ (ffelexToken t)
static ffelexHandler ffeexpr_token_rhs_ (ffelexToken t)
static ffelexHandler ffeexpr_token_binary_ (ffelexToken t)
static ffelexHandler ffeexpr_token_period_ (ffelexToken t)
static ffelexHandler ffeexpr_token_end_period_ (ffelexToken t)
static ffelexHandler ffeexpr_token_swallow_period_ (ffelexToken t)
static ffelexHandler ffeexpr_token_real_ (ffelexToken t)
static ffelexHandler ffeexpr_token_real_exponent_ (ffelexToken t)
static ffelexHandler ffeexpr_token_real_exp_sign_ (ffelexToken t)
static ffelexHandler ffeexpr_token_number_ (ffelexToken t)
static ffelexHandler ffeexpr_token_number_exponent_ (ffelexToken t)
static ffelexHandler ffeexpr_token_number_exp_sign_ (ffelexToken t)
static ffelexHandler ffeexpr_token_number_period_ (ffelexToken t)
static ffelexHandler ffeexpr_token_number_per_exp_ (ffelexToken t)
static ffelexHandler ffeexpr_token_number_real_ (ffelexToken t)
static ffelexHandler ffeexpr_token_num_per_exp_sign_ (ffelexToken t)
static ffelexHandler ffeexpr_token_number_real_exp_ (ffelexToken t)
static ffelexHandler ffeexpr_token_num_real_exp_sn_ (ffelexToken t)
static ffelexHandler ffeexpr_token_binary_period_ (ffelexToken t)
static ffelexHandler ffeexpr_token_binary_end_per_ (ffelexToken t)
static ffelexHandler ffeexpr_token_binary_sw_per_ (ffelexToken t)
static ffelexHandler ffeexpr_token_quote_ (ffelexToken t)
static ffelexHandler ffeexpr_token_apostrophe_ (ffelexToken t)
static ffelexHandler ffeexpr_token_apos_char_ (ffelexToken t)
static ffelexHandler ffeexpr_token_name_lhs_ (ffelexToken t)
static ffelexHandler ffeexpr_token_name_arg_ (ffelexToken t)
static ffelexHandler ffeexpr_token_name_rhs_ (ffelexToken t)
static ffelexHandler ffeexpr_token_name_apos_ (ffelexToken t)
static ffelexHandler ffeexpr_token_name_apos_name_ (ffelexToken t)
static ffelexHandler ffeexpr_token_percent_ (ffelexToken t)
static ffelexHandler ffeexpr_token_percent_name_ (ffelexToken t)
static ffelexHandler ffeexpr_token_arguments_ (ffelexToken ft, ffebld expr, ffelexToken t)
static ffelexHandler ffeexpr_token_elements_ (ffelexToken ft, ffebld expr, ffelexToken t)
static ffelexHandler ffeexpr_token_equivalence_ (ffelexToken ft, ffebld expr, ffelexToken t)
static ffelexHandler ffeexpr_token_substring_ (ffelexToken ft, ffebld expr, ffelexToken t)
static ffelexHandler ffeexpr_token_substring_1_ (ffelexToken ft, ffebld expr, ffelexToken t)
static ffelexHandler ffeexpr_token_substrp_ (ffelexToken t)
static ffelexHandler ffeexpr_token_intrincheck_ (ffelexToken t)
static ffelexHandler ffeexpr_token_funsubstr_ (ffelexToken ft, ffebld expr, ffelexToken t)
static ffelexHandler ffeexpr_token_anything_ (ffelexToken ft, ffebld expr, ffelexToken t)
static void ffeexpr_make_float_const_ (char exp_letter, ffelexToken integer, ffelexToken decimal, ffelexToken fraction, ffelexToken exponent, ffelexToken exponent_sign, ffelexToken exponent_digits)
static ffesymbol ffeexpr_declare_unadorned_ (ffelexToken t, bool maybe_intrin)
static ffesymbol ffeexpr_sym_impdoitem_ (ffesymbol s, ffelexToken t)
static ffesymbol ffeexpr_sym_lhs_call_ (ffesymbol s, ffelexToken t)
static ffesymbol ffeexpr_sym_lhs_data_ (ffesymbol s, ffelexToken t)
static ffesymbol ffeexpr_sym_lhs_equivalence_ (ffesymbol s, ffelexToken t)
static ffesymbol ffeexpr_sym_lhs_extfunc_ (ffesymbol s, ffelexToken t)
static ffesymbol ffeexpr_sym_lhs_impdoctrl_ (ffesymbol s, ffelexToken t)
static ffesymbol ffeexpr_sym_lhs_parameter_ (ffesymbol s, ffelexToken t)
static ffesymbol ffeexpr_sym_rhs_actualarg_ (ffesymbol s, ffelexToken t)
static ffesymbol ffeexpr_sym_rhs_dimlist_ (ffesymbol s, ffelexToken t)
static ffesymbol ffeexpr_sym_rhs_let_ (ffesymbol s, ffelexToken t)
static ffesymbol ffeexpr_declare_parenthesized_ (ffelexToken t, bool maybe_intrin, ffeexprParenType_ *paren_type)
static ffesymbol ffeexpr_paren_rhs_let_ (ffesymbol s, ffelexToken t)
ffebld ffeexpr_collapse_convert (ffebld expr, ffelexToken t)
ffebld ffeexpr_collapse_paren (ffebld expr, ffelexToken t UNUSED)
ffebld ffeexpr_collapse_uplus (ffebld expr, ffelexToken t UNUSED)
ffebld ffeexpr_collapse_uminus (ffebld expr, ffelexToken t)
ffebld ffeexpr_collapse_not (ffebld expr, ffelexToken t)
ffebld ffeexpr_collapse_add (ffebld expr, ffelexToken t)
ffebld ffeexpr_collapse_subtract (ffebld expr, ffelexToken t)
ffebld ffeexpr_collapse_multiply (ffebld expr, ffelexToken t)
ffebld ffeexpr_collapse_divide (ffebld expr, ffelexToken t)
ffebld ffeexpr_collapse_power (ffebld expr, ffelexToken t)
ffebld ffeexpr_collapse_concatenate (ffebld expr, ffelexToken t)
ffebld ffeexpr_collapse_eq (ffebld expr, ffelexToken t)
ffebld ffeexpr_collapse_ne (ffebld expr, ffelexToken t)
ffebld ffeexpr_collapse_ge (ffebld expr, ffelexToken t)
ffebld ffeexpr_collapse_gt (ffebld expr, ffelexToken t)
ffebld ffeexpr_collapse_le (ffebld expr, ffelexToken t)
ffebld ffeexpr_collapse_lt (ffebld expr, ffelexToken t)
ffebld ffeexpr_collapse_and (ffebld expr, ffelexToken t)
ffebld ffeexpr_collapse_or (ffebld expr, ffelexToken t)
ffebld ffeexpr_collapse_xor (ffebld expr, ffelexToken t)
ffebld ffeexpr_collapse_eqv (ffebld expr, ffelexToken t)
ffebld ffeexpr_collapse_neqv (ffebld expr, ffelexToken t)
ffebld ffeexpr_collapse_symter (ffebld expr, ffelexToken t UNUSED)
ffebld ffeexpr_collapse_funcref (ffebld expr, ffelexToken t UNUSED)
ffebld ffeexpr_collapse_arrayref (ffebld expr, ffelexToken t UNUSED)
ffebld ffeexpr_collapse_substr (ffebld expr, ffelexToken t)
ffebld ffeexpr_convert (ffebld source, ffelexToken source_token, ffelexToken dest_token, ffeinfoBasictype bt, ffeinfoKindtype kt, ffeinfoRank rk, ffetargetCharacterSize sz, ffeexprContext context)
ffebld ffeexpr_convert_expr (ffebld source, ffelexToken source_token, ffebld dest, ffelexToken dest_token, ffeexprContext context)
ffebld ffeexpr_convert_to_sym (ffebld source, ffelexToken source_token, ffesymbol dest, ffelexToken dest_token)
void ffeexpr_init_2 ()
ffelexHandler ffeexpr_lhs (mallocPool pool, ffeexprContext context, ffeexprCallback callback)
ffelexHandler ffeexpr_rhs (mallocPool pool, ffeexprContext context, ffeexprCallback callback)
static ffeexprPercent_ ffeexpr_percent_ (ffelexToken t)
void ffeexpr_type_combine (ffeinfoBasictype *xnbt, ffeinfoKindtype *xnkt, ffeinfoBasictype lbt, ffeinfoKindtype lkt, ffeinfoBasictype rbt, ffeinfoKindtype rkt, ffelexToken t)
void ffeexpr_terminate_2 ()

Variables

static ffeexprStack_ ffeexpr_stack_
static ffelexToken ffeexpr_tokens_ [10]
static ffestrOther ffeexpr_current_dotdot_
static long ffeexpr_hollerith_count_
static int ffeexpr_level_
static bool ffeexpr_is_substr_ok_
static struct _ffeexpr_find_ ffeexpr_find_


Define Documentation

#define FFEEXPR_operatorassociativityADD_   FFEEXPR_operatorassociativityL2R_

Definition at line 120 of file expr.c.

Referenced by ffeexpr_token_binary_(), and ffeexpr_token_rhs_().

#define FFEEXPR_operatorassociativityAND_   FFEEXPR_operatorassociativityL2R_

Definition at line 130 of file expr.c.

Referenced by ffeexpr_token_binary_end_per_().

#define FFEEXPR_operatorassociativityCONCATENATE_   FFEEXPR_operatorassociativityL2R_

Definition at line 122 of file expr.c.

Referenced by ffeexpr_token_apos_char_(), and ffeexpr_token_binary_().

#define FFEEXPR_operatorassociativityDIVIDE_   FFEEXPR_operatorassociativityL2R_

Definition at line 119 of file expr.c.

Referenced by ffeexpr_token_binary_().

#define FFEEXPR_operatorassociativityEQ_   FFEEXPR_operatorassociativityL2R_

Definition at line 125 of file expr.c.

Referenced by ffeexpr_token_binary_(), and ffeexpr_token_binary_end_per_().

#define FFEEXPR_operatorassociativityEQV_   FFEEXPR_operatorassociativityL2R_

Definition at line 133 of file expr.c.

Referenced by ffeexpr_token_binary_end_per_().

#define FFEEXPR_operatorassociativityGE_   FFEEXPR_operatorassociativityL2R_

Definition at line 128 of file expr.c.

Referenced by ffeexpr_token_binary_(), and ffeexpr_token_binary_end_per_().

#define FFEEXPR_operatorassociativityGT_   FFEEXPR_operatorassociativityL2R_

Definition at line 127 of file expr.c.

Referenced by ffeexpr_token_binary_(), and ffeexpr_token_binary_end_per_().

#define FFEEXPR_operatorassociativityL2R_   TRUE

Definition at line 115 of file expr.c.

Referenced by ffeexpr_exprstack_push_binary_(), and ffeexpr_exprstack_push_operand_().

#define FFEEXPR_operatorassociativityLE_   FFEEXPR_operatorassociativityL2R_

Definition at line 124 of file expr.c.

Referenced by ffeexpr_token_binary_(), and ffeexpr_token_binary_end_per_().

#define FFEEXPR_operatorassociativityLT_   FFEEXPR_operatorassociativityL2R_

Definition at line 123 of file expr.c.

Referenced by ffeexpr_token_binary_(), and ffeexpr_token_binary_end_per_().

#define FFEEXPR_operatorassociativityMULTIPLY_   FFEEXPR_operatorassociativityL2R_

Definition at line 118 of file expr.c.

Referenced by ffeexpr_token_binary_().

#define FFEEXPR_operatorassociativityNE_   FFEEXPR_operatorassociativityL2R_

Definition at line 126 of file expr.c.

Referenced by ffeexpr_token_binary_(), and ffeexpr_token_binary_end_per_().

#define FFEEXPR_operatorassociativityNEQV_   FFEEXPR_operatorassociativityL2R_

Definition at line 134 of file expr.c.

Referenced by ffeexpr_token_binary_end_per_().

#define FFEEXPR_operatorassociativityNOT_   FFEEXPR_operatorassociativityL2R_

Definition at line 129 of file expr.c.

Referenced by ffeexpr_token_end_period_().

#define FFEEXPR_operatorassociativityOR_   FFEEXPR_operatorassociativityL2R_

Definition at line 131 of file expr.c.

Referenced by ffeexpr_token_binary_end_per_().

#define FFEEXPR_operatorassociativityPOWER_   FFEEXPR_operatorassociativityR2L_

Definition at line 117 of file expr.c.

Referenced by ffeexpr_token_binary_().

#define FFEEXPR_operatorassociativityR2L_   FALSE

Definition at line 116 of file expr.c.

#define FFEEXPR_operatorassociativitySUBTRACT_   FFEEXPR_operatorassociativityL2R_

Definition at line 121 of file expr.c.

Referenced by ffeexpr_token_binary_(), and ffeexpr_token_rhs_().

#define FFEEXPR_operatorassociativityXOR_   FFEEXPR_operatorassociativityL2R_

Definition at line 132 of file expr.c.

Referenced by ffeexpr_token_binary_end_per_().

#define ffeexpr_paren_lhs_let_ ( s,
 )     ffeexpr_sym_rhs_let_(s,t)

Definition at line 414 of file expr.c.

Referenced by ffeexpr_declare_parenthesized_().

#define ffeexpr_sym_lhs_let_ ( s,
 )     ffeexpr_sym_rhs_let_(s,t)

Definition at line 415 of file expr.c.

Referenced by ffeexpr_declare_unadorned_().


Typedef Documentation

Definition at line 160 of file expr.c.

Definition at line 161 of file expr.c.

Definition at line 162 of file expr.c.


Enumeration Type Documentation

Enumerator:
FFEEXPR_exprtypeUNKNOWN_ 
FFEEXPR_exprtypeOPERAND_ 
FFEEXPR_exprtypeUNARY_ 
FFEEXPR_exprtypeBINARY_ 
FFEEXPR_exprtype_ 

Definition at line 57 of file expr.c.

Enumerator:
FFEEXPR_operatorPOWER_ 
FFEEXPR_operatorMULTIPLY_ 
FFEEXPR_operatorDIVIDE_ 
FFEEXPR_operatorADD_ 
FFEEXPR_operatorSUBTRACT_ 
FFEEXPR_operatorCONCATENATE_ 
FFEEXPR_operatorLT_ 
FFEEXPR_operatorLE_ 
FFEEXPR_operatorEQ_ 
FFEEXPR_operatorNE_ 
FFEEXPR_operatorGT_ 
FFEEXPR_operatorGE_ 
FFEEXPR_operatorNOT_ 
FFEEXPR_operatorAND_ 
FFEEXPR_operatorOR_ 
FFEEXPR_operatorXOR_ 
FFEEXPR_operatorEQV_ 
FFEEXPR_operatorNEQV_ 
FFEEXPR_operator_ 

Definition at line 66 of file expr.c.

Enumerator:
FFEEXPR_operatorprecedenceHIGHEST_ 
FFEEXPR_operatorprecedencePOWER_ 
FFEEXPR_operatorprecedenceMULTIPLY_ 
FFEEXPR_operatorprecedenceDIVIDE_ 
FFEEXPR_operatorprecedenceADD_ 
FFEEXPR_operatorprecedenceSUBTRACT_ 
FFEEXPR_operatorprecedenceLOWARITH_ 
FFEEXPR_operatorprecedenceCONCATENATE_ 
FFEEXPR_operatorprecedenceLT_ 
FFEEXPR_operatorprecedenceLE_ 
FFEEXPR_operatorprecedenceEQ_ 
FFEEXPR_operatorprecedenceNE_ 
FFEEXPR_operatorprecedenceGT_ 
FFEEXPR_operatorprecedenceGE_ 
FFEEXPR_operatorprecedenceNOT_ 
FFEEXPR_operatorprecedenceAND_ 
FFEEXPR_operatorprecedenceOR_ 
FFEEXPR_operatorprecedenceXOR_ 
FFEEXPR_operatorprecedenceEQV_ 
FFEEXPR_operatorprecedenceNEQV_ 
FFEEXPR_operatorprecedenceLOWEST_ 
FFEEXPR_operatorprecedence_ 

Definition at line 89 of file expr.c.

Enumerator:
FFEEXPR_parentypeFUNCTION_ 
FFEEXPR_parentypeSUBROUTINE_ 
FFEEXPR_parentypeARRAY_ 
FFEEXPR_parentypeSUBSTRING_ 
FFEEXPR_parentypeFUNSUBSTR_ 
FFEEXPR_parentypeEQUIVALENCE_ 
FFEEXPR_parentypeANY_ 
FFEEXPR_parentype_ 

Definition at line 136 of file expr.c.

Enumerator:
FFEEXPR_percentNONE_ 
FFEEXPR_percentLOC_ 
FFEEXPR_percentVAL_ 
FFEEXPR_percentREF_ 
FFEEXPR_percentDESCR_ 
FFEEXPR_percent_ 

Definition at line 148 of file expr.c.


Function Documentation

static ffelexHandler ffeexpr_cb_close_paren_ ( ffelexToken  ft,
ffebld  expr,
ffelexToken  t 
) [static]

static ffelexHandler ffeexpr_cb_close_paren_ambig_ ( ffelexToken  ft,
ffebld  expr,
ffelexToken  t 
) [static]

static ffelexHandler ffeexpr_cb_close_paren_ambig_1_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_cb_close_paren_c_ ( ffelexToken  ft,
ffebld  expr,
ffelexToken  t 
) [static]

static ffelexHandler ffeexpr_cb_close_paren_ci_ ( ffelexToken  ft,
ffebld  expr,
ffelexToken  t 
) [static]

static ffelexHandler ffeexpr_cb_comma_c_ ( ffelexToken  ft,
ffebld  expr,
ffelexToken  t 
) [static]

static ffelexHandler ffeexpr_cb_comma_ci_ ( ffelexToken  ft,
ffebld  expr,
ffelexToken  t 
) [static]

static ffelexHandler ffeexpr_cb_comma_i_ ( ffelexToken  ft,
ffebld  expr,
ffelexToken  t 
) [static]

static ffelexHandler ffeexpr_cb_comma_i_1_ ( ffelexToken  ft,
ffebld  expr,
ffelexToken  t 
) [static]

static ffelexHandler ffeexpr_cb_comma_i_2_ ( ffelexToken ft  UNUSED,
ffebld  expr,
ffelexToken  t 
) [static]

static ffelexHandler ffeexpr_cb_comma_i_3_ ( ffelexToken ft  UNUSED,
ffebld  expr,
ffelexToken  t 
) [static]

static ffelexHandler ffeexpr_cb_comma_i_4_ ( ffelexToken ft  UNUSED,
ffebld  expr,
ffelexToken  t 
) [static]

static ffelexHandler ffeexpr_cb_comma_i_5_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_cb_end_loc_ ( ffelexToken ft  UNUSED,
ffebld  expr,
ffelexToken  t 
) [static]

static ffelexHandler ffeexpr_cb_end_notloc_ ( ffelexToken  ft,
ffebld  expr,
ffelexToken  t 
) [static]

static ffelexHandler ffeexpr_cb_end_notloc_1_ ( ffelexToken  t  )  [static]

static ffesymbol ffeexpr_check_impctrl_ ( ffesymbol  s  )  [static]

static void ffeexpr_check_impdo_ ( ffebld  list,
ffelexToken  list_t,
ffebld  dovar,
ffelexToken  dovar_t 
) [static]

ffebld ffeexpr_collapse_add ( ffebld  expr,
ffelexToken  t 
)

Definition at line 3541 of file expr.c.

References assert, error(), ffebad_finish(), ffebad_here(), ffebad_start, ffebld_constant_complex1, ffebld_constant_complex2, ffebld_constant_complex3, ffebld_constant_complex4, ffebld_constant_integer1, ffebld_constant_integer2, ffebld_constant_integer3, ffebld_constant_integer4, ffebld_constant_new_complex1_val(), ffebld_constant_new_complex2_val(), ffebld_constant_new_integer1_val(), ffebld_constant_new_integer2_val(), ffebld_constant_new_integer3_val(), ffebld_constant_new_integer4_val(), ffebld_constant_new_real1_val(), ffebld_constant_new_real2_val(), ffebld_constant_real1, ffebld_constant_real2, ffebld_constant_real3, ffebld_constant_real4, ffebld_conter, ffebld_cu_ptr_complex1, ffebld_cu_ptr_complex2, ffebld_cu_ptr_complex3, ffebld_cu_ptr_complex4, ffebld_cu_ptr_integer1, ffebld_cu_ptr_integer2, ffebld_cu_ptr_integer3, ffebld_cu_ptr_integer4, ffebld_cu_ptr_real1, ffebld_cu_ptr_real2, ffebld_cu_ptr_real3, ffebld_cu_ptr_real4, ffebld_cu_val_complex1, ffebld_cu_val_complex2, ffebld_cu_val_complex3, ffebld_cu_val_complex4, ffebld_cu_val_integer1, ffebld_cu_val_integer2, ffebld_cu_val_integer3, ffebld_cu_val_integer4, ffebld_cu_val_real1, ffebld_cu_val_real2, ffebld_cu_val_real3, ffebld_cu_val_real4, ffebld_info, ffebld_left, ffebld_new_conter_with_orig(), ffebld_op, ffebld_right, ffebld_set_info, ffeinfo_basictype, ffeinfo_kindtype, FFEINFO_kindtypeINTEGER1, FFEINFO_kindtypeINTEGER2, FFEINFO_kindtypeINTEGER3, FFEINFO_kindtypeINTEGER4, FFEINFO_kindtypeREAL1, FFEINFO_kindtypeREAL2, FFEINFO_kindtypeREAL3, FFEINFO_kindtypeREAL4, ffeinfo_new(), ffeinfo_where, ffelex_token_where_column, ffelex_token_where_line, ffetarget_add_complex1, ffetarget_add_complex2, ffetarget_add_integer1, ffetarget_add_integer2, ffetarget_add_integer3, ffetarget_add_integer4, ffetarget_add_real1, ffetarget_add_real2, FFETARGET_charactersizeNONE, NULL, and r.

Referenced by ffeexpr_reduce_(), and ffestt_dimlist_as_expr().

ffebld ffeexpr_collapse_and ( ffebld  expr,
ffelexToken  t 
)

Definition at line 5953 of file expr.c.

References assert, error(), ffebad_finish(), ffebad_here(), ffebad_start, ffebld_constant_integer1, ffebld_constant_integer2, ffebld_constant_integer3, ffebld_constant_integer4, ffebld_constant_logical1, ffebld_constant_logical2, ffebld_constant_logical3, ffebld_constant_logical4, ffebld_constant_new_integer1_val(), ffebld_constant_new_integer2_val(), ffebld_constant_new_integer3_val(), ffebld_constant_new_integer4_val(), ffebld_constant_new_logical1_val(), ffebld_constant_new_logical2_val(), ffebld_constant_new_logical3_val(), ffebld_constant_new_logical4_val(), ffebld_conter, ffebld_cu_ptr_integer1, ffebld_cu_ptr_integer2, ffebld_cu_ptr_integer3, ffebld_cu_ptr_integer4, ffebld_cu_ptr_logical1, ffebld_cu_ptr_logical2, ffebld_cu_ptr_logical3, ffebld_cu_ptr_logical4, ffebld_cu_val_integer1, ffebld_cu_val_integer2, ffebld_cu_val_integer3, ffebld_cu_val_integer4, ffebld_cu_val_logical1, ffebld_cu_val_logical2, ffebld_cu_val_logical3, ffebld_cu_val_logical4, ffebld_info, ffebld_left, ffebld_new_conter_with_orig(), ffebld_op, ffebld_right, ffebld_set_info, ffeinfo_basictype, ffeinfo_kindtype, FFEINFO_kindtypeINTEGER1, FFEINFO_kindtypeINTEGER2, FFEINFO_kindtypeINTEGER3, FFEINFO_kindtypeINTEGER4, FFEINFO_kindtypeLOGICAL1, FFEINFO_kindtypeLOGICAL2, FFEINFO_kindtypeLOGICAL3, FFEINFO_kindtypeLOGICAL4, ffeinfo_new(), ffeinfo_where, ffelex_token_where_column, ffelex_token_where_line, ffetarget_and_integer1, ffetarget_and_integer2, ffetarget_and_integer3, ffetarget_and_integer4, ffetarget_and_logical1, ffetarget_and_logical2, ffetarget_and_logical3, ffetarget_and_logical4, FFETARGET_charactersizeNONE, NULL, and r.

Referenced by ffeexpr_reduce_().

ffebld ffeexpr_collapse_arrayref ( ffebld  expr,
ffelexToken UNUSED 
)

Definition at line 6802 of file expr.c.

Referenced by ffeexpr_token_elements_().

ffebld ffeexpr_collapse_concatenate ( ffebld  expr,
ffelexToken  t 
)

ffebld ffeexpr_collapse_convert ( ffebld  expr,
ffelexToken  t 
)

Definition at line 427 of file expr.c.

References assert, error(), ffebad_finish(), ffebad_here(), ffebad_start, ffebld_constant_character1, ffebld_constant_complex1, ffebld_constant_complex2, ffebld_constant_complex3, ffebld_constant_complex4, ffebld_constant_hollerith, ffebld_constant_integer1, ffebld_constant_integer2, ffebld_constant_integer3, ffebld_constant_integer4, ffebld_constant_logical1, ffebld_constant_logical2, ffebld_constant_logical3, ffebld_constant_logical4, ffebld_constant_new_character1_val(), ffebld_constant_new_complex1_val(), ffebld_constant_new_complex2_val(), ffebld_constant_new_integer1_val(), ffebld_constant_new_integer2_val(), ffebld_constant_new_integer3_val(), ffebld_constant_new_integer4_val(), ffebld_constant_new_logical1_val(), ffebld_constant_new_logical2_val(), ffebld_constant_new_logical3_val(), ffebld_constant_new_logical4_val(), ffebld_constant_new_real1_val(), ffebld_constant_new_real2_val(), ffebld_constant_pool, ffebld_constant_real1, ffebld_constant_real2, ffebld_constant_real3, ffebld_constant_real4, ffebld_constant_typeless, ffebld_conter, ffebld_cu_ptr_character1, ffebld_cu_ptr_complex1, ffebld_cu_ptr_complex2, ffebld_cu_ptr_complex3, ffebld_cu_ptr_complex4, ffebld_cu_ptr_integer1, ffebld_cu_ptr_integer2, ffebld_cu_ptr_integer3, ffebld_cu_ptr_integer4, ffebld_cu_ptr_logical1, ffebld_cu_ptr_logical2, ffebld_cu_ptr_logical3, ffebld_cu_ptr_logical4, ffebld_cu_ptr_real1, ffebld_cu_ptr_real2, ffebld_cu_ptr_real3, ffebld_cu_ptr_real4, ffebld_cu_val_character1, ffebld_cu_val_complex1, ffebld_cu_val_complex2, ffebld_cu_val_complex3, ffebld_cu_val_complex4, ffebld_cu_val_integer1, ffebld_cu_val_integer2, ffebld_cu_val_integer3, ffebld_cu_val_integer4, ffebld_cu_val_logical1, ffebld_cu_val_logical2, ffebld_cu_val_logical3, ffebld_cu_val_logical4, ffebld_cu_val_real1, ffebld_cu_val_real2, ffebld_cu_val_real3, ffebld_cu_val_real4, ffebld_info, ffebld_left, ffebld_new_conter_with_orig(), ffebld_op, ffebld_set_info, ffebld_size, ffeinfo_basictype, ffeinfo_kindtype, FFEINFO_kindtypeCHARACTER1, FFEINFO_kindtypeINTEGER1, FFEINFO_kindtypeINTEGER2, FFEINFO_kindtypeINTEGER3, FFEINFO_kindtypeINTEGER4, FFEINFO_kindtypeLOGICAL1, FFEINFO_kindtypeLOGICAL2, FFEINFO_kindtypeLOGICAL3, FFEINFO_kindtypeLOGICAL4, FFEINFO_kindtypeREAL1, FFEINFO_kindtypeREAL2, FFEINFO_kindtypeREAL3, FFEINFO_kindtypeREAL4, ffeinfo_new(), ffeinfo_where, ffelex_token_where_column, ffelex_token_where_line, FFETARGET_charactersizeNONE, ffetarget_convert_character1_character1(), ffetarget_convert_character1_hollerith(), ffetarget_convert_character1_integer1, ffetarget_convert_character1_integer2, ffetarget_convert_character1_integer3, ffetarget_convert_character1_integer4(), ffetarget_convert_character1_logical1, ffetarget_convert_character1_logical2, ffetarget_convert_character1_logical3, ffetarget_convert_character1_logical4(), ffetarget_convert_character1_typeless(), ffetarget_convert_complex1_character1, ffetarget_convert_complex1_complex2, ffetarget_convert_complex1_hollerith, ffetarget_convert_complex1_integer1, ffetarget_convert_complex1_integer2, ffetarget_convert_complex1_integer3, ffetarget_convert_complex1_integer4, ffetarget_convert_complex1_real1, ffetarget_convert_complex1_real2, ffetarget_convert_complex1_typeless, ffetarget_convert_complex2_character1, ffetarget_convert_complex2_complex1, ffetarget_convert_complex2_hollerith, ffetarget_convert_complex2_integer1, ffetarget_convert_complex2_integer2, ffetarget_convert_complex2_integer3, ffetarget_convert_complex2_integer4, ffetarget_convert_complex2_real1, ffetarget_convert_complex2_real2, ffetarget_convert_complex2_typeless, ffetarget_convert_integer1_character1, ffetarget_convert_integer1_complex1, ffetarget_convert_integer1_complex2, ffetarget_convert_integer1_hollerith, ffetarget_convert_integer1_integer2, ffetarget_convert_integer1_integer3, ffetarget_convert_integer1_integer4, ffetarget_convert_integer1_logical1, ffetarget_convert_integer1_logical2, ffetarget_convert_integer1_logical3, ffetarget_convert_integer1_logical4, ffetarget_convert_integer1_real1, ffetarget_convert_integer1_real2, ffetarget_convert_integer1_typeless, ffetarget_convert_integer2_character1, ffetarget_convert_integer2_complex1, ffetarget_convert_integer2_complex2, ffetarget_convert_integer2_hollerith, ffetarget_convert_integer2_integer1, ffetarget_convert_integer2_integer3, ffetarget_convert_integer2_integer4, ffetarget_convert_integer2_logical1, ffetarget_convert_integer2_logical2, ffetarget_convert_integer2_logical3, ffetarget_convert_integer2_logical4, ffetarget_convert_integer2_real1, ffetarget_convert_integer2_real2, ffetarget_convert_integer2_typeless, ffetarget_convert_integer3_character1, ffetarget_convert_integer3_complex1, ffetarget_convert_integer3_complex2, ffetarget_convert_integer3_hollerith, ffetarget_convert_integer3_integer1, ffetarget_convert_integer3_integer2, ffetarget_convert_integer3_integer4, ffetarget_convert_integer3_logical1, ffetarget_convert_integer3_logical2, ffetarget_convert_integer3_logical3, ffetarget_convert_integer3_logical4, ffetarget_convert_integer3_real1, ffetarget_convert_integer3_real2, ffetarget_convert_integer3_typeless, ffetarget_convert_integer4_character1, ffetarget_convert_integer4_complex1, ffetarget_convert_integer4_complex2, ffetarget_convert_integer4_hollerith, ffetarget_convert_integer4_integer1, ffetarget_convert_integer4_integer2, ffetarget_convert_integer4_integer3, ffetarget_convert_integer4_logical1, ffetarget_convert_integer4_logical2, ffetarget_convert_integer4_logical3, ffetarget_convert_integer4_logical4, ffetarget_convert_integer4_real1, ffetarget_convert_integer4_real2, ffetarget_convert_integer4_typeless, ffetarget_convert_logical1_character1, ffetarget_convert_logical1_hollerith, ffetarget_convert_logical1_integer1, ffetarget_convert_logical1_integer2, ffetarget_convert_logical1_integer3, ffetarget_convert_logical1_integer4, ffetarget_convert_logical1_logical2, ffetarget_convert_logical1_logical3, ffetarget_convert_logical1_logical4, ffetarget_convert_logical1_typeless, ffetarget_convert_logical2_character1, ffetarget_convert_logical2_hollerith, ffetarget_convert_logical2_integer1, ffetarget_convert_logical2_integer2, ffetarget_convert_logical2_integer3, ffetarget_convert_logical2_integer4, ffetarget_convert_logical2_logical1, ffetarget_convert_logical2_logical3, ffetarget_convert_logical2_logical4, ffetarget_convert_logical2_typeless, ffetarget_convert_logical3_character1, ffetarget_convert_logical3_hollerith, ffetarget_convert_logical3_integer1, ffetarget_convert_logical3_integer2, ffetarget_convert_logical3_integer3, ffetarget_convert_logical3_integer4, ffetarget_convert_logical3_logical1, ffetarget_convert_logical3_logical2, ffetarget_convert_logical3_logical4, ffetarget_convert_logical3_typeless, ffetarget_convert_logical4_character1, ffetarget_convert_logical4_hollerith, ffetarget_convert_logical4_integer1, ffetarget_convert_logical4_integer2, ffetarget_convert_logical4_integer3, ffetarget_convert_logical4_integer4, ffetarget_convert_logical4_logical1, ffetarget_convert_logical4_logical2, ffetarget_convert_logical4_logical3, ffetarget_convert_logical4_typeless, ffetarget_convert_real1_character1, ffetarget_convert_real1_complex1, ffetarget_convert_real1_complex2, ffetarget_convert_real1_hollerith, ffetarget_convert_real1_integer1, ffetarget_convert_real1_integer2, ffetarget_convert_real1_integer3, ffetarget_convert_real1_integer4, ffetarget_convert_real1_real2, ffetarget_convert_real1_typeless, ffetarget_convert_real2_character1, ffetarget_convert_real2_complex1, ffetarget_convert_real2_complex2, ffetarget_convert_real2_hollerith, ffetarget_convert_real2_integer1, ffetarget_convert_real2_integer2, ffetarget_convert_real2_integer3, ffetarget_convert_real2_integer4, ffetarget_convert_real2_real1, ffetarget_convert_real2_typeless, ffetarget_length_character1, NULL, and sz().

Referenced by ffeexpr_convert().

ffebld ffeexpr_collapse_divide ( ffebld  expr,
ffelexToken  t 
)

Definition at line 4156 of file expr.c.

References assert, error(), ffebad_finish(), ffebad_here(), ffebad_start, ffebld_constant_complex1, ffebld_constant_complex2, ffebld_constant_complex3, ffebld_constant_complex4, ffebld_constant_integer1, ffebld_constant_integer2, ffebld_constant_integer3, ffebld_constant_integer4, ffebld_constant_new_complex1_val(), ffebld_constant_new_complex2_val(), ffebld_constant_new_integer1_val(), ffebld_constant_new_integer2_val(), ffebld_constant_new_integer3_val(), ffebld_constant_new_integer4_val(), ffebld_constant_new_real1_val(), ffebld_constant_new_real2_val(), ffebld_constant_real1, ffebld_constant_real2, ffebld_constant_real3, ffebld_constant_real4, ffebld_conter, ffebld_cu_ptr_complex1, ffebld_cu_ptr_complex2, ffebld_cu_ptr_complex3, ffebld_cu_ptr_complex4, ffebld_cu_ptr_integer1, ffebld_cu_ptr_integer2, ffebld_cu_ptr_integer3, ffebld_cu_ptr_integer4, ffebld_cu_ptr_real1, ffebld_cu_ptr_real2, ffebld_cu_ptr_real3, ffebld_cu_ptr_real4, ffebld_cu_val_complex1, ffebld_cu_val_complex2, ffebld_cu_val_complex3, ffebld_cu_val_complex4, ffebld_cu_val_integer1, ffebld_cu_val_integer2, ffebld_cu_val_integer3, ffebld_cu_val_integer4, ffebld_cu_val_real1, ffebld_cu_val_real2, ffebld_cu_val_real3, ffebld_cu_val_real4, ffebld_info, ffebld_left, ffebld_new_conter_with_orig(), ffebld_op, ffebld_right, ffebld_set_info, ffeinfo_basictype, ffeinfo_kindtype, FFEINFO_kindtypeINTEGER1, FFEINFO_kindtypeINTEGER2, FFEINFO_kindtypeINTEGER3, FFEINFO_kindtypeINTEGER4, FFEINFO_kindtypeREAL1, FFEINFO_kindtypeREAL2, FFEINFO_kindtypeREAL3, FFEINFO_kindtypeREAL4, ffeinfo_new(), ffeinfo_where, ffelex_token_where_column, ffelex_token_where_line, FFETARGET_charactersizeNONE, ffetarget_divide_complex1(), ffetarget_divide_complex2(), ffetarget_divide_integer1, ffetarget_divide_integer2, ffetarget_divide_integer3, ffetarget_divide_integer4, ffetarget_divide_real1, ffetarget_divide_real2, NULL, and r.

Referenced by ffeexpr_reduce_().

ffebld ffeexpr_collapse_eq ( ffebld  expr,
ffelexToken  t 
)

ffebld ffeexpr_collapse_eqv ( ffebld  expr,
ffelexToken  t 
)

Definition at line 6421 of file expr.c.

References assert, error(), ffebad_finish(), ffebad_here(), ffebad_start, ffebld_constant_integer1, ffebld_constant_integer2, ffebld_constant_integer3, ffebld_constant_integer4, ffebld_constant_logical1, ffebld_constant_logical2, ffebld_constant_logical3, ffebld_constant_logical4, ffebld_constant_new_integer1_val(), ffebld_constant_new_integer2_val(), ffebld_constant_new_integer3_val(), ffebld_constant_new_integer4_val(), ffebld_constant_new_logical1_val(), ffebld_constant_new_logical2_val(), ffebld_constant_new_logical3_val(), ffebld_constant_new_logical4_val(), ffebld_conter, ffebld_cu_ptr_integer1, ffebld_cu_ptr_integer2, ffebld_cu_ptr_integer3, ffebld_cu_ptr_integer4, ffebld_cu_ptr_logical1, ffebld_cu_ptr_logical2, ffebld_cu_ptr_logical3, ffebld_cu_ptr_logical4, ffebld_cu_val_integer1, ffebld_cu_val_integer2, ffebld_cu_val_integer3, ffebld_cu_val_integer4, ffebld_cu_val_logical1, ffebld_cu_val_logical2, ffebld_cu_val_logical3, ffebld_cu_val_logical4, ffebld_info, ffebld_left, ffebld_new_conter_with_orig(), ffebld_op, ffebld_right, ffebld_set_info, ffeinfo_basictype, ffeinfo_kindtype, FFEINFO_kindtypeINTEGER1, FFEINFO_kindtypeINTEGER2, FFEINFO_kindtypeINTEGER3, FFEINFO_kindtypeINTEGER4, FFEINFO_kindtypeLOGICAL1, FFEINFO_kindtypeLOGICAL2, FFEINFO_kindtypeLOGICAL3, FFEINFO_kindtypeLOGICAL4, ffeinfo_new(), ffeinfo_where, ffelex_token_where_column, ffelex_token_where_line, FFETARGET_charactersizeNONE, ffetarget_eqv_integer1, ffetarget_eqv_integer2, ffetarget_eqv_integer3, ffetarget_eqv_integer4, ffetarget_eqv_logical1, ffetarget_eqv_logical2, ffetarget_eqv_logical3, ffetarget_eqv_logical4, NULL, and r.

Referenced by ffeexpr_reduce_().

ffebld ffeexpr_collapse_funcref ( ffebld  expr,
ffelexToken UNUSED 
)

Definition at line 6786 of file expr.c.

Referenced by ffeexpr_token_arguments_().

ffebld ffeexpr_collapse_ge ( ffebld  expr,
ffelexToken  t 
)

ffebld ffeexpr_collapse_gt ( ffebld  expr,
ffelexToken  t 
)

ffebld ffeexpr_collapse_le ( ffebld  expr,
ffelexToken  t 
)

ffebld ffeexpr_collapse_lt ( ffebld  expr,
ffelexToken  t 
)

ffebld ffeexpr_collapse_multiply ( ffebld  expr,
ffelexToken  t 
)

Definition at line 3951 of file expr.c.

References assert, error(), ffebad_finish(), ffebad_here(), ffebad_start, ffebld_constant_complex1, ffebld_constant_complex2, ffebld_constant_complex3, ffebld_constant_complex4, ffebld_constant_integer1, ffebld_constant_integer2, ffebld_constant_integer3, ffebld_constant_integer4, ffebld_constant_new_complex1_val(), ffebld_constant_new_complex2_val(), ffebld_constant_new_integer1_val(), ffebld_constant_new_integer2_val(), ffebld_constant_new_integer3_val(), ffebld_constant_new_integer4_val(), ffebld_constant_new_real1_val(), ffebld_constant_new_real2_val(), ffebld_constant_real1, ffebld_constant_real2, ffebld_constant_real3, ffebld_constant_real4, ffebld_conter, ffebld_cu_ptr_complex1, ffebld_cu_ptr_complex2, ffebld_cu_ptr_complex3, ffebld_cu_ptr_complex4, ffebld_cu_ptr_integer1, ffebld_cu_ptr_integer2, ffebld_cu_ptr_integer3, ffebld_cu_ptr_integer4, ffebld_cu_ptr_real1, ffebld_cu_ptr_real2, ffebld_cu_ptr_real3, ffebld_cu_ptr_real4, ffebld_cu_val_complex1, ffebld_cu_val_complex2, ffebld_cu_val_complex3, ffebld_cu_val_complex4, ffebld_cu_val_integer1, ffebld_cu_val_integer2, ffebld_cu_val_integer3, ffebld_cu_val_integer4, ffebld_cu_val_real1, ffebld_cu_val_real2, ffebld_cu_val_real3, ffebld_cu_val_real4, ffebld_info, ffebld_left, ffebld_new_conter_with_orig(), ffebld_op, ffebld_right, ffebld_set_info, ffeinfo_basictype, ffeinfo_kindtype, FFEINFO_kindtypeINTEGER1, FFEINFO_kindtypeINTEGER2, FFEINFO_kindtypeINTEGER3, FFEINFO_kindtypeINTEGER4, FFEINFO_kindtypeREAL1, FFEINFO_kindtypeREAL2, FFEINFO_kindtypeREAL3, FFEINFO_kindtypeREAL4, ffeinfo_new(), ffeinfo_where, ffelex_token_where_column, ffelex_token_where_line, FFETARGET_charactersizeNONE, ffetarget_multiply_complex1(), ffetarget_multiply_complex2(), ffetarget_multiply_integer1, ffetarget_multiply_integer2, ffetarget_multiply_integer3, ffetarget_multiply_integer4, ffetarget_multiply_real1, ffetarget_multiply_real2, NULL, and r.

Referenced by ffeexpr_reduce_(), and ffestt_dimlist_as_expr().

ffebld ffeexpr_collapse_ne ( ffebld  expr,
ffelexToken  t 
)

ffebld ffeexpr_collapse_neqv ( ffebld  expr,
ffelexToken  t 
)

Definition at line 6577 of file expr.c.

References assert, error(), ffebad_finish(), ffebad_here(), ffebad_start, ffebld_constant_integer1, ffebld_constant_integer2, ffebld_constant_integer3, ffebld_constant_integer4, ffebld_constant_logical1, ffebld_constant_logical2, ffebld_constant_logical3, ffebld_constant_logical4, ffebld_constant_new_integer1_val(), ffebld_constant_new_integer2_val(), ffebld_constant_new_integer3_val(), ffebld_constant_new_integer4_val(), ffebld_constant_new_logical1_val(), ffebld_constant_new_logical2_val(), ffebld_constant_new_logical3_val(), ffebld_constant_new_logical4_val(), ffebld_conter, ffebld_cu_ptr_integer1, ffebld_cu_ptr_integer2, ffebld_cu_ptr_integer3, ffebld_cu_ptr_integer4, ffebld_cu_ptr_logical1, ffebld_cu_ptr_logical2, ffebld_cu_ptr_logical3, ffebld_cu_ptr_logical4, ffebld_cu_val_integer1, ffebld_cu_val_integer2, ffebld_cu_val_integer3, ffebld_cu_val_integer4, ffebld_cu_val_logical1, ffebld_cu_val_logical2, ffebld_cu_val_logical3, ffebld_cu_val_logical4, ffebld_info, ffebld_left, ffebld_new_conter_with_orig(), ffebld_op, ffebld_right, ffebld_set_info, ffeinfo_basictype, ffeinfo_kindtype, FFEINFO_kindtypeINTEGER1, FFEINFO_kindtypeINTEGER2, FFEINFO_kindtypeINTEGER3, FFEINFO_kindtypeINTEGER4, FFEINFO_kindtypeLOGICAL1, FFEINFO_kindtypeLOGICAL2, FFEINFO_kindtypeLOGICAL3, FFEINFO_kindtypeLOGICAL4, ffeinfo_new(), ffeinfo_where, ffelex_token_where_column, ffelex_token_where_line, FFETARGET_charactersizeNONE, ffetarget_neqv_integer1, ffetarget_neqv_integer2, ffetarget_neqv_integer3, ffetarget_neqv_integer4, ffetarget_neqv_logical1, ffetarget_neqv_logical2, ffetarget_neqv_logical3, ffetarget_neqv_logical4, NULL, and r.

Referenced by ffeexpr_reduce_().

ffebld ffeexpr_collapse_not ( ffebld  expr,
ffelexToken  t 
)

Definition at line 3397 of file expr.c.

References assert, error(), ffebad_finish(), ffebad_here(), ffebad_start, ffebld_constant_integer1, ffebld_constant_integer2, ffebld_constant_integer3, ffebld_constant_integer4, ffebld_constant_logical1, ffebld_constant_logical2, ffebld_constant_logical3, ffebld_constant_logical4, ffebld_constant_new_integer1_val(), ffebld_constant_new_integer2_val(), ffebld_constant_new_integer3_val(), ffebld_constant_new_integer4_val(), ffebld_constant_new_logical1_val(), ffebld_constant_new_logical2_val(), ffebld_constant_new_logical3_val(), ffebld_constant_new_logical4_val(), ffebld_conter, ffebld_cu_ptr_integer1, ffebld_cu_ptr_integer2, ffebld_cu_ptr_integer3, ffebld_cu_ptr_integer4, ffebld_cu_ptr_logical1, ffebld_cu_ptr_logical2, ffebld_cu_ptr_logical3, ffebld_cu_ptr_logical4, ffebld_cu_val_integer1, ffebld_cu_val_integer2, ffebld_cu_val_integer3, ffebld_cu_val_integer4, ffebld_cu_val_logical1, ffebld_cu_val_logical2, ffebld_cu_val_logical3, ffebld_cu_val_logical4, ffebld_info, ffebld_left, ffebld_new_conter_with_orig(), ffebld_op, ffebld_set_info, ffeinfo_basictype, ffeinfo_kindtype, FFEINFO_kindtypeINTEGER1, FFEINFO_kindtypeINTEGER2, FFEINFO_kindtypeINTEGER3, FFEINFO_kindtypeINTEGER4, FFEINFO_kindtypeLOGICAL1, FFEINFO_kindtypeLOGICAL2, FFEINFO_kindtypeLOGICAL3, FFEINFO_kindtypeLOGICAL4, ffeinfo_new(), ffeinfo_where, ffelex_token_where_column, ffelex_token_where_line, FFETARGET_charactersizeNONE, ffetarget_not_integer1, ffetarget_not_integer2, ffetarget_not_integer3, ffetarget_not_integer4, ffetarget_not_logical1, ffetarget_not_logical2, ffetarget_not_logical3, ffetarget_not_logical4, NULL, and r.

Referenced by ffeexpr_reduce_().

ffebld ffeexpr_collapse_or ( ffebld  expr,
ffelexToken  t 
)

Definition at line 6109 of file expr.c.

References assert, error(), ffebad_finish(), ffebad_here(), ffebad_start, ffebld_constant_integer1, ffebld_constant_integer2, ffebld_constant_integer3, ffebld_constant_integer4, ffebld_constant_logical1, ffebld_constant_logical2, ffebld_constant_logical3, ffebld_constant_logical4, ffebld_constant_new_integer1_val(), ffebld_constant_new_integer2_val(), ffebld_constant_new_integer3_val(), ffebld_constant_new_integer4_val(), ffebld_constant_new_logical1_val(), ffebld_constant_new_logical2_val(), ffebld_constant_new_logical3_val(), ffebld_constant_new_logical4_val(), ffebld_conter, ffebld_cu_ptr_integer1, ffebld_cu_ptr_integer2, ffebld_cu_ptr_integer3, ffebld_cu_ptr_integer4, ffebld_cu_ptr_logical1, ffebld_cu_ptr_logical2, ffebld_cu_ptr_logical3, ffebld_cu_ptr_logical4, ffebld_cu_val_integer1, ffebld_cu_val_integer2, ffebld_cu_val_integer3, ffebld_cu_val_integer4, ffebld_cu_val_logical1, ffebld_cu_val_logical2, ffebld_cu_val_logical3, ffebld_cu_val_logical4, ffebld_info, ffebld_left, ffebld_new_conter_with_orig(), ffebld_op, ffebld_right, ffebld_set_info, ffeinfo_basictype, ffeinfo_kindtype, FFEINFO_kindtypeINTEGER1, FFEINFO_kindtypeINTEGER2, FFEINFO_kindtypeINTEGER3, FFEINFO_kindtypeINTEGER4, FFEINFO_kindtypeLOGICAL1, FFEINFO_kindtypeLOGICAL2, FFEINFO_kindtypeLOGICAL3, FFEINFO_kindtypeLOGICAL4, ffeinfo_new(), ffeinfo_where, ffelex_token_where_column, ffelex_token_where_line, FFETARGET_charactersizeNONE, ffetarget_or_integer1, ffetarget_or_integer2, ffetarget_or_integer3, ffetarget_or_integer4, ffetarget_or_logical1, ffetarget_or_logical2, ffetarget_or_logical3, ffetarget_or_logical4, NULL, and r.

Referenced by ffeexpr_reduce_().

ffebld ffeexpr_collapse_paren ( ffebld  expr,
ffelexToken UNUSED 
)

ffebld ffeexpr_collapse_power ( ffebld  expr,
ffelexToken  t 
)

Definition at line 4361 of file expr.c.

References assert, error(), ffebad_finish(), ffebad_here(), ffebad_start, ffebld_constant_complexdefault, ffebld_constant_complexdouble, ffebld_constant_complexquad, ffebld_constant_integerdefault, ffebld_constant_new_complexdefault_val, ffebld_constant_new_complexdouble_val, ffebld_constant_new_integerdefault_val, ffebld_constant_new_realdefault_val, ffebld_constant_new_realdouble_val, ffebld_constant_new_realquad_val, ffebld_constant_realdefault, ffebld_constant_realdouble, ffebld_constant_realquad, ffebld_conter, ffebld_cu_ptr_complexdefault, ffebld_cu_ptr_complexdouble, ffebld_cu_ptr_complexquad, ffebld_cu_ptr_integerdefault, ffebld_cu_ptr_realdefault, ffebld_cu_ptr_realdouble, ffebld_cu_ptr_realquad, ffebld_cu_val_complexdefault, ffebld_cu_val_complexdouble, ffebld_cu_val_complexquad, ffebld_cu_val_integerdefault, ffebld_cu_val_realdefault, ffebld_cu_val_realdouble, ffebld_cu_val_realquad, ffebld_info, ffebld_left, ffebld_new_conter_with_orig(), ffebld_op, ffebld_right, ffebld_set_info, ffeinfo_basictype, ffeinfo_kindtype, FFEINFO_kindtypeINTEGERDEFAULT, FFEINFO_kindtypeREALDEFAULT, FFEINFO_kindtypeREALDOUBLE, FFEINFO_kindtypeREALQUAD, ffeinfo_new(), ffeinfo_where, ffelex_token_where_column, ffelex_token_where_line, FFETARGET_charactersizeNONE, ffetarget_power_complexdefault_integerdefault(), ffetarget_power_complexdouble_integerdefault(), ffetarget_power_integerdefault_integerdefault(), ffetarget_power_realdefault_integerdefault(), ffetarget_power_realdouble_integerdefault(), NULL, and r.

Referenced by ffeexpr_reduce_().

ffebld ffeexpr_collapse_substr ( ffebld  expr,
ffelexToken  t 
)

ffebld ffeexpr_collapse_subtract ( ffebld  expr,
ffelexToken  t 
)

Definition at line 3746 of file expr.c.

References assert, error(), ffebad_finish(), ffebad_here(), ffebad_start, ffebld_constant_complex1, ffebld_constant_complex2, ffebld_constant_complex3, ffebld_constant_complex4, ffebld_constant_integer1, ffebld_constant_integer2, ffebld_constant_integer3, ffebld_constant_integer4, ffebld_constant_new_complex1_val(), ffebld_constant_new_complex2_val(), ffebld_constant_new_integer1_val(), ffebld_constant_new_integer2_val(), ffebld_constant_new_integer3_val(), ffebld_constant_new_integer4_val(), ffebld_constant_new_real1_val(), ffebld_constant_new_real2_val(), ffebld_constant_real1, ffebld_constant_real2, ffebld_constant_real3, ffebld_constant_real4, ffebld_conter, ffebld_cu_ptr_complex1, ffebld_cu_ptr_complex2, ffebld_cu_ptr_complex3, ffebld_cu_ptr_complex4, ffebld_cu_ptr_integer1, ffebld_cu_ptr_integer2, ffebld_cu_ptr_integer3, ffebld_cu_ptr_integer4, ffebld_cu_ptr_real1, ffebld_cu_ptr_real2, ffebld_cu_ptr_real3, ffebld_cu_ptr_real4, ffebld_cu_val_complex1, ffebld_cu_val_complex2, ffebld_cu_val_complex3, ffebld_cu_val_complex4, ffebld_cu_val_integer1, ffebld_cu_val_integer2, ffebld_cu_val_integer3, ffebld_cu_val_integer4, ffebld_cu_val_real1, ffebld_cu_val_real2, ffebld_cu_val_real3, ffebld_cu_val_real4, ffebld_info, ffebld_left, ffebld_new_conter_with_orig(), ffebld_op, ffebld_right, ffebld_set_info, ffeinfo_basictype, ffeinfo_kindtype, FFEINFO_kindtypeINTEGER1, FFEINFO_kindtypeINTEGER2, FFEINFO_kindtypeINTEGER3, FFEINFO_kindtypeINTEGER4, FFEINFO_kindtypeREAL1, FFEINFO_kindtypeREAL2, FFEINFO_kindtypeREAL3, FFEINFO_kindtypeREAL4, ffeinfo_new(), ffeinfo_where, ffelex_token_where_column, ffelex_token_where_line, FFETARGET_charactersizeNONE, ffetarget_subtract_complex1, ffetarget_subtract_complex2, ffetarget_subtract_integer1, ffetarget_subtract_integer2, ffetarget_subtract_integer3, ffetarget_subtract_integer4, ffetarget_subtract_real1, ffetarget_subtract_real2, NULL, and r.

Referenced by ffeexpr_reduce_(), and ffestt_dimlist_as_expr().

ffebld ffeexpr_collapse_symter ( ffebld  expr,
ffelexToken UNUSED 
)

ffebld ffeexpr_collapse_uminus ( ffebld  expr,
ffelexToken  t 
)

Definition at line 3208 of file expr.c.

References assert, error(), ffebad_finish(), ffebad_here(), ffebad_start, ffebld_constant_complex1, ffebld_constant_complex2, ffebld_constant_complex3, ffebld_constant_complex4, ffebld_constant_integer1, ffebld_constant_integer2, ffebld_constant_integer3, ffebld_constant_integer4, ffebld_constant_new_complex1_val(), ffebld_constant_new_complex2_val(), ffebld_constant_new_integer1_val(), ffebld_constant_new_integer2_val(), ffebld_constant_new_integer3_val(), ffebld_constant_new_integer4_val(), ffebld_constant_new_real1_val(), ffebld_constant_new_real2_val(), ffebld_constant_real1, ffebld_constant_real2, ffebld_constant_real3, ffebld_constant_real4, ffebld_conter, ffebld_cu_ptr_complex1, ffebld_cu_ptr_complex2, ffebld_cu_ptr_complex3, ffebld_cu_ptr_complex4, ffebld_cu_ptr_integer1, ffebld_cu_ptr_integer2, ffebld_cu_ptr_integer3, ffebld_cu_ptr_integer4, ffebld_cu_ptr_real1, ffebld_cu_ptr_real2, ffebld_cu_ptr_real3, ffebld_cu_ptr_real4, ffebld_cu_val_complex1, ffebld_cu_val_complex2, ffebld_cu_val_complex3, ffebld_cu_val_complex4, ffebld_cu_val_integer1, ffebld_cu_val_integer2, ffebld_cu_val_integer3, ffebld_cu_val_integer4, ffebld_cu_val_real1, ffebld_cu_val_real2, ffebld_cu_val_real3, ffebld_cu_val_real4, ffebld_info, ffebld_left, ffebld_new_conter_with_orig(), ffebld_op, ffebld_set_info, ffeinfo_basictype, ffeinfo_kindtype, FFEINFO_kindtypeINTEGER1, FFEINFO_kindtypeINTEGER2, FFEINFO_kindtypeINTEGER3, FFEINFO_kindtypeINTEGER4, FFEINFO_kindtypeREAL1, FFEINFO_kindtypeREAL2, FFEINFO_kindtypeREAL3, FFEINFO_kindtypeREAL4, ffeinfo_new(), ffeinfo_where, ffelex_token_where_column, ffelex_token_where_line, FFETARGET_charactersizeNONE, ffetarget_uminus_complex1, ffetarget_uminus_complex2, ffetarget_uminus_integer1, ffetarget_uminus_integer2, ffetarget_uminus_integer3, ffetarget_uminus_integer4, ffetarget_uminus_real1, ffetarget_uminus_real2, NULL, and r.

Referenced by ffeexpr_reduce_().

ffebld ffeexpr_collapse_uplus ( ffebld  expr,
ffelexToken UNUSED 
)

ffebld ffeexpr_collapse_xor ( ffebld  expr,
ffelexToken  t 
)

Definition at line 6265 of file expr.c.

References assert, error(), ffebad_finish(), ffebad_here(), ffebad_start, ffebld_constant_integer1, ffebld_constant_integer2, ffebld_constant_integer3, ffebld_constant_integer4, ffebld_constant_logical1, ffebld_constant_logical2, ffebld_constant_logical3, ffebld_constant_logical4, ffebld_constant_new_integer1_val(), ffebld_constant_new_integer2_val(), ffebld_constant_new_integer3_val(), ffebld_constant_new_integer4_val(), ffebld_constant_new_logical1_val(), ffebld_constant_new_logical2_val(), ffebld_constant_new_logical3_val(), ffebld_constant_new_logical4_val(), ffebld_conter, ffebld_cu_ptr_integer1, ffebld_cu_ptr_integer2, ffebld_cu_ptr_integer3, ffebld_cu_ptr_integer4, ffebld_cu_ptr_logical1, ffebld_cu_ptr_logical2, ffebld_cu_ptr_logical3, ffebld_cu_ptr_logical4, ffebld_cu_val_integer1, ffebld_cu_val_integer2, ffebld_cu_val_integer3, ffebld_cu_val_integer4, ffebld_cu_val_logical1, ffebld_cu_val_logical2, ffebld_cu_val_logical3, ffebld_cu_val_logical4, ffebld_info, ffebld_left, ffebld_new_conter_with_orig(), ffebld_op, ffebld_right, ffebld_set_info, ffeinfo_basictype, ffeinfo_kindtype, FFEINFO_kindtypeINTEGER1, FFEINFO_kindtypeINTEGER2, FFEINFO_kindtypeINTEGER3, FFEINFO_kindtypeINTEGER4, FFEINFO_kindtypeLOGICAL1, FFEINFO_kindtypeLOGICAL2, FFEINFO_kindtypeLOGICAL3, FFEINFO_kindtypeLOGICAL4, ffeinfo_new(), ffeinfo_where, ffelex_token_where_column, ffelex_token_where_line, FFETARGET_charactersizeNONE, ffetarget_xor_integer1, ffetarget_xor_integer2, ffetarget_xor_integer3, ffetarget_xor_integer4, ffetarget_xor_logical1, ffetarget_xor_logical2, ffetarget_xor_logical3, ffetarget_xor_logical4, NULL, and r.

Referenced by ffeexpr_reduce_().

static ffeexprContext ffeexpr_context_outer_ ( ffeexprStack_  s  )  [static]

ffebld ffeexpr_convert ( ffebld  source,
ffelexToken  source_token,
ffelexToken  dest_token,
ffeinfoBasictype  bt,
ffeinfoKindtype  kt,
ffeinfoRank  rk,
ffetargetCharacterSize  sz,
ffeexprContext  context 
)

ffebld ffeexpr_convert_expr ( ffebld  source,
ffelexToken  source_token,
ffebld  dest,
ffelexToken  dest_token,
ffeexprContext  context 
)

ffebld ffeexpr_convert_to_sym ( ffebld  source,
ffelexToken  source_token,
ffesymbol  dest,
ffelexToken  dest_token 
)

static ffesymbol ffeexpr_declare_parenthesized_ ( ffelexToken  t,
bool  maybe_intrin,
ffeexprParenType_ paren_type 
) [static]

Definition at line 17521 of file expr.c.

References assert, _ffeexpr_stack_::context, FALSE, ffebld_op, ffecom_sym_exec_transition(), ffeexpr_context_outer_(), FFEEXPR_contextACTUALARG_, FFEEXPR_contextACTUALARGEXPR_, FFEEXPR_contextAGOTO, FFEEXPR_contextALLOCATE, FFEEXPR_contextARITHIF, FFEEXPR_contextASSIGN, FFEEXPR_contextCASE, FFEEXPR_contextCGOTO, FFEEXPR_contextCHARACTERSIZE, FFEEXPR_contextDATA, FFEEXPR_contextDATAIMPDOCTRL_, FFEEXPR_contextDATAIMPDOINDEX_, FFEEXPR_contextDATAIMPDOITEM_, FFEEXPR_contextDEALLOCATE, FFEEXPR_contextDIMLIST, FFEEXPR_contextDIMLISTCOMMON, FFEEXPR_contextDO, FFEEXPR_contextDOWHILE, FFEEXPR_contextEQUIVALENCE, FFEEXPR_contextEQVINDEX_, FFEEXPR_contextFILEASSOC, FFEEXPR_contextFILECHAR, FFEEXPR_contextFILEDFCHAR, FFEEXPR_contextFILEDFINT, FFEEXPR_contextFILEFORMAT, FFEEXPR_contextFILEFORMATNML, FFEEXPR_contextFILEINT, FFEEXPR_contextFILEKEY, FFEEXPR_contextFILELOG, FFEEXPR_contextFILENAMELIST, FFEEXPR_contextFILENUM, FFEEXPR_contextFILENUMAMBIG, FFEEXPR_contextFILENUMCHAR, FFEEXPR_contextFILEUNIT, FFEEXPR_contextFILEUNIT_DF, FFEEXPR_contextFILEUNITAMBIG, FFEEXPR_contextFILEVXTCODE, FFEEXPR_contextFORMAT, FFEEXPR_contextHEAPSTAT, FFEEXPR_contextIF, FFEEXPR_contextIMPDOCTRL_, FFEEXPR_contextIMPDOITEM_, FFEEXPR_contextIMPDOITEMDF_, FFEEXPR_contextINCLUDE, FFEEXPR_contextINDEX_, FFEEXPR_contextINDEXORACTUALARG_, FFEEXPR_contextINDEXORACTUALARGEXPR_, FFEEXPR_contextINITVAL, FFEEXPR_contextIOLIST, FFEEXPR_contextIOLISTDF, FFEEXPR_contextKINDTYPE, FFEEXPR_contextLET, FFEEXPR_contextLOC_, FFEEXPR_contextNULLIFY, FFEEXPR_contextPARAMETER, FFEEXPR_contextPAREN_, FFEEXPR_contextPARENFILENUM_, FFEEXPR_contextPARENFILEUNIT_, FFEEXPR_contextRETURN, FFEEXPR_contextSELECTCASE, FFEEXPR_contextSFUNCDEF, FFEEXPR_contextSFUNCDEFACTUALARG_, FFEEXPR_contextSFUNCDEFACTUALARGEXPR_, FFEEXPR_contextSFUNCDEFINDEX_, FFEEXPR_contextSFUNCDEFINDEXORACTUALARG_, FFEEXPR_contextSFUNCDEFINDEXORACTUALARGEXPR_, FFEEXPR_contextSTOP, FFEEXPR_contextSUBROUTINEREF, ffeexpr_paren_lhs_let_, ffeexpr_paren_rhs_let_(), FFEEXPR_parentypeANY_, FFEEXPR_parentypeARRAY_, FFEEXPR_parentypeEQUIVALENCE_, FFEEXPR_parentypeFUNCTION_, FFEEXPR_parentypeFUNSUBSTR_, FFEEXPR_parentypeSUBROUTINE_, FFEEXPR_parentypeSUBSTRING_, ffeexpr_sym_impdoitem_(), ffeexpr_sym_lhs_call_(), ffeexpr_sym_lhs_data_(), ffeexpr_sym_lhs_equivalence_(), ffeexpr_sym_lhs_impdoctrl_(), ffeexpr_sym_lhs_parameter_(), ffeexpr_sym_rhs_dimlist_(), ffeexpr_sym_rhs_let_(), ffesrc_check_symbol, ffest_seen_first_exec(), ffest_shutdown(), ffesymbol_basictype, ffesymbol_declare_local(), ffesymbol_error(), ffesymbol_kind, ffesymbol_rank, ffesymbol_sfdummyparent, ffesymbol_sfexpr, ffesymbol_state, FFESYMBOL_stateNONE, FFESYMBOL_stateSEEN, FFESYMBOL_stateUNCERTAIN, FFESYMBOL_stateUNDERSTOOD, ffesymbol_where, _ffeexpr_stack_::is_rhs, NULL, _ffeexpr_stack_::previous, s, seen, and TRUE.

Referenced by ffeexpr_token_name_lhs_(), and ffeexpr_token_name_rhs_().

static ffesymbol ffeexpr_declare_unadorned_ ( ffelexToken  t,
bool  maybe_intrin 
) [static]

Definition at line 15855 of file expr.c.

References assert, FALSE, ffecom_sym_exec_transition(), ffeexpr_context_outer_(), FFEEXPR_contextACTUALARG_, FFEEXPR_contextACTUALARGEXPR_, FFEEXPR_contextAGOTO, FFEEXPR_contextARITHIF, FFEEXPR_contextASSIGN, FFEEXPR_contextCASE, FFEEXPR_contextCGOTO, FFEEXPR_contextCHARACTERSIZE, FFEEXPR_contextDATA, FFEEXPR_contextDATAIMPDOCTRL_, FFEEXPR_contextDATAIMPDOINDEX_, FFEEXPR_contextDATAIMPDOITEM_, FFEEXPR_contextDIMLIST, FFEEXPR_contextDIMLISTCOMMON, FFEEXPR_contextDO, FFEEXPR_contextDOWHILE, FFEEXPR_contextEQUIVALENCE, FFEEXPR_contextEQVINDEX_, FFEEXPR_contextFILEASSOC, FFEEXPR_contextFILECHAR, FFEEXPR_contextFILEDFCHAR, FFEEXPR_contextFILEDFINT, FFEEXPR_contextFILEEXTFUNC, FFEEXPR_contextFILEFORMAT, FFEEXPR_contextFILEINT, FFEEXPR_contextFILEKEY, FFEEXPR_contextFILELOG, FFEEXPR_contextFILENAMELIST, FFEEXPR_contextFILENUM, FFEEXPR_contextFILENUMAMBIG, FFEEXPR_contextFILENUMCHAR, FFEEXPR_contextFILEUNIT, FFEEXPR_contextFILEUNIT_DF, FFEEXPR_contextFILEUNITAMBIG, FFEEXPR_contextFILEVXTCODE, FFEEXPR_contextFORMAT, FFEEXPR_contextIF, FFEEXPR_contextIMPDOCTRL_, FFEEXPR_contextIMPDOITEM_, FFEEXPR_contextIMPDOITEMDF_, FFEEXPR_contextINCLUDE, FFEEXPR_contextINDEX_, FFEEXPR_contextINDEXORACTUALARGEXPR_, FFEEXPR_contextINITVAL, FFEEXPR_contextIOLIST, FFEEXPR_contextIOLISTDF, FFEEXPR_contextKINDTYPE, FFEEXPR_contextLET, FFEEXPR_contextLOC_, FFEEXPR_contextPARAMETER, FFEEXPR_contextPAREN_, FFEEXPR_contextRETURN, FFEEXPR_contextSELECTCASE, FFEEXPR_contextSFUNCDEF, FFEEXPR_contextSFUNCDEFACTUALARG_, FFEEXPR_contextSFUNCDEFACTUALARGEXPR_, FFEEXPR_contextSFUNCDEFINDEX_, FFEEXPR_contextSFUNCDEFINDEXORACTUALARGEXPR_, FFEEXPR_contextSTOP, FFEEXPR_contextSUBROUTINEREF, ffeexpr_sym_impdoitem_(), ffeexpr_sym_lhs_call_(), ffeexpr_sym_lhs_data_(), ffeexpr_sym_lhs_equivalence_(), ffeexpr_sym_lhs_extfunc_(), ffeexpr_sym_lhs_impdoctrl_(), ffeexpr_sym_lhs_let_, ffeexpr_sym_lhs_parameter_(), ffeexpr_sym_rhs_actualarg_(), ffeexpr_sym_rhs_dimlist_(), ffeexpr_sym_rhs_let_(), ffeintrin_is_actualarg(), ffest_seen_first_exec(), ffesymbol_attrs, FFESYMBOL_attrsANY, FFESYMBOL_attrsEXTERNAL, FFESYMBOL_attrsTYPE, ffesymbol_declare_local(), ffesymbol_error(), ffesymbol_kind, ffesymbol_sfdummyparent, ffesymbol_specific, ffesymbol_state, FFESYMBOL_stateNONE, FFESYMBOL_stateSEEN, FFESYMBOL_stateUNCERTAIN, FFESYMBOL_stateUNDERSTOOD, ffesymbol_where, _ffeexpr_stack_::is_rhs, NULL, s, seen, and TRUE.

Referenced by ffeexpr_token_first_lhs_1_(), ffeexpr_token_name_lhs_(), and ffeexpr_token_name_rhs_().

static void ffeexpr_expr_kill_ ( ffeexprExpr_  e  )  [static]

static ffeexprExpr_ ffeexpr_expr_new_ ( void   )  [static]

static void ffeexpr_exprstack_push_ ( ffeexprExpr_  e  )  [static]

static void ffeexpr_exprstack_push_binary_ ( ffeexprExpr_  e  )  [static]

static void ffeexpr_exprstack_push_operand_ ( ffeexprExpr_  e  )  [static]

static void ffeexpr_exprstack_push_unary_ ( ffeexprExpr_  e  )  [static]

static ffelexHandler ffeexpr_find_close_paren_ ( ffelexToken  t,
ffelexHandler  after 
) [static]

static ffelexHandler ffeexpr_finished_ ( ffelexToken  t  )  [static]

Definition at line 12090 of file expr.c.

References assert, bool, _ffeexpr_stack_::callback, callback(), _ffeexpr_stack_::context, error(), _ffeexpr_stack_::exprstack, FALSE, ffe_is_pedantic, ffe_is_ugly_args, ffe_is_ugly_logint, ffe_is_warn_surprising, ffe_pool_program_unit, ffebad_finish(), ffebad_here(), ffebad_start, ffebad_string(), ffebld_constant_is_magical(), ffebld_conter, ffebld_conter_orig, ffebld_info, ffebld_new_any, ffebld_op, ffebld_pool_pop(), ffebld_set_info, ffebld_symter, ffecom_label_kind, FFEEXPR_contextACTUALARG_, FFEEXPR_contextACTUALARGEXPR_, FFEEXPR_contextAGOTO, FFEEXPR_contextARITHIF, FFEEXPR_contextASSIGN, FFEEXPR_contextCASE, FFEEXPR_contextCGOTO, FFEEXPR_contextCHARACTERSIZE, FFEEXPR_contextDATA, FFEEXPR_contextDATAIMPDOCTRL_, FFEEXPR_contextDATAIMPDOINDEX_, FFEEXPR_contextDATAIMPDOITEM_, FFEEXPR_contextDIMLIST, FFEEXPR_contextDIMLISTCOMMON, FFEEXPR_contextDO, FFEEXPR_contextDOWHILE, FFEEXPR_contextEQUIVALENCE, FFEEXPR_contextEQVINDEX_, FFEEXPR_contextFILEASSOC, FFEEXPR_contextFILECHAR, FFEEXPR_contextFILEDFCHAR, FFEEXPR_contextFILEDFINT, FFEEXPR_contextFILEFORMAT, FFEEXPR_contextFILEINT, FFEEXPR_contextFILELOG, FFEEXPR_contextFILENUM, FFEEXPR_contextFILENUMCHAR, FFEEXPR_contextFILEUNIT, FFEEXPR_contextFILEVXTCODE, FFEEXPR_contextFORMAT, FFEEXPR_contextIF, FFEEXPR_contextIMPDOCTRL_, FFEEXPR_contextIMPDOITEM_, FFEEXPR_contextIMPDOITEMDF_, FFEEXPR_contextINCLUDE, FFEEXPR_contextINDEX_, FFEEXPR_contextINDEXORACTUALARG_, FFEEXPR_contextINDEXORACTUALARGEXPR_, FFEEXPR_contextINITVAL, FFEEXPR_contextIOLIST, FFEEXPR_contextIOLISTDF, FFEEXPR_contextKINDTYPE, FFEEXPR_contextLET, FFEEXPR_contextLOC_, FFEEXPR_contextPARAMETER, FFEEXPR_contextPAREN_, FFEEXPR_contextPARENFILENUM_, FFEEXPR_contextPARENFILEUNIT_, FFEEXPR_contextRETURN, FFEEXPR_contextSELECTCASE, FFEEXPR_contextSFUNCDEF, FFEEXPR_contextSFUNCDEFACTUALARG_, FFEEXPR_contextSFUNCDEFACTUALARGEXPR_, FFEEXPR_contextSFUNCDEFINDEX_, FFEEXPR_contextSFUNCDEFINDEXORACTUALARG_, FFEEXPR_contextSFUNCDEFINDEXORACTUALARGEXPR_, FFEEXPR_contextSTOP, ffeexpr_convert(), ffeexpr_expr_kill_(), FFEEXPR_exprtypeOPERAND_, ffeexpr_reduce_(), ffeinfo_basictype, ffeinfo_kind, ffeinfo_kindtype, FFEINFO_kindtypeCHARACTERDEFAULT, FFEINFO_kindtypeINTEGERDEFAULT, FFEINFO_kindtypeLOGICALDEFAULT, ffeinfo_new_any, ffeinfo_rank, ffeinfo_where, ffelex_token_kill(), ffelex_token_text, ffelex_token_type, ffelex_token_where_column, ffelex_token_where_line, FFELEX_typeCOLON, FFELEX_typeCOMMA, FFELEX_typeEQUALS, ffest_ffebad_start(), ffesymbol_arraysize, ffesymbol_explicitwhere, ffesymbol_kind, ffesymbol_set_explicitwhere, ffesymbol_signal_change(), ffesymbol_signal_unreported, ffesymbol_text, ffesymbol_where, FFETARGET_charactersizeNONE, ffetarget_integer_bad_magical(), _ffeexpr_stack_::first_token, if(), info, _ffeexpr_stack_::is_rhs, malloc_kill_ks, next, NULL, _ffeexpr_expr_::operand, _ffeexpr_expr_::previous, _ffeexpr_stack_::previous, s, _ffeexpr_expr_::token, TRUE, _ffeexpr_expr_::type, _ffeexpr_expr_::u, and where.

Referenced by ffeexpr_token_binary_(), ffeexpr_token_lhs_(), ffeexpr_token_name_lhs_(), and ffeexpr_token_rhs_().

static ffebld ffeexpr_finished_ambig_ ( ffelexToken  t,
ffebld  expr 
) [static]

static void ffeexpr_fulfill_call_ ( ffebld expr,
ffelexToken  t 
) [static]

void ffeexpr_init_2 ( void   ) 

Definition at line 7206 of file expr.c.

References ffeexpr_level_, and NULL.

Referenced by ffe_init_2().

static bool ffeexpr_isdigits_ ( const char *  p  )  [static]

ffelexHandler ffeexpr_lhs ( mallocPool  pool,
ffeexprContext  context,
ffeexprCallback  callback 
)

static void ffeexpr_make_float_const_ ( char  exp_letter,
ffelexToken  integer,
ffelexToken  decimal,
ffelexToken  fraction,
ffelexToken  exponent,
ffelexToken  exponent_sign,
ffelexToken  exponent_digits 
) [static]

static ffelexHandler ffeexpr_nil_apos_char_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_nil_apostrophe_ ( ffelexToken  t  )  [static]

Definition at line 11963 of file expr.c.

References assert, ffeexpr_nil_apos_char_(), ffelex_token_type, and FFELEX_typeCHARACTER.

Referenced by ffeexpr_nil_rhs_().

static ffelexHandler ffeexpr_nil_binary_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_nil_binary_end_per_ ( ffelexToken  t  )  [static]

Definition at line 11939 of file expr.c.

References ffeexpr_nil_rhs_(), ffelex_token_type, and FFELEX_typePERIOD.

Referenced by ffeexpr_nil_binary_period_().

static ffelexHandler ffeexpr_nil_binary_period_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_nil_binary_sw_per_ ( ffelexToken  t  )  [static]

Definition at line 11947 of file expr.c.

References ffeexpr_nil_binary_(), ffelex_token_type, and FFELEX_typePERIOD.

Referenced by ffeexpr_nil_binary_period_().

static ffelexHandler ffeexpr_nil_end_period_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_nil_finished_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_nil_name_apos_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_nil_name_apos_name_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_nil_name_rhs_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_nil_num_per_exp_sign_ ( ffelexToken  t  )  [static]

Definition at line 11862 of file expr.c.

References ffeexpr_nil_binary_(), ffelex_token_type, and FFELEX_typeNUMBER.

Referenced by ffeexpr_nil_number_per_exp_().

static ffelexHandler ffeexpr_nil_num_real_exp_sn_ ( ffelexToken  t  )  [static]

Definition at line 11879 of file expr.c.

References ffeexpr_nil_binary_(), ffelex_token_type, and FFELEX_typeNUMBER.

Referenced by ffeexpr_nil_number_real_exp_().

static ffelexHandler ffeexpr_nil_number_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_nil_number_exp_sign_ ( ffelexToken  t  )  [static]

Definition at line 11772 of file expr.c.

References ffeexpr_nil_binary_(), ffelex_token_type, and FFELEX_typeNUMBER.

Referenced by ffeexpr_nil_number_exponent_().

static ffelexHandler ffeexpr_nil_number_exponent_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_nil_number_per_exp_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_nil_number_period_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_nil_number_real_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_nil_number_real_exp_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_nil_percent_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_nil_percent_name_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_nil_period_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_nil_quote_ ( ffelexToken  t  )  [static]

Definition at line 11955 of file expr.c.

References ffeexpr_nil_binary_(), ffeexpr_nil_rhs_(), ffelex_token_type, and FFELEX_typeNUMBER.

Referenced by ffeexpr_nil_rhs_().

static ffelexHandler ffeexpr_nil_real_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_nil_real_exp_sign_ ( ffelexToken  t  )  [static]

Definition at line 11701 of file expr.c.

References ffeexpr_nil_binary_(), ffelex_token_type, and FFELEX_typeNUMBER.

Referenced by ffeexpr_nil_real_exponent_().

static ffelexHandler ffeexpr_nil_real_exponent_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_nil_rhs_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_nil_substrp_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_nil_swallow_period_ ( ffelexToken  t  )  [static]

Definition at line 11663 of file expr.c.

References ffeexpr_nil_rhs_(), ffelex_token_type, and FFELEX_typePERIOD.

Referenced by ffeexpr_nil_period_().

static ffesymbol ffeexpr_paren_rhs_let_ ( ffesymbol  s,
ffelexToken  t 
) [static]

static ffeexprPercent_ ffeexpr_percent_ ( ffelexToken  t  )  [static]

static void ffeexpr_reduce_ ( void   )  [static]

Definition at line 9702 of file expr.c.

References assert, _ffeexpr_stack_::exprstack, FALSE, ffe_is_ugly_logint, ffebld_constant_is_magical(), ffebld_conter, ffebld_conter_orig, ffebld_new_add, ffebld_new_and, ffebld_new_concatenate, ffebld_new_divide, ffebld_new_eq, ffebld_new_eqv, ffebld_new_ge, ffebld_new_gt, ffebld_new_le, ffebld_new_lt, ffebld_new_multiply, ffebld_new_ne, ffebld_new_neqv, ffebld_new_not, ffebld_new_or, ffebld_new_power, ffebld_new_subtract, ffebld_new_uminus, ffebld_new_uplus, ffebld_new_xor, ffebld_op, ffeexpr_collapse_add(), ffeexpr_collapse_and(), ffeexpr_collapse_concatenate(), ffeexpr_collapse_divide(), ffeexpr_collapse_eq(), ffeexpr_collapse_eqv(), ffeexpr_collapse_ge(), ffeexpr_collapse_gt(), ffeexpr_collapse_le(), ffeexpr_collapse_lt(), ffeexpr_collapse_multiply(), ffeexpr_collapse_ne(), ffeexpr_collapse_neqv(), ffeexpr_collapse_not(), ffeexpr_collapse_or(), ffeexpr_collapse_power(), ffeexpr_collapse_subtract(), ffeexpr_collapse_uminus(), ffeexpr_collapse_uplus(), ffeexpr_collapse_xor(), ffeexpr_expr_kill_(), ffeexpr_exprstack_push_operand_(), FFEEXPR_exprtypeBINARY_, FFEEXPR_exprtypeOPERAND_, FFEEXPR_exprtypeUNARY_, FFEEXPR_operatorADD_, FFEEXPR_operatorAND_, FFEEXPR_operatorCONCATENATE_, FFEEXPR_operatorDIVIDE_, FFEEXPR_operatorEQ_, FFEEXPR_operatorEQV_, FFEEXPR_operatorGE_, FFEEXPR_operatorGT_, FFEEXPR_operatorLE_, FFEEXPR_operatorLT_, FFEEXPR_operatorMULTIPLY_, FFEEXPR_operatorNE_, FFEEXPR_operatorNEQV_, FFEEXPR_operatorNOT_, FFEEXPR_operatorOR_, FFEEXPR_operatorPOWER_, FFEEXPR_operatorSUBTRACT_, FFEEXPR_operatorXOR_, ffeexpr_reduced_bool1_(), ffeexpr_reduced_bool2_(), ffeexpr_reduced_concatenate_(), ffeexpr_reduced_eqop2_(), ffeexpr_reduced_math1_(), ffeexpr_reduced_math2_(), ffeexpr_reduced_power_(), ffeexpr_reduced_relop2_(), ffeexpr_reduced_ugly1_(), ffeexpr_reduced_ugly1log_(), ffeexpr_reduced_ugly2_(), ffeexpr_reduced_ugly2log_(), ffetarget_integer_bad_magical(), ffetarget_integer_bad_magical_binary(), ffetarget_integer_bad_magical_precedence(), ffetarget_integer_bad_magical_precedence_binary(), NULL, _ffeexpr_expr_::operand, _ffeexpr_expr_::operator, _ffeexpr_expr_::previous, _ffeexpr_expr_::token, TRUE, _ffeexpr_expr_::type, and _ffeexpr_expr_::u.

Referenced by ffeexpr_exprstack_push_binary_(), ffeexpr_exprstack_push_operand_(), and ffeexpr_finished_().

static ffebld ffeexpr_reduced_bool1_ ( ffebld  reduced,
ffeexprExpr_  op,
ffeexprExpr_  r 
) [static]

static ffebld ffeexpr_reduced_bool2_ ( ffebld  reduced,
ffeexprExpr_  l,
ffeexprExpr_  op,
ffeexprExpr_  r 
) [static]

static ffebld ffeexpr_reduced_concatenate_ ( ffebld  reduced,
ffeexprExpr_  l,
ffeexprExpr_  op,
ffeexprExpr_  r 
) [static]

static ffebld ffeexpr_reduced_eqop2_ ( ffebld  reduced,
ffeexprExpr_  l,
ffeexprExpr_  op,
ffeexprExpr_  r 
) [static]

static ffebld ffeexpr_reduced_math1_ ( ffebld  reduced,
ffeexprExpr_  op,
ffeexprExpr_  r 
) [static]

static ffebld ffeexpr_reduced_math2_ ( ffebld  reduced,
ffeexprExpr_  l,
ffeexprExpr_  op,
ffeexprExpr_  r 
) [static]

static ffebld ffeexpr_reduced_power_ ( ffebld  reduced,
ffeexprExpr_  l,
ffeexprExpr_  op,
ffeexprExpr_  r 
) [static]

static ffebld ffeexpr_reduced_relop2_ ( ffebld  reduced,
ffeexprExpr_  l,
ffeexprExpr_  op,
ffeexprExpr_  r 
) [static]

static ffebld ffeexpr_reduced_ugly1_ ( ffebld  reduced,
ffeexprExpr_  op,
ffeexprExpr_  r 
) [static]

static ffebld ffeexpr_reduced_ugly1log_ ( ffebld  reduced,
ffeexprExpr_  op,
ffeexprExpr_  r 
) [static]

static ffebld ffeexpr_reduced_ugly2_ ( ffebld  reduced,
ffeexprExpr_  l,
ffeexprExpr_  op,
ffeexprExpr_  r 
) [static]

static ffebld ffeexpr_reduced_ugly2log_ ( ffebld  reduced,
ffeexprExpr_  l,
ffeexprExpr_  op,
ffeexprExpr_  r 
) [static]

ffelexHandler ffeexpr_rhs ( mallocPool  pool,
ffeexprContext  context,
ffeexprCallback  callback 
)

Definition at line 7259 of file expr.c.

References _ffeexpr_stack_::callback, _ffeexpr_stack_::context, _ffeexpr_stack_::exprstack, ffe_pool_program_unit, ffebld_pool_push(), ffeexpr_token_first_rhs_(), _ffeexpr_stack_::first_token, _ffeexpr_stack_::is_rhs, malloc_new_ks, NULL, _ffeexpr_stack_::pool, _ffeexpr_stack_::previous, s, and TRUE.

Referenced by ffeexpr_cb_close_paren_c_(), ffeexpr_cb_close_paren_ci_(), ffeexpr_cb_comma_i_1_(), ffeexpr_cb_comma_i_2_(), ffeexpr_cb_comma_i_3_(), ffeexpr_token_anything_(), ffeexpr_token_arguments_(), ffeexpr_token_elements_(), ffeexpr_token_first_rhs_(), ffeexpr_token_first_rhs_6_(), ffeexpr_token_name_lhs_(), ffeexpr_token_name_rhs_(), ffeexpr_token_percent_name_(), ffeexpr_token_rhs_(), ffeexpr_token_substring_(), ffeexpr_token_substrp_(), ffestb_beru(), ffestb_beru2_(), ffestb_beru3_(), ffestb_beru6_(), ffestb_decl_attrs_1_(), ffestb_decl_ents_10_(), ffestb_decl_ents_3_(), ffestb_decl_ents_5_(), ffestb_decl_ents_7_(), ffestb_decl_ents_9_(), ffestb_decl_entsp_3_(), ffestb_decl_funcname_2_(), ffestb_decl_kindparam_(), ffestb_decl_kindparam_1_(), ffestb_decl_starlen_(), ffestb_decl_typeparams_(), ffestb_decl_typeparams_1_(), ffestb_do(), ffestb_do3_(), ffestb_do6_(), ffestb_do7_(), ffestb_do8_(), ffestb_dowhile(), ffestb_else1_(), ffestb_goto3_(), ffestb_halt(), ffestb_if(), ffestb_let1_(), ffestb_R10012_(), ffestb_R10015_(), ffestb_R10017_(), ffestb_R10019_(), ffestb_R1227(), ffestb_R12291_(), ffestb_R5242_(), ffestb_R5281_(), ffestb_R5282_(), ffestb_R5283_(), ffestb_R5371_(), ffestb_R5475_(), ffestb_R8091_(), ffestb_R810(), ffestb_R8103_(), ffestb_R8104_(), ffestb_R840(), ffestb_R9041_(), ffestb_R9042_(), ffestb_R9045_(), ffestb_R9071_(), ffestb_R9072_(), ffestb_R9075_(), ffestb_R909(), ffestb_R9092_(), ffestb_R9093_(), ffestb_R9095_(), ffestb_R9096_(), ffestb_R9099_(), ffestb_R91012_(), ffestb_R91013_(), ffestb_R91014_(), ffestb_R9101_(), ffestb_R9102_(), ffestb_R9104_(), ffestb_R9105_(), ffestb_R9108_(), ffestb_R911(), ffestb_R9111_(), ffestb_R9112_(), ffestb_R92310_(), ffestb_R92311_(), ffestb_R9231_(), ffestb_R9232_(), ffestb_R9235_(), ffestb_S3P4(), ffestb_subr_dimlist_(), ffestb_subr_dimlist_1_(), ffestb_subr_dimlist_2_(), ffestb_V020(), ffestb_V0201_(), ffestb_V0202_(), and ffestb_V0271_().

static ffesymbol ffeexpr_sym_impdoitem_ ( ffesymbol  s,
ffelexToken  t 
) [static]

static ffesymbol ffeexpr_sym_lhs_call_ ( ffesymbol  s,
ffelexToken  t 
) [static]

static ffesymbol ffeexpr_sym_lhs_data_ ( ffesymbol  s,
ffelexToken  t 
) [static]

static ffesymbol ffeexpr_sym_lhs_equivalence_ ( ffesymbol  s,
ffelexToken  t 
) [static]

static ffesymbol ffeexpr_sym_lhs_extfunc_ ( ffesymbol  s,
ffelexToken  t 
) [static]

static ffesymbol ffeexpr_sym_lhs_impdoctrl_ ( ffesymbol  s,
ffelexToken  t 
) [static]

static ffesymbol ffeexpr_sym_lhs_parameter_ ( ffesymbol  s,
ffelexToken  t 
) [static]

static ffesymbol ffeexpr_sym_rhs_actualarg_ ( ffesymbol  s,
ffelexToken  t 
) [static]

static ffesymbol ffeexpr_sym_rhs_dimlist_ ( ffesymbol  s,
ffelexToken  t 
) [static]

static ffesymbol ffeexpr_sym_rhs_let_ ( ffesymbol  s,
ffelexToken  t 
) [static]

void ffeexpr_terminate_2 ( void   ) 

Definition at line 19426 of file expr.c.

References assert, ffeexpr_level_, and NULL.

Referenced by ffe_terminate_2().

static ffelexHandler ffeexpr_token_anything_ ( ffelexToken ft  UNUSED,
ffebld expr  UNUSED,
ffelexToken  t 
) [static]

static ffelexHandler ffeexpr_token_apos_char_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_apostrophe_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_arguments_ ( ffelexToken  ft,
ffebld  expr,
ffelexToken  t 
) [static]

Definition at line 18296 of file expr.c.

References assert, _ffeexpr_stack_::bottom, _ffeexpr_stack_::context, _ffeexpr_stack_::expr, _ffeexpr_stack_::exprstack, FALSE, ffe_is_90, ffe_is_pedantic, ffe_is_ugly_comma, ffe_is_ugly_complex, ffebad_finish(), ffebad_here(), ffebad_start, ffebad_string(), ffebld_append_item, ffebld_constant_new_integerdefault_val, ffebld_end_list, ffebld_head, ffebld_info, ffebld_left, ffebld_new_any, ffebld_new_conter, ffebld_new_funcref, ffebld_new_subrref, ffebld_op, ffebld_set_info, ffebld_symter, ffebld_symter_generic, ffebld_symter_implementation, ffebld_symter_specific, ffebld_trail, ffebldListLength_f, ffeexpr_collapse_funcref(), FFEEXPR_context, ffeexpr_context_outer_(), FFEEXPR_contextACTUALARG_, FFEEXPR_contextLET, FFEEXPR_contextSFUNCDEF, FFEEXPR_contextSFUNCDEFACTUALARG_, FFEEXPR_contextSFUNCDEFACTUALARGEXPR_, FFEEXPR_contextSFUNCDEFINDEX_, FFEEXPR_contextSFUNCDEFINDEXORACTUALARG_, FFEEXPR_contextSFUNCDEFINDEXORACTUALARGEXPR_, FFEEXPR_contextSUBROUTINEREF, ffeexpr_convert_expr(), ffeexpr_exprstack_push_operand_(), FFEEXPR_exprtypeOPERAND_, ffeexpr_find_close_paren_(), ffeexpr_fulfill_call_(), ffeexpr_is_substr_ok_, ffeexpr_rhs(), ffeexpr_token_intrincheck_(), ffeexpr_token_substrp_(), ffeinfo_basictype, ffeinfo_kindtype, ffeinfo_new(), ffeinfo_new_any, ffeinfo_rank, ffeinfo_size, ffeinfo_where, ffeintrin_fulfill_generic(), ffeintrin_fulfill_specific(), ffeintrin_name_implementation(), ffelex_token_kill(), ffelex_token_type, ffelex_token_use(), ffelex_token_where_column, ffelex_token_where_line, FFELEX_typeCLOSE_PAREN, FFELEX_typeCOMMA, ffest_ffebad_start(), ffesymbol_sfdummyparent, ffesymbol_text, info, _ffeexpr_stack_::next_dummy, NULL, _ffeexpr_stack_::num_args, _ffeexpr_expr_::operand, _ffeexpr_stack_::pool, _ffeexpr_expr_::previous, _ffeexpr_stack_::previous, sprintf(), _ffeexpr_expr_::token, _ffeexpr_stack_::tokens, _ffeexpr_expr_::type, and _ffeexpr_expr_::u.

Referenced by ffeexpr_token_funsubstr_(), ffeexpr_token_name_lhs_(), and ffeexpr_token_name_rhs_().

static ffelexHandler ffeexpr_token_binary_ ( ffelexToken  t  )  [static]

Definition at line 14333 of file expr.c.

References _ffeexpr_stack_::context, ffebad_finish(), ffebad_here(), ffebad_start, FFEEXPR_contextDATA, FFEEXPR_contextFORMAT, ffeexpr_expr_new_(), ffeexpr_exprstack_push_binary_(), FFEEXPR_exprtypeBINARY_, ffeexpr_finished_(), FFEEXPR_operatorADD_, FFEEXPR_operatorassociativityADD_, FFEEXPR_operatorassociativityCONCATENATE_, FFEEXPR_operatorassociativityDIVIDE_, FFEEXPR_operatorassociativityEQ_, FFEEXPR_operatorassociativityGE_, FFEEXPR_operatorassociativityGT_, FFEEXPR_operatorassociativityLE_, FFEEXPR_operatorassociativityLT_, FFEEXPR_operatorassociativityMULTIPLY_, FFEEXPR_operatorassociativityNE_, FFEEXPR_operatorassociativityPOWER_, FFEEXPR_operatorassociativitySUBTRACT_, FFEEXPR_operatorCONCATENATE_, FFEEXPR_operatorDIVIDE_, FFEEXPR_operatorEQ_, FFEEXPR_operatorGE_, FFEEXPR_operatorGT_, FFEEXPR_operatorLE_, FFEEXPR_operatorLT_, FFEEXPR_operatorMULTIPLY_, FFEEXPR_operatorNE_, FFEEXPR_operatorPOWER_, FFEEXPR_operatorprecedenceADD_, FFEEXPR_operatorprecedenceCONCATENATE_, FFEEXPR_operatorprecedenceDIVIDE_, FFEEXPR_operatorprecedenceEQ_, FFEEXPR_operatorprecedenceGE_, FFEEXPR_operatorprecedenceGT_, FFEEXPR_operatorprecedenceLE_, FFEEXPR_operatorprecedenceLT_, FFEEXPR_operatorprecedenceMULTIPLY_, FFEEXPR_operatorprecedenceNE_, FFEEXPR_operatorprecedencePOWER_, FFEEXPR_operatorprecedenceSUBTRACT_, FFEEXPR_operatorSUBTRACT_, ffeexpr_token_binary_period_(), ffeexpr_token_rhs_(), ffelex_token_type, ffelex_token_use(), ffelex_token_where_column, ffelex_token_where_line, FFELEX_typeASTERISK, FFELEX_typeCLOSE_ANGLE, FFELEX_typeCLOSE_PAREN, FFELEX_typeCOLON, FFELEX_typeCOMMA, FFELEX_typeCONCAT, FFELEX_typeEOS, FFELEX_typeEQUALS, FFELEX_typeMINUS, FFELEX_typeNAME, FFELEX_typeNAMES, FFELEX_typeOPEN_ANGLE, FFELEX_typeOPEN_PAREN, FFELEX_typePERIOD, FFELEX_typePLUS, FFELEX_typePOINTS, FFELEX_typePOWER, FFELEX_typeREL_EQ, FFELEX_typeREL_GE, FFELEX_typeREL_LE, FFELEX_typeREL_NE, FFELEX_typeSEMICOLON, FFELEX_typeSLASH, _ffeexpr_stack_::is_rhs, _ffeexpr_expr_::operator, _ffeexpr_expr_::token, _ffeexpr_expr_::type, and _ffeexpr_expr_::u.

Referenced by ffeexpr_cb_close_paren_(), ffeexpr_cb_comma_c_(), ffeexpr_cb_end_loc_(), ffeexpr_cb_end_notloc_1_(), ffeexpr_token_apos_char_(), ffeexpr_token_binary_period_(), ffeexpr_token_binary_sw_per_(), ffeexpr_token_end_period_(), ffeexpr_token_name_apos_(), ffeexpr_token_name_apos_name_(), ffeexpr_token_name_rhs_(), ffeexpr_token_num_per_exp_sign_(), ffeexpr_token_num_real_exp_sn_(), ffeexpr_token_number_(), ffeexpr_token_number_exp_sign_(), ffeexpr_token_number_exponent_(), ffeexpr_token_number_per_exp_(), ffeexpr_token_number_period_(), ffeexpr_token_number_real_(), ffeexpr_token_number_real_exp_(), ffeexpr_token_quote_(), ffeexpr_token_real_(), ffeexpr_token_real_exp_sign_(), ffeexpr_token_real_exponent_(), and ffeexpr_token_substrp_().

static ffelexHandler ffeexpr_token_binary_end_per_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_binary_period_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_binary_sw_per_ ( ffelexToken  t  )  [static]

Definition at line 14747 of file expr.c.

References ffeexpr_token_binary_(), ffelex_token_type, and FFELEX_typePERIOD.

Referenced by ffeexpr_token_binary_period_().

static ffelexHandler ffeexpr_token_elements_ ( ffelexToken  ft,
ffebld  expr,
ffelexToken  t 
) [static]

Definition at line 18580 of file expr.c.

References assert, _ffeexpr_stack_::bottom, _ffeexpr_stack_::bound_list, _ffeexpr_stack_::constant, _ffeexpr_stack_::context, _ffeexpr_stack_::expr, _ffeexpr_stack_::exprstack, FALSE, ffebad_finish(), ffebad_here(), ffebad_start, ffebad_string(), ffebld_append_item, ffebld_constant_integerdefault, ffebld_constant_new_integerdefault_val, ffebld_conter, ffebld_end_list, ffebld_head, ffebld_info, ffebld_kindtype, ffebld_left, ffebld_new_any, ffebld_new_arrayref, ffebld_new_conter, ffebld_op, ffebld_right, ffebld_set_info, ffebld_trail, ffeexpr_collapse_arrayref(), ffeexpr_context_outer_(), FFEEXPR_contextDATAIMPDOINDEX_, FFEEXPR_contextDATAIMPDOITEM_, FFEEXPR_contextEQUIVALENCE, FFEEXPR_contextEQVINDEX_, FFEEXPR_contextINDEX_, FFEEXPR_contextSFUNCDEF, FFEEXPR_contextSFUNCDEFACTUALARG_, FFEEXPR_contextSFUNCDEFINDEX_, FFEEXPR_contextSFUNCDEFINDEXORACTUALARG_, ffeexpr_exprstack_push_operand_(), ffeexpr_find_close_paren_(), ffeexpr_is_substr_ok_, ffeexpr_rhs(), ffeexpr_token_substrp_(), ffeinfo_basictype, ffeinfo_kindtype, FFEINFO_kindtypeINTEGERDEFAULT, ffeinfo_new(), ffeinfo_new_any, ffeinfo_rank, ffeinfo_size, ffeinfo_where, ffelex_token_kill(), ffelex_token_type, ffelex_token_use(), ffelex_token_where_column, ffelex_token_where_line, FFELEX_typeCLOSE_PAREN, FFELEX_typeCOMMA, ffest_ffebad_start(), FFETARGET_charactersizeNONE, _ffeexpr_stack_::immediate, info, NULL, _ffeexpr_expr_::operand, _ffeexpr_stack_::pool, _ffeexpr_expr_::previous, _ffeexpr_stack_::rank, sprintf(), _ffeexpr_stack_::tokens, TRUE, _ffeexpr_expr_::u, val, and where.

Referenced by ffeexpr_token_equivalence_(), ffeexpr_token_name_lhs_(), and ffeexpr_token_name_rhs_().

static ffelexHandler ffeexpr_token_end_period_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_equivalence_ ( ffelexToken  ft,
ffebld  expr,
ffelexToken  t 
) [static]

static ffelexHandler ffeexpr_token_first_lhs_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_first_lhs_1_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_first_rhs_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_first_rhs_1_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_first_rhs_2_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_first_rhs_3_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_first_rhs_4_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_first_rhs_5_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_first_rhs_6_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_funsubstr_ ( ffelexToken  ft,
ffebld  expr,
ffelexToken  t 
) [static]

static ffelexHandler ffeexpr_token_intrincheck_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_lhs_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_name_apos_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_name_apos_name_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_name_arg_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_name_lhs_ ( ffelexToken  t  )  [static]

Definition at line 14937 of file expr.c.

References assert, _ffeexpr_stack_::bottom, _ffeexpr_stack_::bound_list, _ffeexpr_stack_::constant, _ffeexpr_stack_::context, _ffeexpr_stack_::expr, FALSE, ffebad_finish(), ffebad_here(), ffebad_start, ffebad_string(), ffebld_init_list, ffebld_new_any, ffebld_new_subrref, ffebld_new_symter(), ffebld_op, ffebld_set_info, ffeexpr_collapse_symter(), FFEEXPR_contextACTUALARG_, FFEEXPR_contextAGOTO, FFEEXPR_contextASSIGN, FFEEXPR_contextDATAIMPDOCTRL_, FFEEXPR_contextDATAIMPDOINDEX_, FFEEXPR_contextDATAIMPDOITEM_, FFEEXPR_contextEQUIVALENCE, FFEEXPR_contextEQVINDEX_, FFEEXPR_contextFILEUNIT_DF, FFEEXPR_contextIMPDOCTRL_, FFEEXPR_contextIMPDOITEM_, FFEEXPR_contextIMPDOITEMDF_, FFEEXPR_contextINDEX_, FFEEXPR_contextPARAMETER, FFEEXPR_contextSUBROUTINEREF, ffeexpr_declare_parenthesized_(), ffeexpr_declare_unadorned_(), ffeexpr_expr_new_(), ffeexpr_exprstack_push_(), ffeexpr_exprstack_push_operand_(), FFEEXPR_exprtypeOPERAND_, ffeexpr_finished_(), ffeexpr_fulfill_call_(), FFEEXPR_parentypeANY_, FFEEXPR_parentypeARRAY_, FFEEXPR_parentypeEQUIVALENCE_, FFEEXPR_parentypeFUNCTION_, FFEEXPR_parentypeFUNSUBSTR_, FFEEXPR_parentypeSUBROUTINE_, FFEEXPR_parentypeSUBSTRING_, ffeexpr_rhs(), ffeexpr_token_anything_(), ffeexpr_token_arguments_(), ffeexpr_token_elements_(), ffeexpr_token_equivalence_(), ffeexpr_token_substring_(), ffeinfo_basictype, ffeinfo_kindtype, ffeinfo_new(), ffeinfo_new_any, ffeinfo_size, ffeintrin_fulfill_generic(), ffeintrin_fulfill_specific(), ffelex_token_type, ffelex_token_use(), ffelex_token_where_column, ffelex_token_where_line, FFELEX_typeEQUALS, FFELEX_typeOPEN_PAREN, FFELEX_typePERCENT, FFELEX_typePERIOD, ffest_ffebad_here_doiter(), ffesymbol_attrs, FFESYMBOL_attrsANY, ffesymbol_dims, ffesymbol_error(), ffesymbol_generic, ffesymbol_implementation, ffesymbol_info, ffesymbol_is_doiter, ffesymbol_kind, ffesymbol_specific, ffesymbol_text, ffesymbol_where, _ffeexpr_stack_::immediate, info, NULL, _ffeexpr_expr_::operand, _ffeexpr_stack_::pool, _ffeexpr_stack_::rank, s, _ffeexpr_expr_::token, _ffeexpr_stack_::tokens, TRUE, _ffeexpr_expr_::type, and _ffeexpr_expr_::u.

Referenced by ffeexpr_token_lhs_().

static ffelexHandler ffeexpr_token_name_rhs_ ( ffelexToken  t  )  [static]

Definition at line 15288 of file expr.c.

References assert, _ffeexpr_stack_::bottom, _ffeexpr_stack_::bound_list, _ffeexpr_stack_::constant, _ffeexpr_stack_::context, _ffeexpr_stack_::expr, FALSE, ffe_is_pedantic_not_90, ffebld_init_list, ffebld_list_length(), ffebld_new_any, ffebld_new_symter(), ffebld_set_info, ffebld_symter, ffebld_symter_set_is_doiter, ffeexpr_collapse_symter(), ffeexpr_context_outer_(), FFEEXPR_contextACTUALARG_, FFEEXPR_contextIMPDOCTRL_, FFEEXPR_contextIMPDOITEM_, FFEEXPR_contextIMPDOITEMDF_, FFEEXPR_contextINDEX_, FFEEXPR_contextINDEXORACTUALARG_, FFEEXPR_contextLET, FFEEXPR_contextSFUNCDEF, FFEEXPR_contextSFUNCDEFACTUALARG_, FFEEXPR_contextSFUNCDEFACTUALARGEXPR_, FFEEXPR_contextSFUNCDEFINDEX_, FFEEXPR_contextSFUNCDEFINDEXORACTUALARG_, FFEEXPR_contextSFUNCDEFINDEXORACTUALARGEXPR_, ffeexpr_declare_parenthesized_(), ffeexpr_declare_unadorned_(), ffeexpr_expr_new_(), ffeexpr_exprstack_push_(), ffeexpr_exprstack_push_operand_(), FFEEXPR_exprtypeOPERAND_, FFEEXPR_parentypeANY_, FFEEXPR_parentypeARRAY_, FFEEXPR_parentypeFUNCTION_, FFEEXPR_parentypeFUNSUBSTR_, FFEEXPR_parentypeSUBSTRING_, ffeexpr_rhs(), ffeexpr_token_anything_(), ffeexpr_token_arguments_(), ffeexpr_token_binary_(), ffeexpr_token_elements_(), ffeexpr_token_funsubstr_(), ffeexpr_token_name_apos_(), ffeexpr_token_substring_(), ffeinfo_new(), ffeinfo_new_any, ffeinfo_use, ffeintrin_basictype(), ffeintrin_kindtype(), ffelex_set_hexnum(), ffelex_token_type, ffelex_token_use(), FFELEX_typeAPOSTROPHE, FFELEX_typeEQUALS, FFELEX_typeOPEN_PAREN, FFELEX_typePERCENT, FFELEX_typePERIOD, FFELEX_typeQUOTE, ffesymbol_attrs, FFESYMBOL_attrsANY, ffesymbol_dims, ffesymbol_dummyargs, ffesymbol_generic, ffesymbol_implementation, ffesymbol_info, ffesymbol_is_doiter, ffesymbol_kind, ffesymbol_specific, ffesymbol_where, FFETARGET_charactersizeNONE, _ffeexpr_stack_::immediate, _ffeexpr_stack_::is_rhs, _ffeexpr_stack_::next_dummy, not, NULL, _ffeexpr_stack_::num_args, _ffeexpr_expr_::operand, _ffeexpr_stack_::pool, _ffeexpr_stack_::rank, s, _ffeexpr_expr_::token, _ffeexpr_stack_::tokens, TRUE, two, _ffeexpr_expr_::type, and _ffeexpr_expr_::u.

Referenced by ffeexpr_token_name_arg_(), and ffeexpr_token_rhs_().

static ffelexHandler ffeexpr_token_namelist_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_num_per_exp_sign_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_num_real_exp_sn_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_number_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_number_exp_sign_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_number_exponent_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_number_per_exp_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_number_period_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_number_real_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_number_real_exp_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_percent_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_percent_name_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_period_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_quote_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_real_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_real_exp_sign_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_real_exponent_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_rhs_ ( ffelexToken  t  )  [static]

Definition at line 13415 of file expr.c.

References atol(), _ffeexpr_stack_::context, ffe_is_vxt, ffebad_finish(), ffebad_here(), ffeexpr_cb_close_paren_c_(), FFEEXPR_contextACTUALARG_, FFEEXPR_contextINDEXORACTUALARG_, FFEEXPR_contextPAREN_, FFEEXPR_contextSFUNCDEFACTUALARG_, FFEEXPR_contextSFUNCDEFINDEXORACTUALARG_, ffeexpr_expr_new_(), ffeexpr_exprstack_push_unary_(), FFEEXPR_exprtypeUNARY_, ffeexpr_finished_(), ffeexpr_hollerith_count_, FFEEXPR_operatorADD_, FFEEXPR_operatorassociativityADD_, FFEEXPR_operatorassociativitySUBTRACT_, FFEEXPR_operatorprecedenceADD_, FFEEXPR_operatorprecedenceSUBTRACT_, FFEEXPR_operatorSUBTRACT_, ffeexpr_rhs(), ffeexpr_token_apostrophe_(), ffeexpr_token_name_arg_(), ffeexpr_token_name_rhs_(), ffeexpr_token_number_(), ffeexpr_token_percent_(), ffeexpr_token_period_(), ffeexpr_token_quote_(), ffelex_set_expecting_hollerith(), ffelex_token_text, ffelex_token_type, ffelex_token_use(), ffelex_token_where_column, ffelex_token_where_line, FFELEX_typeAPOSTROPHE, FFELEX_typeASTERISK, FFELEX_typeCLOSE_ANGLE, FFELEX_typeCLOSE_PAREN, FFELEX_typeCOLON, FFELEX_typeCOMMA, FFELEX_typeCONCAT, FFELEX_typeEOS, FFELEX_typeEQUALS, FFELEX_typeMINUS, FFELEX_typeNAME, FFELEX_typeNAMES, FFELEX_typeNUMBER, FFELEX_typeOPEN_PAREN, FFELEX_typePERCENT, FFELEX_typePERIOD, FFELEX_typePLUS, FFELEX_typePOINTS, FFELEX_typePOWER, FFELEX_typeQUOTE, FFELEX_typeREL_EQ, FFELEX_typeREL_GE, FFELEX_typeREL_LE, FFELEX_typeREL_NE, FFELEX_typeSEMICOLON, FFELEX_typeSLASH, ffest_ffebad_start(), _ffeexpr_expr_::operator, _ffeexpr_stack_::pool, _ffeexpr_expr_::token, _ffeexpr_stack_::tokens, _ffeexpr_expr_::type, and _ffeexpr_expr_::u.

Referenced by ffeexpr_token_apos_char_(), ffeexpr_token_binary_(), ffeexpr_token_binary_end_per_(), ffeexpr_token_end_period_(), ffeexpr_token_first_rhs_(), ffeexpr_token_first_rhs_2_(), ffeexpr_token_first_rhs_3_(), ffeexpr_token_first_rhs_5_(), ffeexpr_token_first_rhs_6_(), ffeexpr_token_percent_(), ffeexpr_token_percent_name_(), ffeexpr_token_period_(), ffeexpr_token_quote_(), and ffeexpr_token_swallow_period_().

static ffelexHandler ffeexpr_token_substring_ ( ffelexToken  ft,
ffebld  expr,
ffelexToken  t 
) [static]

static ffelexHandler ffeexpr_token_substring_1_ ( ffelexToken  ft,
ffebld  expr,
ffelexToken  t 
) [static]

static ffelexHandler ffeexpr_token_substrp_ ( ffelexToken  t  )  [static]

static ffelexHandler ffeexpr_token_swallow_period_ ( ffelexToken  t  )  [static]

Definition at line 13681 of file expr.c.

References ffeexpr_token_rhs_(), ffelex_token_type, and FFELEX_typePERIOD.

Referenced by ffeexpr_token_period_().

void ffeexpr_type_combine ( ffeinfoBasictype xnbt,
ffeinfoKindtype xnkt,
ffeinfoBasictype  lbt,
ffeinfoKindtype  lkt,
ffeinfoBasictype  rbt,
ffeinfoKindtype  rkt,
ffelexToken  t 
)

static void ffeexpr_update_impdo_ ( ffebld  expr,
ffebld  dovar 
) [static]

Definition at line 8493 of file expr.c.

References ffebld_op, ffebld_symter, and ffeexpr_update_impdo_sym_().

Referenced by ffeexpr_cb_comma_i_1_().

static void ffeexpr_update_impdo_sym_ ( ffebld  expr,
ffesymbol  dovar 
) [static]


Variable Documentation

ffestrOther ffeexpr_current_dotdot_ [static]

int ffeexpr_level_ [static]

Definition at line 224 of file expr.c.

Definition at line 225 of file expr.c.


Generated on Wed Apr 8 15:29:13 2009 for Open64 by  doxygen 1.5.6