coan 4.2.4
#include "evaluator.h"
#include "io.h"
#include "line_edit.h"
#include "chew.h"
#include "args.h"
#include "contradiction.h"
#include "if_control.h"
#include "configured_symbols.h"
#include "unconfigured_symbols.h"
#include "report.h"
#include "includes_tally.h"
#include "line_select.h"
#include "directives_tally.h"
#include "lexicon.h"
Include dependency graph for evaluator.c:

Go to the source code of this file.

Data Structures

struct  evaluator_state_s
struct  operation
struct  co_precedent_ops

Typedefs

typedef evaluator_state_t evaluator_public_state_t
typedef eval_result_tevaluator_t )(struct co_precedent_ops const *ops, char const **, struct operation const **pbin_op)
typedef struct evaluator_state_s evaluator_state_t

Enumerations

enum  evaluator_storage_type { evaluator_storage_type = STATE_STATIC }
enum  evaluator_init_type { evaluator_initialisation_type = ZERO_INITABLE }

Functions

void evaluator_initor (void)
void evaluator_finitor (void)
static eval_result_t integer_binary_op (eval_result_t *lhs, eval_result_t *rhs, integer_bin_op_t op)
static eval_result_t op_lt (eval_result_t *lhs, eval_result_t *rhs)
static eval_result_t op_gt (eval_result_t *lhs, eval_result_t *rhs)
static eval_result_t op_le (eval_result_t *lhs, eval_result_t *rhs)
static eval_result_t op_ge (eval_result_t *lhs, eval_result_t *rhs)
static eval_result_t op_eq (eval_result_t *lhs, eval_result_t *rhs)
static eval_result_t op_ne (eval_result_t *lhs, eval_result_t *rhs)
static eval_result_t op_or (eval_result_t *lhs, eval_result_t *rhs)
static eval_result_t op_and (eval_result_t *lhs, eval_result_t *rhs)
static eval_result_t op_bit_and (eval_result_t *lhs, eval_result_t *rhs)
static eval_result_t op_bit_or (eval_result_t *lhs, eval_result_t *rhs)
static eval_result_t op_bit_xor (eval_result_t *lhs, eval_result_t *rhs)
static eval_result_t op_lshift (eval_result_t *lhs, eval_result_t *rhs)
static eval_result_t op_rshift (eval_result_t *lhs, eval_result_t *rhs)
static eval_result_t op_add (eval_result_t *lhs, eval_result_t *rhs)
static eval_result_t op_subtract (eval_result_t *lhs, eval_result_t *rhs)
static eval_result_t op_mult (eval_result_t *lhs, eval_result_t *rhs)
static eval_result_t op_divide (eval_result_t *lhs, eval_result_t *rhs)
static eval_result_t op_mod (eval_result_t *lhs, eval_result_t *rhs)
static eval_result_t eval_unary (struct co_precedent_ops const *ops, char const **cpp, struct operation const **ignored)
static eval_result_t eval_table (struct co_precedent_ops const *ops, char const **cpp, struct operation const **pbin_op)
static char const * short_circuit_and (char const *cp)
static char const * short_circuit_or (char const *cp)
static int eval_if (char const **cpp)
static line_type_t eval_hash_define (char const **cpp)
static line_type_t eval_hash_undef (char const **cpp)
static eval_result_t eval_possible_symbol (char const **cpp, directive_type_t context)
static line_type_t eval_hash_include (char const **cpp)
static char const * eval_free_form_directive (char const *cp, directive_type_t directive_type)
line_type_t eval_line (void)
eval_result_t eval_definition_text (char const **pdef)

Variables

static evaluator_state_t evaluator_state
evaluator_state_tevaluator_h = & evaluator_state
evaluator_public_state_tevaluator_public_h = ( evaluator_public_state_t *)& evaluator_state
static const evaluator_state_t
*const 
evaluator_static_initialiser_h
void(* evaluator_init_h )(evaluator_state_t *)
void(* evaluator_finis_h )(evaluator_state_t *)
struct co_precedent_ops const * ops_tab = eval_ops
struct co_precedent_ops eval_ops []

Detailed Description

This file implements the Evaluator component

Definition in file evaluator.c.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines