Ejemplo n.º 1
0
        private static 变量声明和初始化 Parse_数组变量声明(char[] chars, 表达式 表达式, int p, int l, int 星号Count)
        {
            变量 变量;

            //List<常量> list_数组维度_Length;

            数组元素 数组元素 = 表达式 as 数组元素;


            if (数组元素 != null)
            {
                变量 = 数组元素.左边的表达式 as 变量;

                if (变量 != null)
                {
                    //list_数组维度_Length = Get_list_数组维度_Length(数组元素, chars);

                    return(new 变量声明和初始化(new 类型(new string(chars, p, l), 星号Count, 数组元素.list下标), 变量.name, null, 变量.参考位置_iLeft));
                }
            }

            赋值 赋值 = 表达式 as 赋值;

            if (赋值 != null)
            {
                数组元素 = 赋值.左边的表达式 as 数组元素;

                if (数组元素 != null)
                {
                    变量 = 数组元素.左边的表达式 as 变量;

                    if (变量 != null)
                    {
                        //list_数组维度_Length = Get_list_数组维度_Length(数组元素, chars);

                        //常量 常量 = 赋值.右边的表达式 as 常量;

                        //if (常量 == null)
                        //    throw new InnerCException("只能用常量对数组初始化 。", chars, p);

                        return(new 变量声明和初始化(new 类型(new string(chars, p, l), 星号Count, 数组元素.list下标), 变量.name, 赋值.右边的表达式, 变量.参考位置_iLeft));
                    }
                }
            }

            return(null);
        }
Ejemplo n.º 2
0
        private static 变量声明和初始化 Parse_普通变量声明(char[] chars, 表达式 表达式, int p, int l, int 星号Count)
        {
            变量 变量 = 表达式 as 变量;

            if (变量 != null)
            {
                return(new 变量声明和初始化(new 类型(new string(chars, p, l), 星号Count, null), 变量.name, null, 变量.参考位置_iLeft));
            }

            赋值 赋值 = 表达式 as 赋值;

            if (赋值 != null)
            {
                变量 = 赋值.左边的表达式 as 变量;

                if (变量 != null)
                {
                    return(new 变量声明和初始化(new 类型(new string(chars, p, l), 星号Count, null), 变量.name, 赋值.右边的表达式, 变量.参考位置_iLeft));
                }
            }

            return(null);
        }