![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
Data Structures | |
union | token_data_t |
struct | token_t |
struct | parser_state_t |
Typedefs | |
typedef enum token_types_t | token_types_t |
typedef enum operators_t | operators_t |
typedef union token_data_t | token_data_t |
typedef struct token_t | token_t |
typedef struct parser_state_t | parser_state_t |
Enumerations | |
enum | token_types_t { T_NUMBER , T_OPERATOR } |
enum | operators_t { O_PLUS , O_INC , O_MINUS , O_DEC , O_MULTIPLY , O_DIVISION , O_MODULO , O_POWER , O_LEFTROUND , O_RIGHTROUND } |
Functions | |
static float | read_number (parser_state_t *self) |
static token_t * | get_token (parser_state_t *self) |
static float | parse_expression (parser_state_t *self) |
static float | parse_additive_expression (parser_state_t *self) |
static float | parse_multiplicative_expression (parser_state_t *self) |
static float | parse_power_expression (parser_state_t *self) |
static float | parse_unary_expression (parser_state_t *self) |
static float | parse_primary_expression (parser_state_t *self) |
float | dt_calculator_solve (const float x, const char *formula) |
typedef enum operators_t operators_t |
typedef struct parser_state_t parser_state_t |
typedef union token_data_t token_data_t |
typedef enum token_types_t token_types_t |
enum operators_t |
enum token_types_t |
float dt_calculator_solve | ( | const float | x, |
const char * | formula | ||
) |
the public interface
References token_t::data, get_token(), O_DEC, O_INC, token_data_t::operator, parser_state_t::p, parse_expression(), T_OPERATOR, parser_state_t::token, token_t::type, and parser_state_t::x.
Referenced by _sanitize_confgen(), dt_bauhaus_popup_key_press(), dt_conf_get_float_fast(), dt_conf_get_int64_fast(), dt_conf_get_int_fast(), dt_confgen_get_float(), dt_confgen_get_int(), and dt_confgen_get_int64().
|
static |
References token_t::data, token_data_t::number, O_DEC, O_DIVISION, O_INC, O_LEFTROUND, O_MINUS, O_MODULO, O_MULTIPLY, O_PLUS, O_POWER, O_RIGHTROUND, token_data_t::operator, parser_state_t::p, read_number(), T_NUMBER, T_OPERATOR, token_t::type, and parser_state_t::x.
Referenced by dt_calculator_solve(), parse_additive_expression(), parse_multiplicative_expression(), parse_power_expression(), parse_primary_expression(), and parse_unary_expression().
|
static |
References token_t::data, get_token(), O_MINUS, O_PLUS, token_data_t::operator, parse_multiplicative_expression(), T_OPERATOR, parser_state_t::token, and token_t::type.
Referenced by parse_expression().
|
static |
the parser
References parse_additive_expression().
Referenced by dt_calculator_solve(), and parse_primary_expression().
|
static |
References token_t::data, get_token(), O_DIVISION, O_MODULO, O_MULTIPLY, token_data_t::operator, parse_power_expression(), T_OPERATOR, parser_state_t::token, and token_t::type.
Referenced by parse_additive_expression().
|
static |
References token_t::data, get_token(), O_POWER, token_data_t::operator, parse_unary_expression(), T_OPERATOR, parser_state_t::token, and token_t::type.
Referenced by parse_multiplicative_expression().
|
static |
References token_t::data, get_token(), token_data_t::number, O_LEFTROUND, O_RIGHTROUND, token_data_t::operator, parse_expression(), T_NUMBER, T_OPERATOR, parser_state_t::token, and token_t::type.
Referenced by parse_unary_expression().
|
static |
References token_t::data, get_token(), O_MINUS, O_PLUS, token_data_t::operator, parse_primary_expression(), parse_unary_expression(), T_OPERATOR, parser_state_t::token, and token_t::type.
Referenced by parse_power_expression(), and parse_unary_expression().
|
static |