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); }
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); }