📄 ucvm_type.h
字号:
#ifndef UCVM_TYPE_H#define UCVM_TYPE_H/*********************************************************/#include <math.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <stdarg.h>/*********************************************************/#define TYPE_EXPR_ID 1#define TYPE_EXPR_CS 2#define TYPE_EXPR_CC 3#define TYPE_EXPR_CI 4#define TYPE_EXPR_CR 5#define TYPE_EXPR_OP 6/*********************************************************/struct t_CONSTANT_I_node;struct t_CONSTANT_C_node;struct t_CONSTANT_S_node;struct t_CONSTANT_R_node;struct t_IDENTIFIER_node;struct t_OPERATIONS_node;struct t_Tree_Node;/*********************************************************/typedef double Real;typedef struct t_CONSTANT_C_node CONSTANT_C_node;typedef struct t_CONSTANT_I_node CONSTANT_I_node;typedef struct t_CONSTANT_R_node CONSTANT_R_node;typedef struct t_CONSTANT_S_node CONSTANT_S_node;typedef struct t_IDENTIFIER_node IDENTIFIER_node;typedef struct t_OPERATIONS_node OPERATIONS_node;typedef struct t_Tree_Node Node;/*********************************************************/struct t_CONSTANT_C_node{ char c_value;};/*********************************************************/struct t_CONSTANT_I_node{ long i_value;};/*********************************************************/struct t_CONSTANT_R_node{ Real r_value;};/*********************************************************/struct t_CONSTANT_S_node{ char *s_value;};/*********************************************************/struct t_IDENTIFIER_node{ char *s_label;};/*********************************************************/struct t_OPERATIONS_node{ short oper; short op_n; Node *op_s[4];};/*********************************************************/struct t_Tree_Node{ short node_type; union { CONSTANT_I_node ci; CONSTANT_C_node cc; CONSTANT_R_node cr; CONSTANT_S_node cs; IDENTIFIER_node id; OPERATIONS_node op; } node_data;};/*********************************************************/extern FILE *yyin;extern FILE *yyout;extern FILE *asout;extern char *g_label_conti;extern char *g_label_break;extern int yylex (void );extern void yyerror(char *);extern void zzlabel(char *);/*********************************************************/#endif/*UCVM_TYPE_H*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -