算符优先系列之(二)算符优先关系表

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

学过编译原理的菊苣们都知道算符优先文法,作为一个有点深度的分析方法,我们怎么能只止步于理论呢,实践才是王道哦。

已知文法G[S]的表达式,求算符优先关系表。因为某些特殊的原因,我们在这规定一下输入输出格式。

已知文法G[S]为:

S`->#S#(拓展文法,不是题目给出的文法)

S->a|@|(T)

T->T,S|S

表达式算符优先关系表中从左到右(从上到下)的顺序为从表达式文法中从左到右从上到下的顺序即为

a @ ( ) , #  (我们默认把#放在最右边或者最下边)

Input

多组输入。第一行输入一个n,表示表达式的个数,接下来n行每行一个表达式(记得还有一个要在自己程序中添加的拓展文法哦)

Output

根据上述的格式,输出算符优先关系表(输出的格式用水平制表符\t)

Sample Input

2
S->a|@|(T)
T->T,S|S

Sample Output

	a	@	(	)	,	#
a	 	 	 	>	>	>	
@	 	 	 	>	>	>	
(	<	<	<	=	<	 	
)	 	 	 	>	>	>	
,	<	<	<	>	>	 	
#	<	<	<	 	 	=	

Hint


Source