analyse.c

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 1,397 行 · 第 1/5 页

C
1,397
字号
                                    ,   OPAC_END
                                    };

static OPAC opac_COLON_AP[]     =   {   CONV_FUN_MP_COLON
                                    ,   CONV_FUN_MP_CHECK
                                    ,   DIAG_FUNC_RIGHT_ONE
                                    ,   CONV_RVALUE_RIGHT
                                    ,   REQD_ZERO_LEFT
                                    ,   RESULT_COLON_RVALUE
                                    ,   CONV_TYPE_RIGHT
                                    ,   RESULT_COLON
                                    ,   RESULT_COND_OPRS
                                    ,   OPAC_END
                                    };

static OPAC opac_COLON_PA[]     =   {   CONV_FUN_MP_COLON
                                    ,   CONV_FUN_MP_CHECK
                                    ,   DIAG_FUNC_LEFT
                                    ,   CONV_RVALUE_LEFT
                                    ,   REQD_ZERO_RIGHT
                                    ,   RESULT_COLON_RVALUE
                                    ,   RESULT_COLON
                                    ,   RESULT_COND_OPRS
                                    ,   OPAC_END
                                    };

static OPAC opac_COLON_OTHER[]  =   {   CONV_FUN_MP_LEFT
                                    ,   CONV_FUN_MP_RIGHT
                                    ,   DIAG_FUNC_LEFT
                                    ,   DIAG_FUNC_RIGHT_ONE
                                    ,   RESULT_COLON_RVALUE
                                    ,   RESULT_COLON_OTHER
                                    ,   RESULT_COLON
                                    ,   RESULT_COND_OPRS
                                    ,   OPAC_END
                                    };

static OPAC opac_UN_ARITH_I[]   =   {   REQD_INT_LEFT
                                    ,   CONV_RVALUE_LEFT
                                    ,   RESULT_UN_ARITH
                                    ,   CONV_MEANINGLESS
                                    ,   OPAC_END
                                    };

static OPAC opac_UN_ARITH[]     =   {   CONV_RVALUE_LEFT
                                    ,   WARN_MINUS_UNSIGNED
                                    ,   RESULT_UN_ARITH
                                    ,   CONV_MEANINGLESS
                                    ,   OPAC_END
                                    };

static OPAC opac_UN_PLUS_PTR[]  =   {   DIAG_FUNC_LEFT
                                    ,   CONV_RVALUE_LEFT
                                    ,   CONV_MEANINGLESS
                                    ,   OPAC_END
                                    };

static OPAC opac_ADDR_OF[]      =   {   REQD_LVALUE_LEFT
                                    ,   RESULT_ADDR_OF
                                    ,   CONV_MEANINGLESS
                                    ,   OPAC_END
                                    };

static OPAC opac_INDIRECT[]     =   {   DIAG_FUNC_LEFT
                                    ,   DREF_PTR_LEFT
                                    ,   CONV_STRIP_TYPE
                                    ,   REQD_NOT_VOID_INDIRECT
                                    ,   CONV_STAR_ADDR_OF
                                    ,   RESULT_INDIRECT
                                    ,   OPAC_END
                                    };

static OPAC opac_LINCDEC_PTR[]  =   {   DIAG_FUNC_LEFT
                                    ,   REQD_PTR_SCALES_LEFT
                                    ,   REQD_NOT_ARRAY_LEFT
                                    ,   REQD_DEFD_CLPTR_LEFT
                                    ,   REQD_LVALUE_LEFT
                                    ,   REQD_NOT_CONST_LEFT
                                    ,   RESULT_INCDEC_PTR
                                    ,   CONV_TYPE_LEFT
                                    ,   RESULT_ASSIGN
                                    ,   OPAC_END
                                    };

static OPAC opac_LINCDEC_ARITH[] =  {   REQD_LVALUE_LEFT
                                    ,   REQD_NOT_ENUM_LEFT
                                    ,   REQD_NOT_CONST_LEFT
                                    ,   RESULT_INCDEC_ARITH
                                    ,   RESULT_ASSIGN
                                    ,   OPAC_END
                                    };

static OPAC opac_INCDEC_PTR[]   =   {   DIAG_FUNC_LEFT
                                    ,   REQD_PTR_SCALES_LEFT
                                    ,   REQD_NOT_ARRAY_LEFT
                                    ,   REQD_DEFD_CLPTR_LEFT
                                    ,   REQD_LVALUE_LEFT
                                    ,   REQD_NOT_CONST_LEFT
                                    ,   RESULT_INCDEC_PTR
                                    ,   RESULT_BARE
                                    ,   OPAC_END
                                    };

static OPAC opac_INCDEC_ARITH[] =   {   REQD_LVALUE_LEFT
                                    ,   REQD_NOT_ENUM_LEFT
                                    ,   REQD_NOT_CONST_LEFT
                                    ,   RESULT_INCDEC_ARITH
                                    ,   RESULT_BARE
                                    ,   OPAC_END
                                    };

static OPAC opac_SW_LV_EXPR[]   =   {   DIAG_FUNC_RIGHT_ONE
                                    ,   REQD_INT_LEFT
                                    ,   REQD_PTR_SCALES_RIGHT
                                    ,   REQD_DEFD_CLPTR_RIGHT
                                    ,   CONV_SWITCH
                                    ,   RELOAD_EXPR_BINARY
                                    ,   CONV_TYPE_LEFT
                                    ,   CONV_BASIC_TYPE
                                    ,   CONV_RVALUE_LEFT
                                    ,   DREF_PTR_RIGHT
                                    ,   RESULT_PTR_SIZE
                                    ,   CONV_MEANINGLESS
                                    ,   OPAC_END
                                    };

static OPAC opac_LVALUE_BEXPR[] =   {   DIAG_FUNC_LEFT
                                    ,   REQD_INT_RIGHT
                                    ,   REQD_PTR_SCALES_LEFT
                                    ,   REQD_DEFD_CLPTR_LEFT
                                    ,   DREF_PTR_LEFT
                                    ,   CONV_RVALUE_RIGHT
                                    ,   RESULT_PTR_SIZE
                                    ,   CONV_MEANINGLESS
                                    ,   OPAC_END
                                    };

static OPAC opac_SHIFT_OP[]     =   {   REQD_INT_LEFT
                                    ,   REQD_INT_RIGHT
                                    ,   CONV_RVALUE_LEFT
                                    ,   CONV_RVALUE_RIGHT
                                    ,   RESULT_BIN_SHIFT
                                    ,   CONV_MEANINGLESS
                                    ,   OPAC_END
                                    };

static OPAC opac_EQUAL_PP[]     =   {   DIAG_FUNC_LEFT
                                    ,   DIAG_FUNC_MANY1
                                    ,   REQD_LVALUE_LEFT
                                    ,   REQD_NOT_FUNC_LEFT
                                    ,   REQD_NOT_CONST_LEFT
                                    ,   REQD_NOT_ARRAY_LEFT
                                    ,   CONV_RVALUE_RIGHT
                                    ,   CONV_PP_ASSIGN
                                    ,   CONV_TYPE_LEFT
                                    ,   RESULT_ASSIGN
                                    ,   OPAC_END
                                    };

static OPAC opac_EQUAL_AP[]     =   {   DIAG_FUNC_MANY1
                                    ,   REQD_BOOL_LHS_ASSIGN
                                    ,   REQD_LVALUE_LEFT
                                    ,   REQD_NOT_CONST_LEFT
                                    ,   CONV_RVALUE_RIGHT
                                    ,   CONV_TYPE_LEFT
                                    ,   CONV_BOOL_ASSIGN
                                    ,   RESULT_ASSIGN
                                    ,   RESULT_BITQUEST
                                    ,   OPAC_END
                                    };

static OPAC opac_EQUAL_AA[]     =   {   REQD_LVALUE_LEFT
                                    ,   REQD_NOT_CONST_LEFT
                                    ,   REQD_ENUM_SAME
                                    ,   CONV_RVALUE_RIGHT
                                    ,   WARN_OPEQ_INT_TRUNC
                                    ,   CONV_TYPE_LEFT
                                    ,   CONV_BOOL_ASSIGN
                                    ,   RESULT_ASSIGN
                                    ,   RESULT_BITQUEST
                                    ,   OPAC_END
                                    };

static OPAC opac_EQUAL_PZ[]     =   {   DIAG_FUNC_LEFT
                                    ,   REQD_LVALUE_LEFT
                                    ,   REQD_NOT_FUNC_LEFT
                                    ,   REQD_NOT_ARRAY_LEFT
                                    ,   REQD_NOT_CONST_LEFT
                                    ,   REQD_ZERO_RIGHT
                                    ,   CONV_RVALUE_RIGHT
                                    ,   CONV_TYPE_LEFT
                                    ,   RESULT_ASSIGN
                                    ,   OPAC_END
                                    };

static OPAC opac_EQUAL_OTHER[]  =   {   CONV_FUN_MP_RIGHT
                                    ,   DIAG_FUNC_LEFT
                                    ,   DIAG_FUNC_MANY1
                                    ,   REQD_LVALUE_LEFT
                                    ,   REQD_NOT_FUNC_LEFT
                                    ,   ASSIGN_OTHER
                                    ,   RELOAD_EXPR_TYPE
                                    ,   RESULT_BARE
                                    ,   OPAC_END
                                    };

static OPAC opac_INIT_PP[]      =   {   CONV_INIT_REF
                                    ,   REQD_NOT_FUNC_LEFT
                                    ,   CONV_BASIC_TYPE
                                    ,   CONV_INIT_BARE
                                    ,   STATIC_TEMP_SET
                                    ,   RESULT_INIT
                                    ,   STATIC_TEMP_RESET
                                    ,   RELOAD_EXPR_TYPE
                                    ,   OPAC_END
                                    };

static OPAC opac_INIT_AP[]      =   {   REQD_BOOL_LHS_ASSIGN
                                    ,   CONV_INIT_REF
                                    ,   CONV_BASIC_TYPE
                                    ,   REQD_LVALUE_LEFT
                                    ,   CONV_INIT_BARE
                                    ,   STATIC_TEMP_SET
                                    ,   RESULT_INIT
                                    ,   STATIC_TEMP_RESET
                                    ,   RELOAD_EXPR_TYPE
                                    ,   OPAC_END
                                    };

static OPAC opac_INIT_AA[]      =   {   CONV_INIT_REF
                                    ,   CONV_BASIC_TYPE
                                    ,   REQD_LVALUE_LEFT
                                    ,   REQD_ENUM_SAME
                                    ,   CONV_INIT_BARE
                                    ,   STATIC_TEMP_SET
                                    ,   RESULT_INIT
                                    ,   STATIC_TEMP_RESET
                                    ,   RELOAD_EXPR_TYPE
                                    ,   OPAC_END
                                    };

static OPAC opac_INIT_PZ[]      =   {   CONV_INIT_REF
                                    ,   REQD_NOT_FUNC_LEFT
                                    ,   CONV_BASIC_TYPE
                                    ,   CONV_INIT_BARE
                                    ,   REQD_ZERO_RIGHT
                                    ,   CONV_RVALUE_RIGHT
                                    ,   STATIC_TEMP_SET
                                    ,   RESULT_INIT
                                    ,   STATIC_TEMP_RESET
                                    ,   RELOAD_EXPR_TYPE
                                    ,   OPAC_END
                                    };


static OPAC opac_INIT_OTHER[]  =    {   CONV_FUN_MP_RIGHT
                                    ,   DIAG_FUNC_MANY2
                                    ,   CONV_INIT_REF
                                    ,   REQD_NOT_FUNC_LEFT
                                    ,   CONV_BASIC_TYPE
                                    ,   STATIC_TEMP_SET
                                    ,   INIT_CL_MP
                                    ,   STATIC_TEMP_RESET
                                    ,   RELOAD_EXPR_TYPE
                                    ,   RESULT_BARE
                                    ,   OPAC_END
                                    };

static OPAC opac_RETURN__P[] =      {   CONV_FUN_MP_RIGHT
                                    ,   DIAG_FUNC_MANY1
                                    ,   CHECK_RETN_OPT
                                    ,   RESULT_RETURN
//                                  ,   DIAG_AUTO_RETURN
//                                  ,   RESULT_RETURN_VAL_COND
                                    ,   OPAC_END
                                    };

static OPAC opac_RETURN_PA[] =      {   CHECK_RETN_OPT
                                    ,   RESULT_RETURN_PA
//                                  ,   DIAG_AUTO_RETURN_REF

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?