编译原理实验:miniC语言编译器

本来想写个好点的,然而实际做起来发现没有那么简单,我还是太天真了,所以只能做阉割版的。

=========================

写下去的时候发现原来的架构不太好,写着写着就没有思路了,设置想不起之前是怎么存的,于是觉得这样拖下去不如重写,写个高聚合低耦合的。

=========================

所有的代码都上传在github

地址是:https://github.com/FieldSoft-HelloClyde/VimCCompiler


201506081545 语法分析语法文本载入完成。

201506081607 语法分析VN,VT集合获得。

201506081949 语法分析能否推出$表完成。

201506082200 语法分析推出First集合完成。

            终于超越了原先的进度。不容易啊。

201506091306 语法分析推出Follow集合完成。

                 找了一万年的错误,终于发现之前的First集合就错了,然后一看竟然是语法少打了一个》符号.....

                 可见之前测试还是要细心啊。

201506091649 语法分析推出Select集合完成。

         eclipse竟然出现了莫名其妙的错误,把所有东西重新打了一遍才好。还不能复制粘贴。shenmegui

201506091900 语法分析推出预测分析表完成。

         惊闻体育考试已经错过,老师最后只答应给出勤分.....这不就是宣布我挂了吗....

201506092230 语法分析已经完成。已经能成功分析测试代码。

           但是测试自己的代码出了问题,主要还是语法还不够完整。

201506100923 文法修改完成。

201506172217 有时候蛮不服的吧,由于排在班级后半部分,老师根本看不到后半部分的同学。只能内心狂喊,我要做的比那些所谓的“好学生”要好。我是要真正写一个编译器,是能够实际使用的,是有实际意义的。

201506180932 对语法分析进行修改,使其能生成语法树,通过语法树进行翻译就简单多了。

201506240957 语法树完成了!还有有人终于肯领我入新世界的大门了。可能大家都还在摸索中,但是未来还是美好的不是吗?


原始文法来自:

http://blog.csdn.net/niuox/article/details/8216186


修改后的文法为:

【函数定义】 》 【单个函数闭包】
【单个函数闭包】 》 【单个函数】 【单个函数闭包】
【单个函数闭包】 》 $
【单个函数】 》 【修饰词闭包】 【类型】 【变量】 ( 【参数声明】 ) { 【函数块】 }  
【单个函数】 》 void 【变量】 ( 【参数声明】 ) { 【函数块】 }  
【修饰词闭包】 》 【修饰词】 【修饰词闭包】  
【修饰词闭包】 》 $
【修饰词】 》 describe  
【类型】 》 type 【取地址】
【取地址】 》 【星号闭包】  
【星号闭包】 》 【星号】 【星号闭包】 
【星号闭包】 》 $ 
【星号】 》 *  
【变量】 》 【标志符】 【数组下标】  
【标志符】 》 id  
【数组下标】 》 [ 【因式】 ] 
【数组下标】 》 $ 
【因式】 》 ( 【表达式】 )   
【因式】 》 【变量或函数调用】
【变量或函数调用】 》 【变量】 【函数调用后缀】
【函数调用后缀】 》 ( 【参数列表】 ) 
【函数调用后缀】 》 $
【因式】 》 【数字】  
【数字】 》 digit  
【表达式】 》 【因子】 【项】  
【因子】 》 【因式】 【因式递归】  
【因式递归】 》 * 【因式】 【因式递归】  
【因式递归】 》 / 【因式】 【因式递归】 
【因式递归】 》 % 【因式】 【因式递归】
【因式递归】 》 $ 
【项】 》 + 【因子】 【项】
【项】 》 - 【因子】 【项】 
【项】 》 $  
【参数声明】 》 【声明】 【声明闭包】
【参数声明】 》 $  
【参数声明】 》 void  
【声明】 》 【修饰词闭包】 【类型】 【变量】 【赋初值】  
【赋初值】 》 = 【右值】 
【赋初值】 》 $  
【右值】 》 【表达式】 
【右值】 》 { 【多个数据】 } 
【多个数据】 》 【数字】 【数字闭包】  
【数字闭包】 》 , 【数字】 【数字闭包】  
【数字闭包】 》 $  
【声明闭包】 》 , 【声明】 【声明闭包】
【声明闭包】 》 $ 
【函数块】 》 【声明语句闭包】 【函数块闭包】  
【声明语句闭包】 》 【声明语句】 【声明语句闭包】  
【声明语句闭包】 》 $  
【声明语句】 》 【声明】 ;  
【函数块闭包】 》 【赋值函数】 【函数块闭包】 
【函数块闭包】 》 【for循环】 【函数块闭包】
【函数块闭包】 》 【条件语句】 【函数块闭包】
【函数块闭包】 》 【函数返回】 【函数块闭包】
【函数块闭包】 》  $  
【赋值函数】 》 【变量】 【赋值或函数调用】  
【赋值或函数调用】 》 = 【右值】 ;
【赋值或函数调用】 》 ( 【参数列表】 ) ; 
【参数列表】 》 【参数】 【参数闭包】  
【参数闭包】 》 , 【参数】 【参数闭包】 
【参数闭包】 》 $  
【参数】 》 【标志符】 
【参数】 》 【数字】
【参数】 》 【字符串】  
【字符串】 》 string  
【for循环】 》 for ( 【赋值函数】 【逻辑表达式】 ; 【后缀表达式】 ) { 【函数块】 } 
【多重逻辑表达式】 》 【逻辑表达式】 【多重逻辑表达式递归】
【多重逻辑表达式递归】 》 【高级逻辑运算符】 【逻辑表达式递归】
【多重逻辑表达式递归】 》 $
【高级逻辑运算符】 》 &&
【高级逻辑运算符】 》 ||
【逻辑表达式递归】 》 【逻辑表达式】
【逻辑表达式递归】 》 $
【逻辑表达式】 》 【表达式】 【逻辑表达式后缀】 
【逻辑表达式后缀】 》 【逻辑运算符】 【表达式】 
【逻辑表达式后缀】 》 $ 
【逻辑运算符】 》 < 
【逻辑运算符】 》 >
【逻辑运算符】 》 ==
【逻辑运算符】 》 !=  
【逻辑运算符】 》 >=
【逻辑运算符】 》 <=
【后缀表达式】 》 【变量】 【后缀运算符】  
【后缀运算符】 》 ++
【后缀运算符】 》 --  
【条件语句】 》 if ( 【多重逻辑表达式】 ) { 【函数块】 } 【否则语句】  
【否则语句】 》 else { 【函数块】 }  
【否则语句】 》 $ 
【函数返回】 》 return 【因式】 ;

测试代码:

void print(char* s){
	vasm("OUT 2,s");
}

void println(char *s){
	vasm("OUT 1,s");
}

int IsPrime(int n){
	int i;
	for (i = 2;i < n;i ++){
		if (n % i == 0){
			return 0;
		}
	}
	return 1;
}

int main(void){
	int n;
	for (n = 3;n <= 100;n ++){
		if (IsPrime(n)){
			printf("%d\n",n);
		}
	}
	return 0;
}

运行结果:

语法:
【函数定义】》 【单个函数闭包】 | 【单个函数闭包】 void
【单个函数闭包】》 【单个函数】 【单个函数闭包】 | $
【单个函数】》 【修饰词闭包】 【类型】 【变量】 ( 【参数声明】 ) { 【函数块】 } | void 【变量】 ( 【参数声明】 ) { 【函数块】 }
【修饰词闭包】》 【修饰词】 【修饰词闭包】 | $
【修饰词】》 describe
【类型】》 type 【取地址】
【取地址】》 【星号闭包】
【星号闭包】》 【星号】 【星号闭包】 | $
【星号】》 *
【变量】》 【标志符】 【数组下标】
【标志符】》 id
【数组下标】》 [ 【因式】 ] | $
【因式】》 ( 【表达式】 ) | 【变量或函数调用】 | 【数字】
【变量或函数调用】》 【变量】 【函数调用后缀】
【函数调用后缀】》 ( 【参数列表】 ) | $
【数字】》 digit
【表达式】》 【因子】 【项】
【因子】》 【因式】 【因式递归】
【因式递归】》 * 【因式】 【因式递归】 | / 【因式】 【因式递归】 | % 【因式】 【因式递归】 | $
【项】》 + 【因子】 【项】 | - 【因子】 【项】 | $
【参数声明】》 【声明】 【声明闭包】 | $ | void
【声明】》 【修饰词闭包】 【类型】 【变量】 【赋初值】
【赋初值】》 = 【右值】 | $
【右值】》 【表达式】 | { 【多个数据】 }
【多个数据】》 【数字】 【数字闭包】
【数字闭包】》 , 【数字】 【数字闭包】 | $
【声明闭包】》 , 【声明】 【声明闭包】 | $
【函数块】》 【声明语句闭包】 【函数块闭包】
【声明语句闭包】》 【声明语句】 【声明语句闭包】 | $
【声明语句】》 【声明】 ;
【函数块闭包】》 【赋值函数】 【函数块闭包】 | 【for循环】 【函数块闭包】 | 【条件语句】 【函数块闭包】 | 【函数返回】 【函数块闭包】 | $
【赋值函数】》 【变量】 【赋值或函数调用】
【赋值或函数调用】》 = 【右值】 ; | ( 【参数列表】 ) ;
【参数列表】》 【参数】 【参数闭包】
【参数闭包】》 , 【参数】 【参数闭包】 | $
【参数】》 【标志符】 | 【数字】 | 【字符串】
【字符串】》 string
【for循环】》 for ( 【赋值函数】 【逻辑表达式】 ; 【后缀表达式】 ) { 【函数块】 }
【多重逻辑表达式】》 【逻辑表达式】 【多重逻辑表达式递归】
【多重逻辑表达式递归】》 【高级逻辑运算符】 【逻辑表达式递归】 | $
【高级逻辑运算符】》 && | ||
【逻辑表达式递归】》 【逻辑表达式】 | $
【逻辑表达式】》 【表达式】 【逻辑表达式后缀】
【逻辑表达式后缀】》 【逻辑运算符】 【表达式】 | $
【逻辑运算符】》 < | > | == | != | >= | <=
【后缀表达式】》 【变量】 【后缀运算符】
【后缀运算符】》 ++ | --
【条件语句】》 if ( 【多重逻辑表达式】 ) { 【函数块】 } 【否则语句】
【否则语句】》 else { 【函数块】 } | $
【函数返回】》 return 【因式】 ;

终结符:
&&
||
<=
string
for
type
else
id
[
]
if
digit
==
++
--
void
$
%
(
)
*
+
,
-
/
{
describe
;
<
!=
}
=
>
return
>=

非终结符:
【逻辑表达式递归】
【单个函数闭包】
【参数闭包】
【项】
【声明】
【逻辑表达式后缀】
【因式】
【逻辑运算符】
【数字】
【数字闭包】
【类型】
【条件语句】
【星号】
【后缀运算符】
【逻辑表达式】
【后缀表达式】
【字符串】
【函数定义】
【单个函数】
【表达式】
【声明语句】
【因子】
【声明闭包】
【for循环】
【修饰词闭包】
【修饰词】
【声明语句闭包】
【赋值或函数调用】
【取地址】
【参数】
【变量或函数调用】
【变量】
【函数返回】
【赋初值】
【高级逻辑运算符】
【参数声明】
【参数列表】
【多重逻辑表达式递归】
【函数调用后缀】
【函数块闭包】
【标志符】
【多个数据】
【右值】
【赋值函数】
【函数块】
【因式递归】
【星号闭包】
【否则语句】
【多重逻辑表达式】
【数组下标】

$符推导表
&&不能导出$
||不能导出$
<=不能导出$
string不能导出$
for不能导出$
type不能导出$
else不能导出$
id不能导出$
[不能导出$
]不能导出$
if不能导出$
digit不能导出$
==不能导出$
++不能导出$
--不能导出$
void不能导出$
$不能导出$
%不能导出$
(不能导出$
)不能导出$
*不能导出$
+不能导出$
,不能导出$
-不能导出$
/不能导出$
{不能导出$
describe不能导出$
;不能导出$
<不能导出$
!=不能导出$
}不能导出$
=不能导出$
>不能导出$
return不能导出$
>=不能导出$
【逻辑表达式递归】能导出$
【单个函数闭包】能导出$
【参数闭包】能导出$
【项】能导出$
【声明】不能导出$
【逻辑表达式后缀】能导出$
【因式】不能导出$
【逻辑运算符】不能导出$
【数字】不能导出$
【数字闭包】能导出$
【类型】不能导出$
【条件语句】不能导出$
【星号】不能导出$
【后缀运算符】不能导出$
【逻辑表达式】不能导出$
【后缀表达式】不能导出$
【字符串】不能导出$
【函数定义】能导出$
【单个函数】不能导出$
【表达式】不能导出$
【声明语句】不能导出$
【因子】不能导出$
【声明闭包】能导出$
【for循环】不能导出$
【修饰词闭包】能导出$
【修饰词】不能导出$
【声明语句闭包】能导出$
【赋值或函数调用】不能导出$
【取地址】能导出$
【参数】不能导出$
【变量或函数调用】不能导出$
【变量】不能导出$
【函数返回】不能导出$
【赋初值】能导出$
【高级逻辑运算符】不能导出$
【参数声明】能导出$
【参数列表】不能导出$
【多重逻辑表达式递归】能导出$
【函数调用后缀】能导出$
【函数块闭包】能导出$
【标志符】不能导出$
【多个数据】不能导出$
【右值】不能导出$
【赋值函数】不能导出$
【函数块】能导出$
【因式递归】能导出$
【星号闭包】能导出$
【否则语句】能导出$
【多重逻辑表达式】不能导出$
【数组下标】能导出$

