📄 parse_string.h
字号:
#ifndef PARSE_STRING_H
#define PARSE_STRING_H
#ifdef _cplusplus
extern "C" {
#endif
#include "ERRNO.h"
typedef enum
{
TOKEN_ADD_OPERATOR = 0,
TOKEN_SUB_OPERATOR,
TOKEN_MUL_OPERATOR,
TOKEN_DIV_OPERATOR,
TOKEN_POW_OPERATOR,
TOKEN_L_SML_BRACKER,
TOKEN_R_SML_BRACKER,
ABS,
ACOS,
ASIN,
ATAN,
/*ATAN2,*/
COS,
COSH,
EXP,
FABS,
FLOOR,
/*FMOD,*/
/*FREXP,*/
LOG,
LOG10,
/*MODF,*/
/*POW,*/
RAND,
SIN,
SINH,
SQRT,
TAN,
TANH,
TOKEN_START,
TOKEN_END,
/*TOKEN_FUNCTION,*/
TOKEN_CONSTANT,
TOKEN_VARIABLE
} Token_class;
typedef struct tag_token_type
{
Token_class class_value;
union
{
char *c_token;
double f_token;
} Token;
struct tag_token_type *next;
} Token_type;
typedef struct
{
Token_type *token;
unsigned int opnd_num;
unsigned int optr_num;
double *OPND;
Token_class *OPTR;
} Token_head;
typedef struct tag_var_name_list
{
char *var_name;
double value;
struct tag_var_name_list *next;
} Var_name_list;
extern int initi_fun(char *fun, Var_name_list *var_name, Token_head *head);
extern int fun_value(Token_head *head, Var_name_list *var_name, double *result);
extern void free_token_head(Token_head *head);
#ifdef _cplusplus
}
#endif
#endif /*PARSE_STRING_H*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -