⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parse_string.h

📁 在程序设计部分主要讨论了在读写函数表达式时
💻 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 + -