First集合
【逻辑表达式递归】 : $ ( id digit 
【单个函数闭包】 : void $ describe type 
【参数闭包】 : $ , 
【项】 : $ + - 
【声明】 : describe type 
【逻辑表达式后缀】 : == <= $ < != > >= 
【因式】 : ( id digit 
【逻辑运算符】 : == <= < != > >= 
【数字】 : digit 
【数字闭包】 : $ , 
【类型】 : type 
【条件语句】 : if 
【星号】 : * 
【后缀运算符】 : ++ -- 
【逻辑表达式】 : ( id digit 
【后缀表达式】 : id 
【字符串】 : string 
【函数定义】 : void $ describe type 
【单个函数】 : void describe type 
【表达式】 : ( id digit 
【声明语句】 : describe type 
【因子】 : ( id digit 
【声明闭包】 : $ , 
【for循环】 : for 
【修饰词闭包】 : $ describe 
【修饰词】 : describe 
【声明语句闭包】 : $ describe type 
【赋值或函数调用】 : ( = 
【取地址】 : $ * 
【参数】 : string id digit 
【变量或函数调用】 : id 
【变量】 : id 
【函数返回】 : return 
【赋初值】 : $ = 
【高级逻辑运算符】 : && || 
【参数声明】 : void $ describe type 
【参数列表】 : string id digit 
【多重逻辑表达式递归】 : && || $ 
【函数调用后缀】 : $ ( 
【函数块闭包】 : $ for id if return 
【标志符】 : id 
【多个数据】 : digit 
【右值】 : ( { id digit 
【赋值函数】 : id 
【函数块】 : $ for describe id type if return 
【因式递归】 : $ % * / 
【星号闭包】 : $ * 
【否则语句】 : $ else 
【多重逻辑表达式】 : ( id digit 
【数组下标】 : $ [ 
&& : && 
|| : || 
<= : <= 
string : string 
for : for 
type : type 
else : else 
id : id 
[ : [ 
] : ] 
if : if 
digit : digit 
== : == 
++ : ++ 
-- : -- 
void : void 
$ : $ 
% : % 
( : ( 
) : ) 
* : * 
+ : + 
, : , 
- : - 
/ : / 
{ : { 
describe : describe 
; : ; 
< : < 
!= : != 
} : } 
= : = 
> : > 
return : return 
>= : >= 

Follow集合
【逻辑表达式递归】 : ) 
【单个函数闭包】 : # void 
【参数闭包】 : ) 
【项】 : == && || <= ) ; < != , > >= 
【声明】 : ) ; , 
【逻辑表达式后缀】 : && || ) ; 
【因式】 : == && || <= % ) * + , - / ; < != ] > >= 
【逻辑运算符】 : ( id digit 
【数字】 : == && || <= % ) * + , - / ; < != ] } > >= 
【数字闭包】 : } 
【类型】 : id 
【条件语句】 : for id if } return 
【星号】 : * id 
【后缀运算符】 : ) 
【逻辑表达式】 : && || ) ; 
【后缀表达式】 : ) 
【字符串】 : ) , 
【函数定义】 : # 
【单个函数】 : void # describe type 
【表达式】 : == && || <= ) ; < != , > >= 
【声明语句】 : for describe id type if } return 
【因子】 : == && || <= ) + , - ; < != > >= 
【声明闭包】 : ) 
【for循环】 : for id if } return 
【修饰词闭包】 : type 
【修饰词】 : describe type 
【声明语句闭包】 : for id if } return 
【赋值或函数调用】 : for ( id if } return digit 
【取地址】 : id 
【参数】 : ) , 
【变量或函数调用】 : == && || <= % ) * + , - / ; < != ] > >= 
【变量】 : ++ -- == && || <= % ( ) * + , - / ; < != ] = > >= 
【函数返回】 : for id if } return 
【赋初值】 : ) ; , 
【高级逻辑运算符】 : ( ) id digit 
【参数声明】 : ) 
【参数列表】 : ) 
【多重逻辑表达式递归】 : ) 
【函数调用后缀】 : == && || <= % ) * + , - / ; < != ] > >= 
【函数块闭包】 : } 
【标志符】 : ++ -- == && || <= % ( ) * + , - / [ ; < != ] = > >= 
【多个数据】 : } 
【右值】 : ) ; , 
【赋值函数】 : for ( id if } return digit 
【函数块】 : } 
【因式递归】 : == && || <= ) + , - ; < != > >= 
【星号闭包】 : id 
【否则语句】 : for id if } return 
【多重逻辑表达式】 : ) 
【数组下标】 : ++ -- == && || <= % ( ) * + , - / ; < != ] = > >= 

Select集合
【函数定义】 》 【单个函数闭包】  : void # describe type 
【函数定义】 》 【单个函数闭包】 void  : void describe type 
【单个函数闭包】 》 【单个函数】 【单个函数闭包】  : void describe type 
【单个函数闭包】 》 $  : # void 
【单个函数】 》 【修饰词闭包】 【类型】 【变量】 ( 【参数声明】 ) { 【函数块】 }  : describe type 
【单个函数】 》 void 【变量】 ( 【参数声明】 ) { 【函数块】 }  : void 
【修饰词闭包】 》 【修饰词】 【修饰词闭包】  : describe 
【修饰词闭包】 》 $  : type 
【修饰词】 》 describe  : describe 
【类型】 》 type 【取地址】  : type 
【取地址】 》 【星号闭包】  : * id 
【星号闭包】 》 【星号】 【星号闭包】  : * 
【星号闭包】 》 $  : id 
【星号】 》 *  : * 
【变量】 》 【标志符】 【数组下标】  : id 
【标志符】 》 id  : id 
【数组下标】 》 [ 【因式】 ]  : [ 
【数组下标】 》 $  : ++ -- == && || <= % ( ) * + , - / ; < != ] = > >= 
【因式】 》 ( 【表达式】 )  : ( 
【因式】 》 【变量或函数调用】  : id 
【因式】 》 【数字】  : digit 
【变量或函数调用】 》 【变量】 【函数调用后缀】  : id 
【函数调用后缀】 》 ( 【参数列表】 )  : ( 
【函数调用后缀】 》 $  : == && || <= % ) * + , - / ; < != ] > >= 
【数字】 》 digit  : digit 
【表达式】 》 【因子】 【项】  : ( id digit 
【因子】 》 【因式】 【因式递归】  : ( id digit 
【因式递归】 》 * 【因式】 【因式递归】  : * 
【因式递归】 》 / 【因式】 【因式递归】  : / 
【因式递归】 》 % 【因式】 【因式递归】  : % 
【因式递归】 》 $  : == && || <= ) + , - ; < != > >= 
【项】 》 + 【因子】 【项】  : + 
【项】 》 - 【因子】 【项】  : - 
【项】 》 $  : == && || <= ) ; < != , > >= 
【参数声明】 》 【声明】 【声明闭包】  : describe type 
【参数声明】 》 $  : ) 
【参数声明】 》 void  : void 
【声明】 》 【修饰词闭包】 【类型】 【变量】 【赋初值】  : describe type 
【赋初值】 》 = 【右值】  : = 
【赋初值】 》 $  : ) ; , 
【右值】 》 【表达式】  : ( id digit 
【右值】 》 { 【多个数据】 }  : { 
【多个数据】 》 【数字】 【数字闭包】  : digit 
【数字闭包】 》 , 【数字】 【数字闭包】  : , 
【数字闭包】 》 $  : } 
【声明闭包】 》 , 【声明】 【声明闭包】  : , 
【声明闭包】 》 $  : ) 
【函数块】 》 【声明语句闭包】 【函数块闭包】  : for describe id type if } return 
【声明语句闭包】 》 【声明语句】 【声明语句闭包】  : describe type 
【声明语句闭包】 》 $  : for id if } return 
【声明语句】 》 【声明】 ;  : describe type 
【函数块闭包】 》 【赋值函数】 【函数块闭包】  : id 
【函数块闭包】 》 【for循环】 【函数块闭包】  : for 
【函数块闭包】 》 【条件语句】 【函数块闭包】  : if 
【函数块闭包】 》 【函数返回】 【函数块闭包】  : return 
【函数块闭包】 》 $  : } 
【赋值函数】 》 【变量】 【赋值或函数调用】  : id 
【赋值或函数调用】 》 = 【右值】 ;  : = 
【赋值或函数调用】 》 ( 【参数列表】 ) ;  : ( 
【参数列表】 》 【参数】 【参数闭包】  : string id digit 
【参数闭包】 》 , 【参数】 【参数闭包】  : , 
【参数闭包】 》 $  : ) 
【参数】 》 【标志符】  : id 
【参数】 》 【数字】  : digit 
【参数】 》 【字符串】  : string 
【字符串】 》 string  : string 
【for循环】 》 for ( 【赋值函数】 【逻辑表达式】 ; 【后缀表达式】 ) { 【函数块】 }  : for 
【多重逻辑表达式】 》 【逻辑表达式】 【多重逻辑表达式递归】  : ( id digit 
【多重逻辑表达式递归】 》 【高级逻辑运算符】 【逻辑表达式递归】  : && || 
【多重逻辑表达式递归】 》 $  : ) 
【高级逻辑运算符】 》 &&  : && 
【高级逻辑运算符】 》 ||  : || 
【逻辑表达式递归】 》 【逻辑表达式】  : ( id digit 
【逻辑表达式递归】 》 $  : ) 
【逻辑表达式】 》 【表达式】 【逻辑表达式后缀】  : ( id digit 
【逻辑表达式后缀】 》 【逻辑运算符】 【表达式】  : == <= < != > >= 
【逻辑表达式后缀】 》 $  : && || ) ; 
【逻辑运算符】 》 <  : < 
【逻辑运算符】 》 >  : > 
【逻辑运算符】 》 ==  : == 
【逻辑运算符】 》 !=  : != 
【逻辑运算符】 》 >=  : >= 
【逻辑运算符】 》 <=  : <= 
【后缀表达式】 》 【变量】 【后缀运算符】  : id 
【后缀运算符】 》 ++  : ++ 
【后缀运算符】 》 --  : -- 
【条件语句】 》 if ( 【多重逻辑表达式】 ) { 【函数块】 } 【否则语句】  : if 
【否则语句】 》 else { 【函数块】 }  : else 
【否则语句】 》 $  : for id if } return 
【函数返回】 》 return 【因式】 ;  : return 

