Go to the source code of this file.
|
expression_type | get_expression_type (char source) |
| Determines the expression type of a character. More...
|
|
expression_identifier | get_value_identifier (char source) |
| Determines the expression identifier of a character of the type EXPT_VALUE. More...
|
|
expression_identifier | get_operator_identifier (char source) |
| Determines the expression identifier of a character of the type EXPT_OPERATION. More...
|
|
expression_identifier | get_control_identifier (char source) |
| Determines the expression identifier of a character of the type EXPT_CONTROL. More...
|
|
void | append_multiplication_if_necessary (expression *tokens) |
| Appends a multiplication expression if necessary. More...
|
|
uint8_t | tokenize_buffer (expression *tokens, char *buffer) |
|
uint8_t | string_to_literal (expression **result, const char *source) |
|
uint8_t | tokenize_value_expression (expression *tokens, uint8_t *index, const char *source) |
|
void | tokenize_operator_expression (expression *tokens, char source) |
|
void | tokenize_control_expression (expression *tokens, char source) |
|
uint8_t | tokenize (expression *tokens, const char *query) |
|
uint8_t | validate (expression *tokens) |
|
void | merge_expressions_with_operator (expression *output_stack, expression *operator_stack) |
|
void | parse_control_expression (expression *tokens, uint8_t *index, expression *output_stack, expression *operator_stack) |
|
void | parse (expression *tokens) |
|
◆ append_multiplication_if_necessary()
void append_multiplication_if_necessary |
( |
expression * |
tokens | ) |
|
Appends a multiplication expression if necessary.
This function appends a multiplication if
- the token array is not empty
- and the last expression in the token array is either a value or a close parenthesis.
- Parameters
-
[in,out] | tokens | The token array the multiplication should be appended to. |
Definition at line 146 of file parser.c.
◆ get_control_identifier()
Determines the expression identifier of a character of the type EXPT_CONTROL.
- Parameters
-
[in] | source | The character to analyze. |
- Returns
- The expression type or
EXPT_NULL
when an unexpected character was encountered.
Definition at line 118 of file parser.c.
◆ get_expression_type()
Determines the expression type of a character.
It can't distinguish between EXPT_VALUE
and EXPT_FUNCTION
.
- Parameters
-
[in] | source | The character to analyze. |
- Returns
- The expression type or
EXPT_NULL
when an unexpected character was encountered.
Definition at line 42 of file parser.c.
◆ get_operator_identifier()
Determines the expression identifier of a character of the type EXPT_OPERATION.
- Parameters
-
[in] | source | The character to analyze. |
- Returns
- The expression type or
EXPT_NULL
when an unexpected character was encountered.
Definition at line 88 of file parser.c.
◆ get_value_identifier()
Determines the expression identifier of a character of the type EXPT_VALUE.
- Parameters
-
[in] | source | The character to analyze. |
- Returns
- The expression type or
EXPT_NULL
when an unexpected character was encountered.
Definition at line 66 of file parser.c.
◆ merge_expressions_with_operator()
◆ parse()
◆ parse_control_expression()
◆ string_to_literal()
uint8_t string_to_literal |
( |
expression ** |
result, |
|
|
const char * |
source |
|
) |
| |
◆ tokenize()
uint8_t tokenize |
( |
expression * |
tokens, |
|
|
const char * |
query |
|
) |
| |
◆ tokenize_buffer()
uint8_t tokenize_buffer |
( |
expression * |
tokens, |
|
|
char * |
buffer |
|
) |
| |
◆ tokenize_control_expression()
void tokenize_control_expression |
( |
expression * |
tokens, |
|
|
char |
source |
|
) |
| |
◆ tokenize_operator_expression()
void tokenize_operator_expression |
( |
expression * |
tokens, |
|
|
char |
source |
|
) |
| |
◆ tokenize_value_expression()
uint8_t tokenize_value_expression |
( |
expression * |
tokens, |
|
|
uint8_t * |
index, |
|
|
const char * |
source |
|
) |
| |
◆ validate()