预测分析表
【逻辑表达式递归】&&:null
【逻辑表达式递归】||:null
【逻辑表达式递归】<=:null
【逻辑表达式递归】string:null
【逻辑表达式递归】for:null
【逻辑表达式递归】type:null
【逻辑表达式递归】else:null
【逻辑表达式递归】id:【逻辑表达式】
【逻辑表达式递归】[:null
【逻辑表达式递归】]:null
【逻辑表达式递归】if:null
【逻辑表达式递归】digit:【逻辑表达式】
【逻辑表达式递归】==:null
【逻辑表达式递归】++:null
【逻辑表达式递归】--:null
【逻辑表达式递归】void:null
【逻辑表达式递归】$:null
【逻辑表达式递归】%:null
【逻辑表达式递归】(:【逻辑表达式】
【逻辑表达式递归】):$
【逻辑表达式递归】*:null
【逻辑表达式递归】+:null
【逻辑表达式递归】,:null
【逻辑表达式递归】-:null
【逻辑表达式递归】/:null
【逻辑表达式递归】{:null
【逻辑表达式递归】describe:null
【逻辑表达式递归】;:null
【逻辑表达式递归】<:null
【逻辑表达式递归】!=:null
【逻辑表达式递归】}:null
【逻辑表达式递归】=:null
【逻辑表达式递归】>:null
【逻辑表达式递归】return:null
【逻辑表达式递归】>=:null
【逻辑表达式递归】#:null
【单个函数闭包】&&:null
【单个函数闭包】||:null
【单个函数闭包】<=:null
【单个函数闭包】string:null
【单个函数闭包】for:null
【单个函数闭包】type:【单个函数】 【单个函数闭包】
【单个函数闭包】else:null
【单个函数闭包】id:null
【单个函数闭包】[:null
【单个函数闭包】]:null
【单个函数闭包】if:null
【单个函数闭包】digit:null
【单个函数闭包】==:null
【单个函数闭包】++:null
【单个函数闭包】--:null
【单个函数闭包】void:【单个函数】 【单个函数闭包】
【单个函数闭包】$:null
【单个函数闭包】%:null
【单个函数闭包】(:null
【单个函数闭包】):null
【单个函数闭包】*:null
【单个函数闭包】+:null
【单个函数闭包】,:null
【单个函数闭包】-:null
【单个函数闭包】/:null
【单个函数闭包】{:null
【单个函数闭包】describe:【单个函数】 【单个函数闭包】
【单个函数闭包】;:null
【单个函数闭包】<:null
【单个函数闭包】!=:null
【单个函数闭包】}:null
【单个函数闭包】=:null
【单个函数闭包】>:null
【单个函数闭包】return:null
【单个函数闭包】>=:null
【单个函数闭包】#:$
【参数闭包】&&:null
【参数闭包】||:null
【参数闭包】<=:null
【参数闭包】string:null
【参数闭包】for:null
【参数闭包】type:null
【参数闭包】else:null
【参数闭包】id:null
【参数闭包】[:null
【参数闭包】]:null
【参数闭包】if:null
【参数闭包】digit:null
【参数闭包】==:null
【参数闭包】++:null
【参数闭包】--:null
【参数闭包】void:null
【参数闭包】$:null
【参数闭包】%:null
【参数闭包】(:null
【参数闭包】):$
【参数闭包】*:null
【参数闭包】+:null
【参数闭包】,:, 【参数】 【参数闭包】
【参数闭包】-:null
【参数闭包】/:null
【参数闭包】{:null
【参数闭包】describe:null
【参数闭包】;:null
【参数闭包】<:null
【参数闭包】!=:null
【参数闭包】}:null
【参数闭包】=:null
【参数闭包】>:null
【参数闭包】return:null
【参数闭包】>=:null
【参数闭包】#:null
【项】&&:$
【项】||:$
【项】<=:$
【项】string:null
【项】for:null
【项】type:null
【项】else:null
【项】id:null
【项】[:null
【项】]:null
【项】if:null
【项】digit:null
【项】==:$
【项】++:null
【项】--:null
【项】void:null
【项】$:null
【项】%:null
【项】(:null
【项】):$
【项】*:null
【项】+:+ 【因子】 【项】
【项】,:$
【项】-:- 【因子】 【项】
【项】/:null
【项】{:null
【项】describe:null
【项】;:$
【项】<:$
【项】!=:$
【项】}:null
【项】=:null
【项】>:$
【项】return:null
【项】>=:$
【项】#:null
【声明】&&:null
【声明】||:null
【声明】<=:null
【声明】string:null
【声明】for:null
【声明】type:【修饰词闭包】 【类型】 【变量】 【赋初值】
【声明】else:null
【声明】id:null
【声明】[:null
【声明】]:null
【声明】if:null
【声明】digit:null
【声明】==:null
【声明】++:null
【声明】--:null
【声明】void:null
【声明】$:null
【声明】%:null
【声明】(:null
【声明】):null
【声明】*:null
【声明】+:null
【声明】,:null
【声明】-:null
【声明】/:null
【声明】{:null
【声明】describe:【修饰词闭包】 【类型】 【变量】 【赋初值】
【声明】;:null
【声明】<:null
【声明】!=:null
【声明】}:null
【声明】=:null
【声明】>:null
【声明】return:null
【声明】>=:null
【声明】#:null
【逻辑表达式后缀】&&:$
【逻辑表达式后缀】||:$
【逻辑表达式后缀】<=:【逻辑运算符】 【表达式】
【逻辑表达式后缀】string:null
【逻辑表达式后缀】for:null
【逻辑表达式后缀】type:null
【逻辑表达式后缀】else:null
【逻辑表达式后缀】id:null
【逻辑表达式后缀】[:null
【逻辑表达式后缀】]:null
【逻辑表达式后缀】if:null
【逻辑表达式后缀】digit:null
【逻辑表达式后缀】==:【逻辑运算符】 【表达式】
【逻辑表达式后缀】++:null
【逻辑表达式后缀】--:null
【逻辑表达式后缀】void:null
【逻辑表达式后缀】$:null
【逻辑表达式后缀】%:null
【逻辑表达式后缀】(:null
【逻辑表达式后缀】):$
【逻辑表达式后缀】*:null
【逻辑表达式后缀】+:null
【逻辑表达式后缀】,:null
【逻辑表达式后缀】-:null
【逻辑表达式后缀】/:null
【逻辑表达式后缀】{:null
【逻辑表达式后缀】describe:null
【逻辑表达式后缀】;:$
【逻辑表达式后缀】<:【逻辑运算符】 【表达式】
【逻辑表达式后缀】!=:【逻辑运算符】 【表达式】
【逻辑表达式后缀】}:null
【逻辑表达式后缀】=:null
【逻辑表达式后缀】>:【逻辑运算符】 【表达式】
【逻辑表达式后缀】return:null
【逻辑表达式后缀】>=:【逻辑运算符】 【表达式】
【逻辑表达式后缀】#:null
【因式】&&:null
【因式】||:null
【因式】<=:null
【因式】string:null
【因式】for:null
【因式】type:null
【因式】else:null
【因式】id:【变量或函数调用】
【因式】[:null
【因式】]:null
【因式】if:null
【因式】digit:【数字】
【因式】==:null
【因式】++:null
【因式】--:null
【因式】void:null
【因式】$:null
【因式】%:null
【因式】(:( 【表达式】 )
【因式】):null
【因式】*:null
【因式】+:null
【因式】,:null
【因式】-:null
【因式】/:null
【因式】{:null
【因式】describe:null
【因式】;:null
【因式】<:null
【因式】!=:null
【因式】}:null
【因式】=:null
【因式】>:null
【因式】return:null
【因式】>=:null
【因式】#:null
【逻辑运算符】&&:null
【逻辑运算符】||:null
【逻辑运算符】<=:<=
【逻辑运算符】string:null
【逻辑运算符】for:null
【逻辑运算符】type:null
【逻辑运算符】else:null
【逻辑运算符】id:null
【逻辑运算符】[:null
【逻辑运算符】]:null
【逻辑运算符】if:null
【逻辑运算符】digit:null
【逻辑运算符】==:==
【逻辑运算符】++:null
【逻辑运算符】--:null
【逻辑运算符】void:null
【逻辑运算符】$:null
【逻辑运算符】%:null
【逻辑运算符】(:null
【逻辑运算符】):null
【逻辑运算符】*:null
【逻辑运算符】+:null
【逻辑运算符】,:null
【逻辑运算符】-:null
【逻辑运算符】/:null
【逻辑运算符】{:null
【逻辑运算符】describe:null
【逻辑运算符】;:null
【逻辑运算符】<:<
【逻辑运算符】!=:!=
【逻辑运算符】}:null
【逻辑运算符】=:null
【逻辑运算符】>:>
【逻辑运算符】return:null
【逻辑运算符】>=:>=
【逻辑运算符】#:null
【数字】&&:null
【数字】||:null
【数字】<=:null
【数字】string:null
【数字】for:null
【数字】type:null
【数字】else:null
【数字】id:null
【数字】[:null
【数字】]:null
【数字】if:null
【数字】digit:digit
【数字】==:null
【数字】++:null
【数字】--:null
【数字】void:null
【数字】$:null
【数字】%:null
【数字】(:null
【数字】):null
【数字】*:null
【数字】+:null
【数字】,:null
【数字】-:null
【数字】/:null
【数字】{:null
【数字】describe:null
【数字】;:null
【数字】<:null
【数字】!=:null
【数字】}:null
【数字】=:null
【数字】>:null
【数字】return:null
【数字】>=:null
【数字】#:null
【数字闭包】&&:null
【数字闭包】||:null
【数字闭包】<=:null
【数字闭包】string:null
【数字闭包】for:null
【数字闭包】type:null
【数字闭包】else:null
【数字闭包】id:null
【数字闭包】[:null
【数字闭包】]:null
【数字闭包】if:null
【数字闭包】digit:null
【数字闭包】==:null
【数字闭包】++:null
【数字闭包】--:null
【数字闭包】void:null
【数字闭包】$:null
【数字闭包】%:null
【数字闭包】(:null
【数字闭包】):null
【数字闭包】*:null
【数字闭包】+:null
【数字闭包】,:, 【数字】 【数字闭包】
【数字闭包】-:null
【数字闭包】/:null
【数字闭包】{:null
【数字闭包】describe:null
【数字闭包】;:null
【数字闭包】<:null
【数字闭包】!=:null
【数字闭包】}:$
【数字闭包】=:null
【数字闭包】>:null
【数字闭包】return:null
【数字闭包】>=:null
【数字闭包】#:null
【类型】&&:null
【类型】||:null
【类型】<=:null
【类型】string:null
【类型】for:null
【类型】type:type 【取地址】
【类型】else:null
【类型】id:null
【类型】[:null
【类型】]:null
【类型】if:null
【类型】digit:null
【类型】==:null
【类型】++:null
【类型】--:null
【类型】void:null
【类型】$:null
【类型】%:null
【类型】(:null
【类型】):null
【类型】*:null
【类型】+:null
【类型】,:null
【类型】-:null
【类型】/:null
【类型】{:null
【类型】describe:null
【类型】;:null
【类型】<:null
【类型】!=:null
【类型】}:null
【类型】=:null
【类型】>:null
【类型】return:null
【类型】>=:null
【类型】#:null
【条件语句】&&:null
【条件语句】||:null
【条件语句】<=:null
【条件语句】string:null
【条件语句】for:null
【条件语句】type:null
【条件语句】else:null
【条件语句】id:null
【条件语句】[:null
【条件语句】]:null
【条件语句】if:if ( 【多重逻辑表达式】 ) { 【函数块】 } 【否则语句】
【条件语句】digit:null
【条件语句】==:null
【条件语句】++:null
【条件语句】--:null
【条件语句】void:null
【条件语句】$:null
【条件语句】%:null
【条件语句】(:null
【条件语句】):null
【条件语句】*:null
【条件语句】+:null
【条件语句】,:null
【条件语句】-:null
【条件语句】/:null
【条件语句】{:null
【条件语句】describe:null
【条件语句】;:null
【条件语句】<:null
【条件语句】!=:null
【条件语句】}:null
【条件语句】=:null
【条件语句】>:null
【条件语句】return:null
【条件语句】>=:null
【条件语句】#:null
【星号】&&:null
【星号】||:null
【星号】<=:null
【星号】string:null
【星号】for:null
【星号】type:null
【星号】else:null
【星号】id:null
【星号】[:null
【星号】]:null
【星号】if:null
【星号】digit:null
【星号】==:null
【星号】++:null
【星号】--:null
【星号】void:null
【星号】$:null
【星号】%:null
【星号】(:null
【星号】):null
【星号】*:*
【星号】+:null
【星号】,:null
【星号】-:null
【星号】/:null
【星号】{:null
【星号】describe:null
【星号】;:null
【星号】<:null
【星号】!=:null
【星号】}:null
【星号】=:null
【星号】>:null
【星号】return:null
【星号】>=:null
【星号】#:null
【后缀运算符】&&:null
【后缀运算符】||:null
【后缀运算符】<=:null
【后缀运算符】string:null
【后缀运算符】for:null
【后缀运算符】type:null
【后缀运算符】else:null
【后缀运算符】id:null
【后缀运算符】[:null
【后缀运算符】]:null
【后缀运算符】if:null
【后缀运算符】digit:null
【后缀运算符】==:null
【后缀运算符】++:++
【后缀运算符】--:--
【后缀运算符】void:null
【后缀运算符】$:null
【后缀运算符】%:null
【后缀运算符】(:null
【后缀运算符】):null
【后缀运算符】*:null
【后缀运算符】+:null
【后缀运算符】,:null
【后缀运算符】-:null
【后缀运算符】/:null
【后缀运算符】{:null
【后缀运算符】describe:null
【后缀运算符】;:null
【后缀运算符】<:null
【后缀运算符】!=:null
【后缀运算符】}:null
【后缀运算符】=:null
【后缀运算符】>:null
【后缀运算符】return:null
【后缀运算符】>=:null
【后缀运算符】#:null
【逻辑表达式】&&:null
【逻辑表达式】||:null
【逻辑表达式】<=:null
【逻辑表达式】string:null
【逻辑表达式】for:null
【逻辑表达式】type:null
【逻辑表达式】else:null
【逻辑表达式】id:【表达式】 【逻辑表达式后缀】
【逻辑表达式】[:null
【逻辑表达式】]:null
【逻辑表达式】if:null
【逻辑表达式】digit:【表达式】 【逻辑表达式后缀】
【逻辑表达式】==:null
【逻辑表达式】++:null
【逻辑表达式】--:null
【逻辑表达式】void:null
【逻辑表达式】$:null
【逻辑表达式】%:null
【逻辑表达式】(:【表达式】 【逻辑表达式后缀】
【逻辑表达式】):null
【逻辑表达式】*:null
【逻辑表达式】+:null
【逻辑表达式】,:null
【逻辑表达式】-:null
【逻辑表达式】/:null
【逻辑表达式】{:null
【逻辑表达式】describe:null
【逻辑表达式】;:null
【逻辑表达式】<:null
【逻辑表达式】!=:null
【逻辑表达式】}:null
【逻辑表达式】=:null
【逻辑表达式】>:null
【逻辑表达式】return:null
【逻辑表达式】>=:null
【逻辑表达式】#:null
【后缀表达式】&&:null
【后缀表达式】||:null
【后缀表达式】<=:null
【后缀表达式】string:null
【后缀表达式】for:null
【后缀表达式】type:null
【后缀表达式】else:null
【后缀表达式】id:【变量】 【后缀运算符】
【后缀表达式】[:null
【后缀表达式】]:null
【后缀表达式】if:null
【后缀表达式】digit:null
【后缀表达式】==:null
【后缀表达式】++:null
【后缀表达式】--:null
【后缀表达式】void:null
【后缀表达式】$:null
【后缀表达式】%:null
【后缀表达式】(:null
【后缀表达式】):null
【后缀表达式】*:null
【后缀表达式】+:null
【后缀表达式】,:null
【后缀表达式】-:null
【后缀表达式】/:null
【后缀表达式】{:null
【后缀表达式】describe:null
【后缀表达式】;:null
【后缀表达式】<:null
【后缀表达式】!=:null
【后缀表达式】}:null
【后缀表达式】=:null
【后缀表达式】>:null
【后缀表达式】return:null
【后缀表达式】>=:null
【后缀表达式】#:null
【字符串】&&:null
【字符串】||:null
【字符串】<=:null
【字符串】string:string
【字符串】for:null
【字符串】type:null
【字符串】else:null
【字符串】id:null
【字符串】[:null
【字符串】]:null
【字符串】if:null
【字符串】digit:null
【字符串】==:null
【字符串】++:null
【字符串】--:null
【字符串】void:null
【字符串】$:null
【字符串】%:null
【字符串】(:null
【字符串】):null
【字符串】*:null
【字符串】+:null
【字符串】,:null
【字符串】-:null
【字符串】/:null
【字符串】{:null
【字符串】describe:null
【字符串】;:null
【字符串】<:null
【字符串】!=:null
【字符串】}:null
【字符串】=:null
【字符串】>:null
【字符串】return:null
【字符串】>=:null
【字符串】#:null
【函数定义】&&:null
【函数定义】||:null
【函数定义】<=:null
【函数定义】string:null
【函数定义】for:null
【函数定义】type:【单个函数闭包】
【函数定义】else:null
【函数定义】id:null
【函数定义】[:null
【函数定义】]:null
【函数定义】if:null
【函数定义】digit:null
【函数定义】==:null
【函数定义】++:null
【函数定义】--:null
【函数定义】void:【单个函数闭包】
【函数定义】$:null
【函数定义】%:null
【函数定义】(:null
【函数定义】):null
【函数定义】*:null
【函数定义】+:null
【函数定义】,:null
【函数定义】-:null
【函数定义】/:null
【函数定义】{:null
【函数定义】describe:【单个函数闭包】
【函数定义】;:null
【函数定义】<:null
【函数定义】!=:null
【函数定义】}:null
【函数定义】=:null
【函数定义】>:null
【函数定义】return:null
【函数定义】>=:null
【函数定义】#:【单个函数闭包】
【单个函数】&&:null
【单个函数】||:null
【单个函数】<=:null
【单个函数】string:null
【单个函数】for:null
【单个函数】type:【修饰词闭包】 【类型】 【变量】 ( 【参数声明】 ) { 【函数块】 }
【单个函数】else:null
【单个函数】id:null
【单个函数】[:null
【单个函数】]:null
【单个函数】if:null
【单个函数】digit:null
【单个函数】==:null
【单个函数】++:null
【单个函数】--:null
【单个函数】void:void 【变量】 ( 【参数声明】 ) { 【函数块】 }
【单个函数】$:null
【单个函数】%:null
【单个函数】(:null
【单个函数】):null
【单个函数】*:null
【单个函数】+:null
【单个函数】,:null
【单个函数】-:null
【单个函数】/:null
【单个函数】{:null
【单个函数】describe:【修饰词闭包】 【类型】 【变量】 ( 【参数声明】 ) { 【函数块】 }
【单个函数】;:null
【单个函数】<:null
【单个函数】!=:null
【单个函数】}:null
【单个函数】=:null
【单个函数】>:null
【单个函数】return:null
【单个函数】>=:null
【单个函数】#:null
【表达式】&&:null
【表达式】||:null
【表达式】<=:null
【表达式】string:null
【表达式】for:null
【表达式】type:null
【表达式】else:null
【表达式】id:【因子】 【项】
【表达式】[:null
【表达式】]:null
【表达式】if:null
【表达式】digit:【因子】 【项】
【表达式】==:null
【表达式】++:null
【表达式】--:null
【表达式】void:null
【表达式】$:null
【表达式】%:null
【表达式】(:【因子】 【项】
【表达式】):null
【表达式】*:null
【表达式】+:null
【表达式】,:null
【表达式】-:null
【表达式】/:null
【表达式】{:null
【表达式】describe:null
【表达式】;:null
【表达式】<:null
【表达式】!=:null
【表达式】}:null
【表达式】=:null
【表达式】>:null
【表达式】return:null
【表达式】>=:null
【表达式】#:null
【声明语句】&&:null
【声明语句】||:null
【声明语句】<=:null
【声明语句】string:null
【声明语句】for:null
【声明语句】type:【声明】 ;
【声明语句】else:null
【声明语句】id:null
【声明语句】[:null
【声明语句】]:null
【声明语句】if:null
【声明语句】digit:null
【声明语句】==:null
【声明语句】++:null
【声明语句】--:null
【声明语句】void:null
【声明语句】$:null
【声明语句】%:null
【声明语句】(:null
【声明语句】):null
【声明语句】*:null
【声明语句】+:null
【声明语句】,:null
【声明语句】-:null
【声明语句】/:null
【声明语句】{:null
【声明语句】describe:【声明】 ;
【声明语句】;:null
【声明语句】<:null
【声明语句】!=:null
【声明语句】}:null
【声明语句】=:null
【声明语句】>:null
【声明语句】return:null
【声明语句】>=:null
【声明语句】#:null
【因子】&&:null
【因子】||:null
【因子】<=:null
【因子】string:null
【因子】for:null
【因子】type:null
【因子】else:null
【因子】id:【因式】 【因式递归】
【因子】[:null
【因子】]:null
【因子】if:null
【因子】digit:【因式】 【因式递归】
【因子】==:null
【因子】++:null
【因子】--:null
【因子】void:null
【因子】$:null
【因子】%:null
【因子】(:【因式】 【因式递归】
【因子】):null
【因子】*:null
【因子】+:null
【因子】,:null
【因子】-:null
【因子】/:null
【因子】{:null
【因子】describe:null
【因子】;:null
【因子】<:null
【因子】!=:null
【因子】}:null
【因子】=:null
【因子】>:null
【因子】return:null
【因子】>=:null
【因子】#:null
【声明闭包】&&:null
【声明闭包】||:null
【声明闭包】<=:null
【声明闭包】string:null
【声明闭包】for:null
【声明闭包】type:null
【声明闭包】else:null
【声明闭包】id:null
【声明闭包】[:null
【声明闭包】]:null
【声明闭包】if:null
【声明闭包】digit:null
【声明闭包】==:null
【声明闭包】++:null
【声明闭包】--:null
【声明闭包】void:null
【声明闭包】$:null
【声明闭包】%:null
【声明闭包】(:null
【声明闭包】):$
【声明闭包】*:null
【声明闭包】+:null
【声明闭包】,:, 【声明】 【声明闭包】
【声明闭包】-:null
【声明闭包】/:null
【声明闭包】{:null
【声明闭包】describe:null
【声明闭包】;:null
【声明闭包】<:null
【声明闭包】!=:null
【声明闭包】}:null
【声明闭包】=:null
【声明闭包】>:null
【声明闭包】return:null
【声明闭包】>=:null
【声明闭包】#:null
【for循环】&&:null
【for循环】||:null
【for循环】<=:null
【for循环】string:null
【for循环】for:for ( 【赋值函数】 【逻辑表达式】 ; 【后缀表达式】 ) { 【函数块】 }
【for循环】type:null
【for循环】else:null
【for循环】id:null
【for循环】[:null
【for循环】]:null
【for循环】if:null
【for循环】digit:null
【for循环】==:null
【for循环】++:null
【for循环】--:null
【for循环】void:null
【for循环】$:null
【for循环】%:null
【for循环】(:null
【for循环】):null
【for循环】*:null
【for循环】+:null
【for循环】,:null
【for循环】-:null
【for循环】/:null
【for循环】{:null
【for循环】describe:null
【for循环】;:null
【for循环】<:null
【for循环】!=:null
【for循环】}:null
【for循环】=:null
【for循环】>:null
【for循环】return:null
【for循环】>=:null
【for循环】#:null
【修饰词闭包】&&:null
【修饰词闭包】||:null
【修饰词闭包】<=:null
【修饰词闭包】string:null
【修饰词闭包】for:null
【修饰词闭包】type:$
【修饰词闭包】else:null
【修饰词闭包】id:null
【修饰词闭包】[:null
【修饰词闭包】]:null
【修饰词闭包】if:null
【修饰词闭包】digit:null
【修饰词闭包】==:null
【修饰词闭包】++:null
【修饰词闭包】--:null
【修饰词闭包】void:null
【修饰词闭包】$:null
【修饰词闭包】%:null
【修饰词闭包】(:null
【修饰词闭包】):null
【修饰词闭包】*:null
【修饰词闭包】+:null
【修饰词闭包】,:null
【修饰词闭包】-:null
【修饰词闭包】/:null
【修饰词闭包】{:null
【修饰词闭包】describe:【修饰词】 【修饰词闭包】
【修饰词闭包】;:null
【修饰词闭包】<:null
【修饰词闭包】!=:null
【修饰词闭包】}:null
【修饰词闭包】=:null
【修饰词闭包】>:null
【修饰词闭包】return:null
【修饰词闭包】>=:null
【修饰词闭包】#:null
【修饰词】&&:null
【修饰词】||:null
【修饰词】<=:null
【修饰词】string:null
【修饰词】for:null
【修饰词】type:null
【修饰词】else:null
【修饰词】id:null
【修饰词】[:null
【修饰词】]:null
【修饰词】if:null
【修饰词】digit:null
【修饰词】==:null
【修饰词】++:null
【修饰词】--:null
【修饰词】void:null
【修饰词】$:null
【修饰词】%:null
【修饰词】(:null
【修饰词】):null
【修饰词】*:null
【修饰词】+:null
【修饰词】,:null
【修饰词】-:null
【修饰词】/:null
【修饰词】{:null
【修饰词】describe:describe
【修饰词】;:null
【修饰词】<:null
【修饰词】!=:null
【修饰词】}:null
【修饰词】=:null
【修饰词】>:null
【修饰词】return:null
【修饰词】>=:null
【修饰词】#:null
【声明语句闭包】&&:null
【声明语句闭包】||:null
【声明语句闭包】<=:null
【声明语句闭包】string:null
【声明语句闭包】for:$
【声明语句闭包】type:【声明语句】 【声明语句闭包】
【声明语句闭包】else:null
【声明语句闭包】id:$
【声明语句闭包】[:null
【声明语句闭包】]:null
【声明语句闭包】if:$
【声明语句闭包】digit:null
【声明语句闭包】==:null
【声明语句闭包】++:null
【声明语句闭包】--:null
【声明语句闭包】void:null
【声明语句闭包】$:null
【声明语句闭包】%:null
【声明语句闭包】(:null
【声明语句闭包】):null
【声明语句闭包】*:null
【声明语句闭包】+:null
【声明语句闭包】,:null
【声明语句闭包】-:null
【声明语句闭包】/:null
【声明语句闭包】{:null
【声明语句闭包】describe:【声明语句】 【声明语句闭包】
【声明语句闭包】;:null
【声明语句闭包】<:null
【声明语句闭包】!=:null
【声明语句闭包】}:$
【声明语句闭包】=:null
【声明语句闭包】>:null
【声明语句闭包】return:$
【声明语句闭包】>=:null
【声明语句闭包】#:null
【赋值或函数调用】&&:null
【赋值或函数调用】||:null
【赋值或函数调用】<=:null
【赋值或函数调用】string:null
【赋值或函数调用】for:null
【赋值或函数调用】type:null
【赋值或函数调用】else:null
【赋值或函数调用】id:null
【赋值或函数调用】[:null
【赋值或函数调用】]:null
【赋值或函数调用】if:null
【赋值或函数调用】digit:null
【赋值或函数调用】==:null
【赋值或函数调用】++:null
【赋值或函数调用】--:null
【赋值或函数调用】void:null
【赋值或函数调用】$:null
【赋值或函数调用】%:null
【赋值或函数调用】(:( 【参数列表】 ) ;
【赋值或函数调用】):null
【赋值或函数调用】*:null
【赋值或函数调用】+:null
【赋值或函数调用】,:null
【赋值或函数调用】-:null
【赋值或函数调用】/:null
【赋值或函数调用】{:null
【赋值或函数调用】describe:null
【赋值或函数调用】;:null
【赋值或函数调用】<:null
【赋值或函数调用】!=:null
【赋值或函数调用】}:null
【赋值或函数调用】=:= 【右值】 ;
【赋值或函数调用】>:null
【赋值或函数调用】return:null
【赋值或函数调用】>=:null
【赋值或函数调用】#:null
【取地址】&&:null
【取地址】||:null
【取地址】<=:null
【取地址】string:null
【取地址】for:null
【取地址】type:null
【取地址】else:null
【取地址】id:【星号闭包】
【取地址】[:null
【取地址】]:null
【取地址】if:null
【取地址】digit:null
【取地址】==:null
【取地址】++:null
【取地址】--:null
【取地址】void:null
【取地址】$:null
【取地址】%:null
【取地址】(:null
【取地址】):null
【取地址】*:【星号闭包】
【取地址】+:null
【取地址】,:null
【取地址】-:null
【取地址】/:null
【取地址】{:null
【取地址】describe:null
【取地址】;:null
【取地址】<:null
【取地址】!=:null
【取地址】}:null
【取地址】=:null
【取地址】>:null
【取地址】return:null
【取地址】>=:null
【取地址】#:null
【参数】&&:null
【参数】||:null
【参数】<=:null
【参数】string:【字符串】
【参数】for:null
【参数】type:null
【参数】else:null
【参数】id:【标志符】
【参数】[:null
【参数】]:null
【参数】if:null
【参数】digit:【数字】
【参数】==:null
【参数】++:null
【参数】--:null
【参数】void:null
【参数】$:null
【参数】%:null
【参数】(:null
【参数】):null
【参数】*:null
【参数】+:null
【参数】,:null
【参数】-:null
【参数】/:null
【参数】{:null
【参数】describe:null
【参数】;:null
【参数】<:null
【参数】!=:null
【参数】}:null
【参数】=:null
【参数】>:null
【参数】return:null
【参数】>=:null
【参数】#:null
【变量或函数调用】&&:null
【变量或函数调用】||:null
【变量或函数调用】<=:null
【变量或函数调用】string:null
【变量或函数调用】for:null
【变量或函数调用】type:null
【变量或函数调用】else:null
【变量或函数调用】id:【变量】 【函数调用后缀】
【变量或函数调用】[:null
【变量或函数调用】]:null
【变量或函数调用】if:null
【变量或函数调用】digit:null
【变量或函数调用】==:null
【变量或函数调用】++:null
【变量或函数调用】--:null
【变量或函数调用】void:null
【变量或函数调用】$:null
【变量或函数调用】%:null
【变量或函数调用】(:null
【变量或函数调用】):null
【变量或函数调用】*:null
【变量或函数调用】+:null
【变量或函数调用】,:null
【变量或函数调用】-:null
【变量或函数调用】/:null
【变量或函数调用】{:null
【变量或函数调用】describe:null
【变量或函数调用】;:null
【变量或函数调用】<:null
【变量或函数调用】!=:null
【变量或函数调用】}:null
【变量或函数调用】=:null
【变量或函数调用】>:null
【变量或函数调用】return:null
【变量或函数调用】>=:null
【变量或函数调用】#:null
【变量】&&:null
【变量】||:null
【变量】<=:null
【变量】string:null
【变量】for:null
【变量】type:null
【变量】else:null
【变量】id:【标志符】 【数组下标】
【变量】[:null
【变量】]:null
【变量】if:null
【变量】digit:null
【变量】==:null
【变量】++:null
【变量】--:null
【变量】void:null
【变量】$:null
【变量】%:null
【变量】(:null
【变量】):null
【变量】*:null
【变量】+:null
【变量】,:null
【变量】-:null
【变量】/:null
【变量】{:null
【变量】describe:null
【变量】;:null
【变量】<:null
【变量】!=:null
【变量】}:null
【变量】=:null
【变量】>:null
【变量】return:null
【变量】>=:null
【变量】#:null
【函数返回】&&:null
【函数返回】||:null
【函数返回】<=:null
【函数返回】string:null
【函数返回】for:null
【函数返回】type:null
【函数返回】else:null
【函数返回】id:null
【函数返回】[:null
【函数返回】]:null
【函数返回】if:null
【函数返回】digit:null
【函数返回】==:null
【函数返回】++:null
【函数返回】--:null
【函数返回】void:null
【函数返回】$:null
【函数返回】%:null
【函数返回】(:null
【函数返回】):null
【函数返回】*:null
【函数返回】+:null
【函数返回】,:null
【函数返回】-:null
【函数返回】/:null
【函数返回】{:null
【函数返回】describe:null
【函数返回】;:null
【函数返回】<:null
【函数返回】!=:null
【函数返回】}:null
【函数返回】=:null
【函数返回】>:null
【函数返回】return:return 【因式】 ;
【函数返回】>=:null
【函数返回】#:null
【赋初值】&&:null
【赋初值】||:null
【赋初值】<=:null
【赋初值】string:null
【赋初值】for:null
【赋初值】type:null
【赋初值】else:null
【赋初值】id:null
【赋初值】[:null
【赋初值】]:null
【赋初值】if:null
【赋初值】digit:null
【赋初值】==:null
【赋初值】++:null
【赋初值】--:null
【赋初值】void:null
【赋初值】$:null
【赋初值】%:null
【赋初值】(:null
【赋初值】):$
【赋初值】*:null
【赋初值】+:null
【赋初值】,:$
【赋初值】-:null
【赋初值】/:null
【赋初值】{:null
【赋初值】describe:null
【赋初值】;:$
【赋初值】<:null
【赋初值】!=:null
【赋初值】}:null
【赋初值】=:= 【右值】
【赋初值】>:null
【赋初值】return:null
【赋初值】>=:null
【赋初值】#:null
【高级逻辑运算符】&&:&&
【高级逻辑运算符】||:||
【高级逻辑运算符】<=:null
【高级逻辑运算符】string:null
【高级逻辑运算符】for:null
【高级逻辑运算符】type:null
【高级逻辑运算符】else:null
【高级逻辑运算符】id:null
【高级逻辑运算符】[:null
【高级逻辑运算符】]:null
【高级逻辑运算符】if:null
【高级逻辑运算符】digit:null
【高级逻辑运算符】==:null
【高级逻辑运算符】++:null
【高级逻辑运算符】--:null
【高级逻辑运算符】void:null
【高级逻辑运算符】$:null
【高级逻辑运算符】%:null
【高级逻辑运算符】(:null
【高级逻辑运算符】):null
【高级逻辑运算符】*:null
【高级逻辑运算符】+:null
【高级逻辑运算符】,:null
【高级逻辑运算符】-:null
【高级逻辑运算符】/:null
【高级逻辑运算符】{:null
【高级逻辑运算符】describe:null
【高级逻辑运算符】;:null
【高级逻辑运算符】<:null
【高级逻辑运算符】!=:null
【高级逻辑运算符】}:null
【高级逻辑运算符】=:null
【高级逻辑运算符】>:null
【高级逻辑运算符】return:null
【高级逻辑运算符】>=:null
【高级逻辑运算符】#:null
【参数声明】&&:null
【参数声明】||:null
【参数声明】<=:null
【参数声明】string:null
【参数声明】for:null
【参数声明】type:【声明】 【声明闭包】
【参数声明】else:null
【参数声明】id:null
【参数声明】[:null
【参数声明】]:null
【参数声明】if:null
【参数声明】digit:null
【参数声明】==:null
【参数声明】++:null
【参数声明】--:null
【参数声明】void:void
【参数声明】$:null
【参数声明】%:null
【参数声明】(:null
【参数声明】):$
【参数声明】*:null
【参数声明】+:null
【参数声明】,:null
【参数声明】-:null
【参数声明】/:null
【参数声明】{:null
【参数声明】describe:【声明】 【声明闭包】
【参数声明】;:null
【参数声明】<:null
【参数声明】!=:null
【参数声明】}:null
【参数声明】=:null
【参数声明】>:null
【参数声明】return:null
【参数声明】>=:null
【参数声明】#:null
【参数列表】&&:null
【参数列表】||:null
【参数列表】<=:null
【参数列表】string:【参数】 【参数闭包】
【参数列表】for:null
【参数列表】type:null
【参数列表】else:null
【参数列表】id:【参数】 【参数闭包】
【参数列表】[:null
【参数列表】]:null
【参数列表】if:null
【参数列表】digit:【参数】 【参数闭包】
【参数列表】==:null
【参数列表】++:null
【参数列表】--:null
【参数列表】void:null
【参数列表】$:null
【参数列表】%:null
【参数列表】(:null
【参数列表】):null
【参数列表】*:null
【参数列表】+:null
【参数列表】,:null
【参数列表】-:null
【参数列表】/:null
【参数列表】{:null
【参数列表】describe:null
【参数列表】;:null
【参数列表】<:null
【参数列表】!=:null
【参数列表】}:null
【参数列表】=:null
【参数列表】>:null
【参数列表】return:null
【参数列表】>=:null
【参数列表】#:null
【多重逻辑表达式递归】&&:【高级逻辑运算符】 【逻辑表达式递归】
【多重逻辑表达式递归】||:【高级逻辑运算符】 【逻辑表达式递归】
【多重逻辑表达式递归】<=:null
【多重逻辑表达式递归】string:null
【多重逻辑表达式递归】for:null
【多重逻辑表达式递归】type:null
【多重逻辑表达式递归】else:null
【多重逻辑表达式递归】id:null
【多重逻辑表达式递归】[:null
【多重逻辑表达式递归】]:null
【多重逻辑表达式递归】if:null
【多重逻辑表达式递归】digit:null
【多重逻辑表达式递归】==:null
【多重逻辑表达式递归】++:null
【多重逻辑表达式递归】--:null
【多重逻辑表达式递归】void:null
【多重逻辑表达式递归】$:null
【多重逻辑表达式递归】%:null
【多重逻辑表达式递归】(:null
【多重逻辑表达式递归】):$
【多重逻辑表达式递归】*:null
【多重逻辑表达式递归】+:null
【多重逻辑表达式递归】,:null
【多重逻辑表达式递归】-:null
【多重逻辑表达式递归】/:null
【多重逻辑表达式递归】{:null
【多重逻辑表达式递归】describe:null
【多重逻辑表达式递归】;:null
【多重逻辑表达式递归】<:null
【多重逻辑表达式递归】!=:null
【多重逻辑表达式递归】}:null
【多重逻辑表达式递归】=:null
【多重逻辑表达式递归】>:null
【多重逻辑表达式递归】return:null
【多重逻辑表达式递归】>=:null
【多重逻辑表达式递归】#:null
【函数调用后缀】&&:$
【函数调用后缀】||:$
【函数调用后缀】<=:$
【函数调用后缀】string:null
【函数调用后缀】for:null
【函数调用后缀】type:null
【函数调用后缀】else:null
【函数调用后缀】id:null
【函数调用后缀】[:null
【函数调用后缀】]:$
【函数调用后缀】if:null
【函数调用后缀】digit:null
【函数调用后缀】==:$
【函数调用后缀】++:null
【函数调用后缀】--:null
【函数调用后缀】void:null
【函数调用后缀】$:null
【函数调用后缀】%:$
【函数调用后缀】(:( 【参数列表】 )
【函数调用后缀】):$
【函数调用后缀】*:$
【函数调用后缀】+:$
【函数调用后缀】,:$
【函数调用后缀】-:$
【函数调用后缀】/:$
【函数调用后缀】{:null
【函数调用后缀】describe:null
【函数调用后缀】;:$
【函数调用后缀】<:$
【函数调用后缀】!=:$
【函数调用后缀】}:null
【函数调用后缀】=:null
【函数调用后缀】>:$
【函数调用后缀】return:null
【函数调用后缀】>=:$
【函数调用后缀】#:null
【函数块闭包】&&:null
【函数块闭包】||:null
【函数块闭包】<=:null
【函数块闭包】string:null
【函数块闭包】for:【for循环】 【函数块闭包】
【函数块闭包】type:null
【函数块闭包】else:null
【函数块闭包】id:【赋值函数】 【函数块闭包】
【函数块闭包】[:null
【函数块闭包】]:null
【函数块闭包】if:【条件语句】 【函数块闭包】
【函数块闭包】digit:null
【函数块闭包】==:null
【函数块闭包】++:null
【函数块闭包】--:null
【函数块闭包】void:null
【函数块闭包】$:null
【函数块闭包】%:null
【函数块闭包】(:null
【函数块闭包】):null
【函数块闭包】*:null
【函数块闭包】+:null
【函数块闭包】,:null
【函数块闭包】-:null
【函数块闭包】/:null
【函数块闭包】{:null
【函数块闭包】describe:null
【函数块闭包】;:null
【函数块闭包】<:null
【函数块闭包】!=:null
【函数块闭包】}:$
【函数块闭包】=:null
【函数块闭包】>:null
【函数块闭包】return:【函数返回】 【函数块闭包】
【函数块闭包】>=:null
【函数块闭包】#:null
【标志符】&&:null
【标志符】||:null
【标志符】<=:null
【标志符】string:null
【标志符】for:null
【标志符】type:null
【标志符】else:null
【标志符】id:id
【标志符】[:null
【标志符】]:null
【标志符】if:null
【标志符】digit:null
【标志符】==:null
【标志符】++:null
【标志符】--:null
【标志符】void:null
【标志符】$:null
【标志符】%:null
【标志符】(:null
【标志符】):null
【标志符】*:null
【标志符】+:null
【标志符】,:null
【标志符】-:null
【标志符】/:null
【标志符】{:null
【标志符】describe:null
【标志符】;:null
【标志符】<:null
【标志符】!=:null
【标志符】}:null
【标志符】=:null
【标志符】>:null
【标志符】return:null
【标志符】>=:null
【标志符】#:null
【多个数据】&&:null
【多个数据】||:null
【多个数据】<=:null
【多个数据】string:null
【多个数据】for:null
【多个数据】type:null
【多个数据】else:null
【多个数据】id:null
【多个数据】[:null
【多个数据】]:null
【多个数据】if:null
【多个数据】digit:【数字】 【数字闭包】
【多个数据】==:null
【多个数据】++:null
【多个数据】--:null
【多个数据】void:null
【多个数据】$:null
【多个数据】%:null
【多个数据】(:null
【多个数据】):null
【多个数据】*:null
【多个数据】+:null
【多个数据】,:null
【多个数据】-:null
【多个数据】/:null
【多个数据】{:null
【多个数据】describe:null
【多个数据】;:null
【多个数据】<:null
【多个数据】!=:null
【多个数据】}:null
【多个数据】=:null
【多个数据】>:null
【多个数据】return:null
【多个数据】>=:null
【多个数据】#:null
【右值】&&:null
【右值】||:null
【右值】<=:null
【右值】string:null
【右值】for:null
【右值】type:null
【右值】else:null
【右值】id:【表达式】
【右值】[:null
【右值】]:null
【右值】if:null
【右值】digit:【表达式】
【右值】==:null
【右值】++:null
【右值】--:null
【右值】void:null
【右值】$:null
【右值】%:null
【右值】(:【表达式】
【右值】):null
【右值】*:null
【右值】+:null
【右值】,:null
【右值】-:null
【右值】/:null
【右值】{:{ 【多个数据】 }
【右值】describe:null
【右值】;:null
【右值】<:null
【右值】!=:null
【右值】}:null
【右值】=:null
【右值】>:null
【右值】return:null
【右值】>=:null
【右值】#:null
【赋值函数】&&:null
【赋值函数】||:null
【赋值函数】<=:null
【赋值函数】string:null
【赋值函数】for:null
【赋值函数】type:null
【赋值函数】else:null
【赋值函数】id:【变量】 【赋值或函数调用】
【赋值函数】[:null
【赋值函数】]:null
【赋值函数】if:null
【赋值函数】digit:null
【赋值函数】==:null
【赋值函数】++:null
【赋值函数】--:null
【赋值函数】void:null
【赋值函数】$:null
【赋值函数】%:null
【赋值函数】(:null
【赋值函数】):null
【赋值函数】*:null
【赋值函数】+:null
【赋值函数】,:null
【赋值函数】-:null
【赋值函数】/:null
【赋值函数】{:null
【赋值函数】describe:null
【赋值函数】;:null
【赋值函数】<:null
【赋值函数】!=:null
【赋值函数】}:null
【赋值函数】=:null
【赋值函数】>:null
【赋值函数】return:null
【赋值函数】>=:null
【赋值函数】#:null
【函数块】&&:null
【函数块】||:null
【函数块】<=:null
【函数块】string:null
【函数块】for:【声明语句闭包】 【函数块闭包】
【函数块】type:【声明语句闭包】 【函数块闭包】
【函数块】else:null
【函数块】id:【声明语句闭包】 【函数块闭包】
【函数块】[:null
【函数块】]:null
【函数块】if:【声明语句闭包】 【函数块闭包】
【函数块】digit:null
【函数块】==:null
【函数块】++:null
【函数块】--:null
【函数块】void:null
【函数块】$:null
【函数块】%:null
【函数块】(:null
【函数块】):null
【函数块】*:null
【函数块】+:null
【函数块】,:null
【函数块】-:null
【函数块】/:null
【函数块】{:null
【函数块】describe:【声明语句闭包】 【函数块闭包】
【函数块】;:null
【函数块】<:null
【函数块】!=:null
【函数块】}:【声明语句闭包】 【函数块闭包】
【函数块】=:null
【函数块】>:null
【函数块】return:【声明语句闭包】 【函数块闭包】
【函数块】>=:null
【函数块】#:null
【因式递归】&&:$
【因式递归】||:$
【因式递归】<=:$
【因式递归】string:null
【因式递归】for:null
【因式递归】type:null
【因式递归】else:null
【因式递归】id:null
【因式递归】[:null
【因式递归】]:null
【因式递归】if:null
【因式递归】digit:null
【因式递归】==:$
【因式递归】++:null
【因式递归】--:null
【因式递归】void:null
【因式递归】$:null
【因式递归】%:% 【因式】 【因式递归】
【因式递归】(:null
【因式递归】):$
【因式递归】*:* 【因式】 【因式递归】
【因式递归】+:$
【因式递归】,:$
【因式递归】-:$
【因式递归】/:/ 【因式】 【因式递归】
【因式递归】{:null
【因式递归】describe:null
【因式递归】;:$
【因式递归】<:$
【因式递归】!=:$
【因式递归】}:null
【因式递归】=:null
【因式递归】>:$
【因式递归】return:null
【因式递归】>=:$
【因式递归】#:null
【星号闭包】&&:null
【星号闭包】||:null
【星号闭包】<=:null
【星号闭包】string:null
【星号闭包】for:null
【星号闭包】type:null
【星号闭包】else:null
【星号闭包】id:$
【星号闭包】[:null
【星号闭包】]:null
【星号闭包】if:null
【星号闭包】digit:null
【星号闭包】==:null
【星号闭包】++:null
【星号闭包】--:null
【星号闭包】void:null
【星号闭包】$:null
【星号闭包】%:null
【星号闭包】(:null
【星号闭包】):null
【星号闭包】*:【星号】 【星号闭包】
【星号闭包】+:null
【星号闭包】,:null
【星号闭包】-:null
【星号闭包】/:null
【星号闭包】{:null
【星号闭包】describe:null
【星号闭包】;:null
【星号闭包】<:null
【星号闭包】!=:null
【星号闭包】}:null
【星号闭包】=:null
【星号闭包】>:null
【星号闭包】return:null
【星号闭包】>=:null
【星号闭包】#:null
【否则语句】&&:null
【否则语句】||:null
【否则语句】<=:null
【否则语句】string:null
【否则语句】for:$
【否则语句】type:null
【否则语句】else:else { 【函数块】 }
【否则语句】id:$
【否则语句】[:null
【否则语句】]:null
【否则语句】if:$
【否则语句】digit:null
【否则语句】==:null
【否则语句】++:null
【否则语句】--:null
【否则语句】void:null
【否则语句】$:null
【否则语句】%:null
【否则语句】(:null
【否则语句】):null
【否则语句】*:null
【否则语句】+:null
【否则语句】,:null
【否则语句】-:null
【否则语句】/:null
【否则语句】{:null
【否则语句】describe:null
【否则语句】;:null
【否则语句】<:null
【否则语句】!=:null
【否则语句】}:$
【否则语句】=:null
【否则语句】>:null
【否则语句】return:$
【否则语句】>=:null
【否则语句】#:null
【多重逻辑表达式】&&:null
【多重逻辑表达式】||:null
【多重逻辑表达式】<=:null
【多重逻辑表达式】string:null
【多重逻辑表达式】for:null
【多重逻辑表达式】type:null
【多重逻辑表达式】else:null
【多重逻辑表达式】id:【逻辑表达式】 【多重逻辑表达式递归】
【多重逻辑表达式】[:null
【多重逻辑表达式】]:null
【多重逻辑表达式】if:null
【多重逻辑表达式】digit:【逻辑表达式】 【多重逻辑表达式递归】
【多重逻辑表达式】==:null
【多重逻辑表达式】++:null
【多重逻辑表达式】--:null
【多重逻辑表达式】void:null
【多重逻辑表达式】$:null
【多重逻辑表达式】%:null
【多重逻辑表达式】(:【逻辑表达式】 【多重逻辑表达式递归】
【多重逻辑表达式】):null
【多重逻辑表达式】*:null
【多重逻辑表达式】+:null
【多重逻辑表达式】,:null
【多重逻辑表达式】-:null
【多重逻辑表达式】/:null
【多重逻辑表达式】{:null
【多重逻辑表达式】describe:null
【多重逻辑表达式】;:null
【多重逻辑表达式】<:null
【多重逻辑表达式】!=:null
【多重逻辑表达式】}:null
【多重逻辑表达式】=:null
【多重逻辑表达式】>:null
【多重逻辑表达式】return:null
【多重逻辑表达式】>=:null
【多重逻辑表达式】#:null
【数组下标】&&:$
【数组下标】||:$
【数组下标】<=:$
【数组下标】string:null
【数组下标】for:null
【数组下标】type:null
【数组下标】else:null
【数组下标】id:null
【数组下标】[:[ 【因式】 ]
【数组下标】]:$
【数组下标】if:null
【数组下标】digit:null
【数组下标】==:$
【数组下标】++:$
【数组下标】--:$
【数组下标】void:null
【数组下标】$:null
【数组下标】%:$
【数组下标】(:$
【数组下标】):$
【数组下标】*:$
【数组下标】+:$
【数组下标】,:$
【数组下标】-:$
【数组下标】/:$
【数组下标】{:null
【数组下标】describe:null
【数组下标】;:$
【数组下标】<:$
【数组下标】!=:$
【数组下标】}:null
【数组下标】=:$
【数组下标】>:$
【数组下标】return:null
【数组下标】>=:$
【数组下标】#:null
语法不是LL(1)!
1	# 【函数定义】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id * type ( id void 	【单个函数闭包】
2	# 【单个函数闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id * type ( id void 	【单个函数】 【单个函数闭包】
3	# 【单个函数闭包】 【单个函数】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id * type ( id void 	void 【变量】 ( 【参数声明】 ) { 【函数块】 }
4	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【变量】 void 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id * type ( id void 	void匹配
5	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【变量】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id * type ( id 	【标志符】 【数组下标】
6	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id * type ( id 	id
7	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id * type ( id 	id匹配
8	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【数组下标】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id * type ( 	$
9	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id * type ( 	(匹配
10	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id * type 	【声明】 【声明闭包】
11	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【声明】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id * type 	【修饰词闭包】 【类型】 【变量】 【赋初值】
12	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 【类型】 【修饰词闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id * type 	$
13	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 【类型】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id * type 	type 【取地址】
14	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 【取地址】 type 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id * type 	type匹配
15	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 【取地址】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id * 	【星号闭包】
16	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 【星号闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id * 	【星号】 【星号闭包】
17	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 【星号闭包】 【星号】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id * 	*
18	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 【星号闭包】 * 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id * 	*匹配
19	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 【星号闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id 	$
20	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id 	【标志符】 【数组下标】
21	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id 	id
22	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) id 	id匹配
23	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【数组下标】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) 	$
24	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) 	$
25	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) 	$
26	# 【单个函数闭包】 } 【函数块】 { ) 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { ) 	)匹配
27	# 【单个函数闭包】 } 【函数块】 { 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id { 	{匹配
28	# 【单个函数闭包】 } 【函数块】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id 	【声明语句闭包】 【函数块闭包】
29	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id 	$
30	# 【单个函数闭包】 } 【函数块闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id 	【赋值函数】 【函数块闭包】
31	# 【单个函数闭包】 } 【函数块闭包】 【赋值函数】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id 	【变量】 【赋值或函数调用】
32	# 【单个函数闭包】 } 【函数块闭包】 【赋值或函数调用】 【变量】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id 	【标志符】 【数组下标】
33	# 【单个函数闭包】 } 【函数块闭包】 【赋值或函数调用】 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id 	id
34	# 【单个函数闭包】 } 【函数块闭包】 【赋值或函数调用】 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( id 	id匹配
35	# 【单个函数闭包】 } 【函数块闭包】 【赋值或函数调用】 【数组下标】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( 	$
36	# 【单个函数闭包】 } 【函数块闭包】 【赋值或函数调用】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( 	( 【参数列表】 ) ;
37	# 【单个函数闭包】 } 【函数块闭包】 ; ) 【参数列表】 ( 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string ( 	(匹配
38	# 【单个函数闭包】 } 【函数块闭包】 ; ) 【参数列表】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string 	【参数】 【参数闭包】
39	# 【单个函数闭包】 } 【函数块闭包】 ; ) 【参数闭包】 【参数】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string 	【字符串】
40	# 【单个函数闭包】 } 【函数块闭包】 ; ) 【参数闭包】 【字符串】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string 	string
41	# 【单个函数闭包】 } 【函数块闭包】 ; ) 【参数闭包】 string 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) string 	string匹配
42	# 【单个函数闭包】 } 【函数块闭包】 ; ) 【参数闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) 	$
43	# 【单个函数闭包】 } 【函数块闭包】 ; ) 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; ) 	)匹配
44	# 【单个函数闭包】 } 【函数块闭包】 ; 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } ; 	;匹配
45	# 【单个函数闭包】 } 【函数块闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } 	$
46	# 【单个函数闭包】 } 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void } 	}匹配
47	# 【单个函数闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void 	【单个函数】 【单个函数闭包】
48	# 【单个函数闭包】 【单个函数】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void 	void 【变量】 ( 【参数声明】 ) { 【函数块】 }
49	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【变量】 void 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id void 	void匹配
50	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【变量】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id 	【标志符】 【数组下标】
51	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id 	id
52	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( id 	id匹配
53	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【数组下标】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( 	$
54	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type ( 	(匹配
55	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type 	【声明】 【声明闭包】
56	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【声明】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type 	【修饰词闭包】 【类型】 【变量】 【赋初值】
57	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 【类型】 【修饰词闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type 	$
58	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 【类型】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type 	type 【取地址】
59	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 【取地址】 type 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * type 	type匹配
60	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 【取地址】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * 	【星号闭包】
61	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 【星号闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * 	【星号】 【星号闭包】
62	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 【星号闭包】 【星号】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * 	*
63	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 【星号闭包】 * 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id * 	*匹配
64	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 【星号闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id 	$
65	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id 	【标志符】 【数组下标】
66	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id 	id
67	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) id 	id匹配
68	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【数组下标】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) 	$
69	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) 	$
70	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) 	$
71	# 【单个函数闭包】 } 【函数块】 { ) 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { ) 	)匹配
72	# 【单个函数闭包】 } 【函数块】 { 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id { 	{匹配
73	# 【单个函数闭包】 } 【函数块】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id 	【声明语句闭包】 【函数块闭包】
74	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id 	$
75	# 【单个函数闭包】 } 【函数块闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id 	【赋值函数】 【函数块闭包】
76	# 【单个函数闭包】 } 【函数块闭包】 【赋值函数】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id 	【变量】 【赋值或函数调用】
77	# 【单个函数闭包】 } 【函数块闭包】 【赋值或函数调用】 【变量】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id 	【标志符】 【数组下标】
78	# 【单个函数闭包】 } 【函数块闭包】 【赋值或函数调用】 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id 	id
79	# 【单个函数闭包】 } 【函数块闭包】 【赋值或函数调用】 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( id 	id匹配
80	# 【单个函数闭包】 } 【函数块闭包】 【赋值或函数调用】 【数组下标】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( 	$
81	# 【单个函数闭包】 } 【函数块闭包】 【赋值或函数调用】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( 	( 【参数列表】 ) ;
82	# 【单个函数闭包】 } 【函数块闭包】 ; ) 【参数列表】 ( 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string ( 	(匹配
83	# 【单个函数闭包】 } 【函数块闭包】 ; ) 【参数列表】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string 	【参数】 【参数闭包】
84	# 【单个函数闭包】 } 【函数块闭包】 ; ) 【参数闭包】 【参数】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string 	【字符串】
85	# 【单个函数闭包】 } 【函数块闭包】 ; ) 【参数闭包】 【字符串】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string 	string
86	# 【单个函数闭包】 } 【函数块闭包】 ; ) 【参数闭包】 string 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) string 	string匹配
87	# 【单个函数闭包】 } 【函数块闭包】 ; ) 【参数闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) 	$
88	# 【单个函数闭包】 } 【函数块闭包】 ; ) 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; ) 	)匹配
89	# 【单个函数闭包】 } 【函数块闭包】 ; 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } ; 	;匹配
90	# 【单个函数闭包】 } 【函数块闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } 	$
91	# 【单个函数闭包】 } 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type } 	}匹配
92	# 【单个函数闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type 	【单个函数】 【单个函数闭包】
93	# 【单个函数闭包】 【单个函数】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type 	【修饰词闭包】 【类型】 【变量】 ( 【参数声明】 ) { 【函数块】 }
94	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【变量】 【类型】 【修饰词闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type 	$
95	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【变量】 【类型】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type 	type 【取地址】
96	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【变量】 【取地址】 type 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id type 	type匹配
97	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【变量】 【取地址】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id 	【星号闭包】
98	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【变量】 【星号闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id 	$
99	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【变量】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id 	【标志符】 【数组下标】
100	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id 	id
101	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( id 	id匹配
102	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【数组下标】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( 	$
103	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type ( 	(匹配
104	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type 	【声明】 【声明闭包】
105	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【声明】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type 	【修饰词闭包】 【类型】 【变量】 【赋初值】
106	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 【类型】 【修饰词闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type 	$
107	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 【类型】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type 	type 【取地址】
108	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 【取地址】 type 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id type 	type匹配
109	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 【取地址】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id 	【星号闭包】
110	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 【星号闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id 	$
111	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【变量】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id 	【标志符】 【数组下标】
112	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id 	id
113	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) id 	id匹配
114	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 【数组下标】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) 	$
115	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 【赋初值】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) 	$
116	# 【单个函数闭包】 } 【函数块】 { ) 【声明闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) 	$
117	# 【单个函数闭包】 } 【函数块】 { ) 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { ) 	)匹配
118	# 【单个函数闭包】 } 【函数块】 { 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type { 	{匹配
119	# 【单个函数闭包】 } 【函数块】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type 	【声明语句闭包】 【函数块闭包】
120	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type 	【声明语句】 【声明语句闭包】
121	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 【声明语句】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type 	【声明】 ;
122	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【声明】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type 	【修饰词闭包】 【类型】 【变量】 【赋初值】
123	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【赋初值】 【变量】 【类型】 【修饰词闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type 	$
124	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【赋初值】 【变量】 【类型】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type 	type 【取地址】
125	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【赋初值】 【变量】 【取地址】 type 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id type 	type匹配
126	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【赋初值】 【变量】 【取地址】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id 	【星号闭包】
127	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【赋初值】 【变量】 【星号闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id 	$
128	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【赋初值】 【变量】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id 	【标志符】 【数组下标】
129	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【赋初值】 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id 	id
130	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【赋初值】 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; id 	id匹配
131	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【赋初值】 【数组下标】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; 	$
132	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【赋初值】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; 	$
133	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for ; 	;匹配
134	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for 	$
135	# 【单个函数闭包】 } 【函数块闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for 	【for循环】 【函数块闭包】
136	# 【单个函数闭包】 } 【函数块闭包】 【for循环】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for 	for ( 【赋值函数】 【逻辑表达式】 ; 【后缀表达式】 ) { 【函数块】 }
137	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 【赋值函数】 ( for 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( for 	for匹配
138	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 【赋值函数】 ( 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id ( 	(匹配
139	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 【赋值函数】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id 	【变量】 【赋值或函数调用】
140	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 【赋值或函数调用】 【变量】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id 	【标志符】 【数组下标】
141	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 【赋值或函数调用】 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id 	id
142	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 【赋值或函数调用】 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = id 	id匹配
143	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 【赋值或函数调用】 【数组下标】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = 	$
144	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 【赋值或函数调用】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = 	= 【右值】 ;
145	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 ; 【右值】 = 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit = 	=匹配
146	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 ; 【右值】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit 	【表达式】
147	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 ; 【表达式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit 	【因子】 【项】
148	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 ; 【项】 【因子】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit 	【因式】 【因式递归】
149	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 ; 【项】 【因式递归】 【因式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit 	【数字】
150	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 ; 【项】 【因式递归】 【数字】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit 	digit
151	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 ; 【项】 【因式递归】 digit 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; digit 	digit匹配
152	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 ; 【项】 【因式递归】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; 	$
153	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 ; 【项】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; 	$
154	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 ; 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id ; 	;匹配
155	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id 	【表达式】 【逻辑表达式后缀】
156	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【表达式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id 	【因子】 【项】
157	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【项】 【因子】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id 	【因式】 【因式递归】
158	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【项】 【因式递归】 【因式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id 	【变量或函数调用】
159	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【项】 【因式递归】 【变量或函数调用】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id 	【变量】 【函数调用后缀】
160	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 【变量】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id 	【标志符】 【数组下标】
161	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id 	id
162	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < id 	id匹配
163	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 【数组下标】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < 	$
164	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < 	$
165	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【项】 【因式递归】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < 	$
166	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【项】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < 	$
167	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < 	【逻辑运算符】 【表达式】
168	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【表达式】 【逻辑运算符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < 	<
169	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【表达式】 < 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id < 	<匹配
170	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【表达式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id 	【因子】 【项】
171	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【项】 【因子】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id 	【因式】 【因式递归】
172	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【项】 【因式递归】 【因式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id 	【变量或函数调用】
173	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【项】 【因式递归】 【变量或函数调用】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id 	【变量】 【函数调用后缀】
174	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【项】 【因式递归】 【函数调用后缀】 【变量】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id 	【标志符】 【数组下标】
175	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【项】 【因式递归】 【函数调用后缀】 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id 	id
176	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【项】 【因式递归】 【函数调用后缀】 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; id 	id匹配
177	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【项】 【因式递归】 【函数调用后缀】 【数组下标】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; 	$
178	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【项】 【因式递归】 【函数调用后缀】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; 	$
179	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【项】 【因式递归】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; 	$
180	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【项】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; 	$
181	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id ; 	;匹配
182	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id 	【变量】 【后缀运算符】
183	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀运算符】 【变量】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id 	【标志符】 【数组下标】
184	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀运算符】 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id 	id
185	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀运算符】 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ id 	id匹配
186	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀运算符】 【数组下标】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ 	$
187	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀运算符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ 	++
188	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) ++ 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) ++ 	++匹配
189	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { ) 	)匹配
190	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if { 	{匹配
191	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if 	【声明语句闭包】 【函数块闭包】
192	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【声明语句闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if 	$
193	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if 	【条件语句】 【函数块闭包】
194	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【条件语句】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if 	if ( 【多重逻辑表达式】 ) { 【函数块】 } 【否则语句】
195	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式】 ( if 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( if 	if匹配
196	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式】 ( 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id ( 	(匹配
197	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id 	【逻辑表达式】 【多重逻辑表达式递归】
198	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id 	【表达式】 【逻辑表达式后缀】
199	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【表达式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id 	【因子】 【项】
200	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因子】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id 	【因式】 【因式递归】
201	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【因式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id 	【变量或函数调用】
202	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【变量或函数调用】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id 	【变量】 【函数调用后缀】
203	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 【变量】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id 	【标志符】 【数组下标】
204	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id 	id
205	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % id 	id匹配
206	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 【数组下标】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % 	$
207	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % 	$
208	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % 	% 【因式】 【因式递归】
209	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【因式】 % 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id % 	%匹配
210	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【因式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id 	【变量或函数调用】
211	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【变量或函数调用】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id 	【变量】 【函数调用后缀】
212	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 【变量】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id 	【标志符】 【数组下标】
213	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id 	id
214	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == id 	id匹配
215	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 【数组下标】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == 	$
216	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == 	$
217	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == 	$
218	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == 	$
219	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == 	【逻辑运算符】 【表达式】
220	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【表达式】 【逻辑运算符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == 	==
221	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【表达式】 == 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit == 	==匹配
222	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【表达式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit 	【因子】 【项】
223	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【项】 【因子】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit 	【因式】 【因式递归】
224	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【项】 【因式递归】 【因式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit 	【数字】
225	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【项】 【因式递归】 【数字】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit 	digit
226	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【项】 【因式递归】 digit 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) digit 	digit匹配
227	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【项】 【因式递归】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) 	$
228	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【项】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) 	$
229	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) 	$
230	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { ) 	)匹配
231	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return { 	{匹配
232	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return 	【声明语句闭包】 【函数块闭包】
233	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 【声明语句闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return 	$
234	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return 	【函数返回】 【函数块闭包】
235	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 【函数返回】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return 	return 【因式】 ;
236	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 ; 【因式】 return 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit return 	return匹配
237	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 ; 【因式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit 	【数字】
238	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 ; 【数字】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit 	digit
239	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 ; digit 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; digit 	digit匹配
240	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 ; 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } ; 	;匹配
241	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } 	$
242	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } } 	}匹配
243	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } 	$
244	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } 	$
245	# 【单个函数闭包】 } 【函数块闭包】 } 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return } 	}匹配
246	# 【单个函数闭包】 } 【函数块闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return 	【函数返回】 【函数块闭包】
247	# 【单个函数闭包】 } 【函数块闭包】 【函数返回】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return 	return 【因式】 ;
248	# 【单个函数闭包】 } 【函数块闭包】 ; 【因式】 return 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit return 	return匹配
249	# 【单个函数闭包】 } 【函数块闭包】 ; 【因式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit 	【数字】
250	# 【单个函数闭包】 } 【函数块闭包】 ; 【数字】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit 	digit
251	# 【单个函数闭包】 } 【函数块闭包】 ; digit 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; digit 	digit匹配
252	# 【单个函数闭包】 } 【函数块闭包】 ; 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } ; 	;匹配
253	# 【单个函数闭包】 } 【函数块闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } 	$
254	# 【单个函数闭包】 } 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type } 	}匹配
255	# 【单个函数闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type 	【单个函数】 【单个函数闭包】
256	# 【单个函数闭包】 【单个函数】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type 	【修饰词闭包】 【类型】 【变量】 ( 【参数声明】 ) { 【函数块】 }
257	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【变量】 【类型】 【修饰词闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type 	$
258	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【变量】 【类型】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type 	type 【取地址】
259	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【变量】 【取地址】 type 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id type 	type匹配
260	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【变量】 【取地址】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id 	【星号闭包】
261	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【变量】 【星号闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id 	$
262	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【变量】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id 	【标志符】 【数组下标】
263	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id 	id
264	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( id 	id匹配
265	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 【数组下标】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( 	$
266	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 ( 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void ( 	(匹配
267	# 【单个函数闭包】 } 【函数块】 { ) 【参数声明】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void 	void
268	# 【单个函数闭包】 } 【函数块】 { ) void 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) void 	void匹配
269	# 【单个函数闭包】 } 【函数块】 { ) 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { ) 	)匹配
270	# 【单个函数闭包】 } 【函数块】 { 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type { 	{匹配
271	# 【单个函数闭包】 } 【函数块】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type 	【声明语句闭包】 【函数块闭包】
272	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type 	【声明语句】 【声明语句闭包】
273	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 【声明语句】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type 	【声明】 ;
274	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【声明】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type 	【修饰词闭包】 【类型】 【变量】 【赋初值】
275	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【赋初值】 【变量】 【类型】 【修饰词闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type 	$
276	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【赋初值】 【变量】 【类型】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type 	type 【取地址】
277	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【赋初值】 【变量】 【取地址】 type 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id type 	type匹配
278	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【赋初值】 【变量】 【取地址】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id 	【星号闭包】
279	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【赋初值】 【变量】 【星号闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id 	$
280	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【赋初值】 【变量】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id 	【标志符】 【数组下标】
281	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【赋初值】 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id 	id
282	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【赋初值】 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; id 	id匹配
283	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【赋初值】 【数组下标】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; 	$
284	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 【赋初值】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; 	$
285	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 ; 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for ; 	;匹配
286	# 【单个函数闭包】 } 【函数块闭包】 【声明语句闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for 	$
287	# 【单个函数闭包】 } 【函数块闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for 	【for循环】 【函数块闭包】
288	# 【单个函数闭包】 } 【函数块闭包】 【for循环】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for 	for ( 【赋值函数】 【逻辑表达式】 ; 【后缀表达式】 ) { 【函数块】 }
289	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 【赋值函数】 ( for 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( for 	for匹配
290	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 【赋值函数】 ( 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id ( 	(匹配
291	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 【赋值函数】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id 	【变量】 【赋值或函数调用】
292	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 【赋值或函数调用】 【变量】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id 	【标志符】 【数组下标】
293	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 【赋值或函数调用】 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id 	id
294	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 【赋值或函数调用】 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = id 	id匹配
295	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 【赋值或函数调用】 【数组下标】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = 	$
296	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 【赋值或函数调用】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = 	= 【右值】 ;
297	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 ; 【右值】 = 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit = 	=匹配
298	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 ; 【右值】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit 	【表达式】
299	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 ; 【表达式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit 	【因子】 【项】
300	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 ; 【项】 【因子】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit 	【因式】 【因式递归】
301	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 ; 【项】 【因式递归】 【因式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit 	【数字】
302	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 ; 【项】 【因式递归】 【数字】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit 	digit
303	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 ; 【项】 【因式递归】 digit 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; digit 	digit匹配
304	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 ; 【项】 【因式递归】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; 	$
305	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 ; 【项】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; 	$
306	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 ; 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id ; 	;匹配
307	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id 	【表达式】 【逻辑表达式后缀】
308	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【表达式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id 	【因子】 【项】
309	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【项】 【因子】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id 	【因式】 【因式递归】
310	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【项】 【因式递归】 【因式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id 	【变量或函数调用】
311	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【项】 【因式递归】 【变量或函数调用】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id 	【变量】 【函数调用后缀】
312	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 【变量】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id 	【标志符】 【数组下标】
313	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id 	id
314	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= id 	id匹配
315	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 【数组下标】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= 	$
316	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= 	$
317	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【项】 【因式递归】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= 	$
318	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 【项】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= 	$
319	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【逻辑表达式后缀】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= 	【逻辑运算符】 【表达式】
320	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【表达式】 【逻辑运算符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= 	<=
321	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【表达式】 <= 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit <= 	<=匹配
322	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【表达式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit 	【因子】 【项】
323	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【项】 【因子】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit 	【因式】 【因式递归】
324	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【项】 【因式递归】 【因式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit 	【数字】
325	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【项】 【因式递归】 【数字】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit 	digit
326	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【项】 【因式递归】 digit 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; digit 	digit匹配
327	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【项】 【因式递归】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; 	$
328	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 【项】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; 	$
329	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 ; 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id ; 	;匹配
330	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀表达式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id 	【变量】 【后缀运算符】
331	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀运算符】 【变量】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id 	【标志符】 【数组下标】
332	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀运算符】 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id 	id
333	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀运算符】 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ id 	id匹配
334	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀运算符】 【数组下标】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ 	$
335	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 【后缀运算符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ 	++
336	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) ++ 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) ++ 	++匹配
337	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { ) 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { ) 	)匹配
338	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 { 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if { 	{匹配
339	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if 	【声明语句闭包】 【函数块闭包】
340	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【声明语句闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if 	$
341	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if 	【条件语句】 【函数块闭包】
342	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【条件语句】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if 	if ( 【多重逻辑表达式】 ) { 【函数块】 } 【否则语句】
343	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式】 ( if 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( if 	if匹配
344	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式】 ( 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id ( 	(匹配
345	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id 	【逻辑表达式】 【多重逻辑表达式递归】
346	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id 	【表达式】 【逻辑表达式后缀】
347	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【表达式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id 	【因子】 【项】
348	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因子】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id 	【因式】 【因式递归】
349	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【因式】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id 	【变量或函数调用】
350	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【变量或函数调用】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id 	【变量】 【函数调用后缀】
351	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 【变量】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id 	【标志符】 【数组下标】
352	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id 	id
353	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id ( id 	id匹配
354	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 【数组下标】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( 	$
355	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 【函数调用后缀】 	# } ; digit return } } ; ) id , string ( id { ) ) id ( 	( 【参数列表】 )
356	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 ) 【参数列表】 ( 	# } ; digit return } } ; ) id , string ( id { ) ) id ( 	(匹配
357	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 ) 【参数列表】 	# } ; digit return } } ; ) id , string ( id { ) ) id 	【参数】 【参数闭包】
358	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 ) 【参数闭包】 【参数】 	# } ; digit return } } ; ) id , string ( id { ) ) id 	【标志符】
359	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 ) 【参数闭包】 【标志符】 	# } ; digit return } } ; ) id , string ( id { ) ) id 	id
360	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 ) 【参数闭包】 id 	# } ; digit return } } ; ) id , string ( id { ) ) id 	id匹配
361	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 ) 【参数闭包】 	# } ; digit return } } ; ) id , string ( id { ) ) 	$
362	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 ) 	# } ; digit return } } ; ) id , string ( id { ) ) 	)匹配
363	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 【因式递归】 	# } ; digit return } } ; ) id , string ( id { ) 	$
364	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 【项】 	# } ; digit return } } ; ) id , string ( id { ) 	$
365	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 【逻辑表达式后缀】 	# } ; digit return } } ; ) id , string ( id { ) 	$
366	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 【多重逻辑表达式递归】 	# } ; digit return } } ; ) id , string ( id { ) 	$
367	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { ) 	# } ; digit return } } ; ) id , string ( id { ) 	)匹配
368	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 { 	# } ; digit return } } ; ) id , string ( id { 	{匹配
369	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块】 	# } ; digit return } } ; ) id , string ( id 	【声明语句闭包】 【函数块闭包】
370	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 【声明语句闭包】 	# } ; digit return } } ; ) id , string ( id 	$
371	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 	# } ; digit return } } ; ) id , string ( id 	【赋值函数】 【函数块闭包】
372	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 【赋值函数】 	# } ; digit return } } ; ) id , string ( id 	【变量】 【赋值或函数调用】
373	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 【赋值或函数调用】 【变量】 	# } ; digit return } } ; ) id , string ( id 	【标志符】 【数组下标】
374	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 【赋值或函数调用】 【数组下标】 【标志符】 	# } ; digit return } } ; ) id , string ( id 	id
375	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 【赋值或函数调用】 【数组下标】 id 	# } ; digit return } } ; ) id , string ( id 	id匹配
376	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 【赋值或函数调用】 【数组下标】 	# } ; digit return } } ; ) id , string ( 	$
377	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 【赋值或函数调用】 	# } ; digit return } } ; ) id , string ( 	( 【参数列表】 ) ;
378	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 ; ) 【参数列表】 ( 	# } ; digit return } } ; ) id , string ( 	(匹配
379	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 ; ) 【参数列表】 	# } ; digit return } } ; ) id , string 	【参数】 【参数闭包】
380	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 ; ) 【参数闭包】 【参数】 	# } ; digit return } } ; ) id , string 	【字符串】
381	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 ; ) 【参数闭包】 【字符串】 	# } ; digit return } } ; ) id , string 	string
382	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 ; ) 【参数闭包】 string 	# } ; digit return } } ; ) id , string 	string匹配
383	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 ; ) 【参数闭包】 	# } ; digit return } } ; ) id , 	, 【参数】 【参数闭包】
384	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 ; ) 【参数闭包】 【参数】 , 	# } ; digit return } } ; ) id , 	,匹配
385	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 ; ) 【参数闭包】 【参数】 	# } ; digit return } } ; ) id 	【标志符】
386	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 ; ) 【参数闭包】 【标志符】 	# } ; digit return } } ; ) id 	id
387	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 ; ) 【参数闭包】 id 	# } ; digit return } } ; ) id 	id匹配
388	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 ; ) 【参数闭包】 	# } ; digit return } } ; ) 	$
389	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 ; ) 	# } ; digit return } } ; ) 	)匹配
390	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 ; 	# } ; digit return } } ; 	;匹配
391	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 【函数块闭包】 	# } ; digit return } } 	$
392	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 } 	# } ; digit return } } 	}匹配
393	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 【否则语句】 	# } ; digit return } 	$
394	# 【单个函数闭包】 } 【函数块闭包】 } 【函数块闭包】 	# } ; digit return } 	$
395	# 【单个函数闭包】 } 【函数块闭包】 } 	# } ; digit return } 	}匹配
396	# 【单个函数闭包】 } 【函数块闭包】 	# } ; digit return 	【函数返回】 【函数块闭包】
397	# 【单个函数闭包】 } 【函数块闭包】 【函数返回】 	# } ; digit return 	return 【因式】 ;
398	# 【单个函数闭包】 } 【函数块闭包】 ; 【因式】 return 	# } ; digit return 	return匹配
399	# 【单个函数闭包】 } 【函数块闭包】 ; 【因式】 	# } ; digit 	【数字】
400	# 【单个函数闭包】 } 【函数块闭包】 ; 【数字】 	# } ; digit 	digit
401	# 【单个函数闭包】 } 【函数块闭包】 ; digit 	# } ; digit 	digit匹配
402	# 【单个函数闭包】 } 【函数块闭包】 ; 	# } ; 	;匹配
403	# 【单个函数闭包】 } 【函数块闭包】 	# } 	$
404	# 【单个函数闭包】 } 	# } 	}匹配
405	# 【单个函数闭包】 	# 	$
406	# 	# 	#匹配
匹配成功!



你可能感兴趣的:(小程序作品,数据结构和算法)